45
3) доступ к данным осуществляется локально. Исключение из правила –
выполнение запроса, не учитывающего механизма распределения данных; в этом
случае каждая задача получает данных от других узлов кластера через сеть; 4)
каждая задача читает данные последовательно. Фильтрация осуществляется в
памяти.
In-Memory базы данных.
С точки зрения реализуемых процедур, базы данных in-memory аналогичны
MPP-системам. Различие в реализации: каждый узел in-memory системы обладает
огромным объемом оперативной памяти (ОП, ОЗУ), большая часть данных
обрабатывается именно в ОП. Система SAP HANA функционирует именно по
этому принципу. Другие системы, такие как Oracle Exalytics, используют
специализированные аппаратные решения, гарантирующие, что множество
компьютеров функционируют как одна супер-ЭВМ. По сути, базы данных в памяти
как MPP-базы данных с SQL-интерфейсом. Одним из основных недостатков
коммерческих реализаций баз данных в памяти является то, что на аппаратном
уровне требуется реализовывать механизм блокировок. Кроме того, учитывая, что
системы используют проприетарные и специализированные аппаратные средства, –
они обычно дорогие. Попытка использовать неспециализированное оборудование
для баз данных в памяти увеличивает размер кластера. Рассмотрим, например,
сервер, имеющий 25 ГБ ОЗУ. Попытка размещения 1 ТБ в памяти потребует более
чем 40 узлов (учитываются другие виды серверной активности). Объем 1 ТБ –
небольшой набор данных, но кластер разрастается до 40 узлов.
Следующие положения отражают, каким образом базы данных inmemory
реализуют принципы Big Data.
1. Данные распределяются в соответствии с принадлежностью к региону по узлам.
Каждый узел перегружает данные в память.
2. Каждый узел содержит все необходимые приложения и библиотеки.
3. Каждый узел оперирует локальными данными. Исключение из правила –
выполнение запроса, не учитывающего механизма распределения данных; в этом
случае каждая задача получает данных от других узлов кластера через сеть.
4. Так как данные размещены в ОЗУ, то требование последовательного чтения не
выполняется (только в случае начальной загрузки данных в оперативную память).