CLUSTERIX-ПОДОБНЫЕ СУБД КЛАССА BIG DATA
Р.К. Классен, В.А. Райхлин (КНИТУ-КАИ)

Коммерческие OLAP-системы экономически недоступны организациям с ограниченными финансовыми возможностями. Аналитическую обработку данных значительных объемов в этих организациях можно осуществить с использованием open source программных систем на экономичной кластерной платформе. Ранее созданные Clusterix-подобные СУБД, использующие регулярный план обработки запросов, были недостаточно эффективны. Поэтому исследования по таким системам были развиты с ориентиром на полную загрузку процессорных ядер и применение GPU-акселерации (системы Clusterix-N, N – от  New) вплоть до разработки системы, сравнимой по эффективности с открытой зарубежной системой Spark, полагаемой в настоящее время наиболее перспективной. За основу развития была принята методология конструктивного моделирования систем.

Объемы баз данных в сотни GB и более нередки для относительно небольших предприятий с ограниченными финансовыми возможностями. Приобретение такими организациями экономичных вычислительных кластеров и специализированного ПО СУБД консервативного типа (с эпизодическим обновлением данных) делает возможной для них своевременную обработку накопленных данных. Для консервативных СУБД свойственна OLAP нагрузка, характеризующаяся высоким удельным весом сложных запросов типа «селекция – проекция – соединение», оперирующих множеством таблиц с большим числом операций соединения. Разработки в этом направлении ведутся. Коммерческие СУБД обладают высокой производительностью и надежностью, но чрезмерно большой стоимостью. Так, СУБД MS SQL Server 2016 на одном сервере Lenovo x3950X6 имеет совокупную стоимость системы $2 634 342 (сервер ~$1,5 млн. + ПО ~$1 млн.).  СУБД Oracle Database с расширением для OLAP и лицензией на 384 ядра обойдется ~ в $9 млн. Плюс стоимость аппаратуры (Exadata) ~$1,5 млн.

Удачной альтернативой дорогостоящим параллельным СУБД в области больших данных являются свободно распространяемые зарубежные разработки с открытым исходным кодом Hadoop и Spark. Обе системы высокопроизводительны, хорошо масштабируются, и их требования к аппаратной платформе весьма скромные. Это делает Hadoop и Spark перспективными системами для аналитической обработки больших массивов данных. Новые отечественные СУБД следует создавать на базе готовых СУБД с открытым кодом и свободной лицензией, поддерживаемых международным сообществом. Этому требованию удовлетворяет открытая версия отечествен-ной разработки Postgres Pro. Но она – одноузловая, а потому – недостаточно производительная.

Созданные ранее исследовательские версии систем Clusterix и Clusterix-M были малоэффективны. Надо было искать пути повышения эффективности Clusterix-подобных систем. Основной задачей данной работы является анализ возможностей реализации экономичных консервативных СУБД повышенных объемов, сравнимых по эффективности (по критерию производительность/стоимость) с системой Spark при обработке потока запросов к БД объемом в сотни GB и более на сравнительно недорогих кластерных платформах с использованием регулярного плана обработки запросов, применением средств MySQL и GPU-акселераторов на исполнительном уровне. MySQL позволяет использовать различные «движки» и имеет систему расширений. Эти особенности упрощают и ускоряют разработку системы в сравнении с использованием PostgreSQL.

В работе показано, что использование регулярного плана обработки запросов, при соответствующей архитектурной и программно-алгоритмической разработке экономичных консервативных СУБД высокой эффективности класса BigData показывает результаты, сравнимые с лучшими зарубежными открытыми системами. Стоимость приобретения и ввода в эксплуатацию GPU-кластера, аналогичного использованному при проведении сравнительных экспериментов, составит не более 5 млн. руб. Все версии программной системы Clusterix-N помещены в открытый доступ и могут быть использованы заинтересованными организациями https://bitbucket.org/rozh/clusterixn/

И все же по значениям T, M и σ  СУБД Clusterix-N заметно уступает системе Spark. Процессы передачи данных, удаления отношений и загрузки данных в MySQL остаются достаточно медленными. Следует ожидать значительного ускорения интерконнекта при переходе на работу со сжатыми базами данных. Это дополнительно повысит эффективность, ибо увеличит объемы БД, допустимые для бездисковой обработки при заданном числе узлов.

МАТЕРИАЛЫ ДОКЛАДА

ВИДЕО ДОКЛАДА: