Зачем вам Tarantool: разгоняем большие данные с помощью In-Memory database

Big Data, Большие данные, обработка данных, архитектура, Hadoop, SQL, интернет вещей, Internet of Things, IoT, IIoT, Arenadata, резидентные СУБД, In-Memory Database

В этой статье мы рассмотрим резидентные (In-Memory) базы данных на примере Tarantool и Arenadata Grid: что это, как они работают и где используются. Еще поговорим, каким образом эти Big Data системы могут ускорить работу распределенных приложений без замены существующих СУБД, а также при чем здесь промышленный интернет вещей и экосистема Apache Hadoop для хранения больших данных.

Who is who на рынке In-Memory DataBase: краткий обзор самых популярных решений

В 2019 году аналитическое агентство Gartner включило резидентные базы данных, в которых информация размещается в памяти, в перечень наиболее перспективных технологий в области Data Management. При этом на графике технологической зрелости (Hype Cycle) In-Memory database (IMDB) расположены на восходящем участке по пути к плато продуктивности [1]. Это не удивительно с учетом длительной истории таких СУБД: впервые они появились еще в 90-е годы прошлого века: SolidDB, Timesten. Удешевление стоимости серверных модулей оперативной памяти вместе с популяризацией технологий Big Data стали новыми драйверами развития IMDB [2]. Наиболее крупными игроками на современном рынке резидентных баз данных считаются коммерческие решения от IBM (DB2 with BLU Acceleration and dashDB), Microsoft (SQL Server 2014), Oracle (TimesTen), SAP (Hana), Pivotal (GemFire XD) и Teradata (Intelligent Memory). Еще в ТОП-19 лучших IMDB-СУБД от Gartner вошли широко известные open-source продукты (VoltDB, Redis, Aerospike, Altibase, Couchbase Server) и некоторые проприетарные, в т.ч. облачные, решения: Unicom Systems solidDB, Quartet FS ActivePivot, ParStream, MemSQL, Kognitio Analytical Platform, McObject eXtremeDB, DataStax Enterprise [3]. Разумеется, это далеко не все резидентные СУБД: сюда же относится Apache Ignite, InfinityDB, Memcached, SQLite, MySQL NDB Cluster, Mnesia и прочие открытые и проприетарные решения, в частности Tarantool [4], который мы рассмотрим далее.

рынок резидентных СУБД, СУБД для Big Data
Наиболее крупные игроки рынка In-Memory Database

Вездесущий Tarantool: от email до IIoT

В отличие от всех вышеперечисленных IMDB, Tarantool является отечественным продуктом, разработанным в Mail.ru Group еще в 2008 году для внутреннего пользования. В частности, эта Big Data система применяется в Почте, Облаке, myTarget и других сервисах Mail.ru. В апреле 2016 года компания опубликовала исходный код Tarantool в открытом доступе под лицензией BSD. Вообще эта СУБД широко применяется в российских Big Data проектах. Например, ее используют соцсети Badoo и Одноклассники [5], мобильные операторы Билайн, Yota и Мегафон, Avito, Qiwi, Аэрофлот и Альфа-банк. Практическое признание Тарантул получил за способность эффективно работать при высоких нагрузках и с большими объемами данных, обеспечивая производительность на уровне миллион транзакций в секунду на одном ядре простейшего сервера. Таким образом, Tarantool позволяет снизить расходы на hardware в распределенном кластере Big Data [6].

Подобное быстродействие обеспечивается тем, что данные в Tarantool хранятся в оперативной памяти. Благодаря этому запросы на чтение выполняются очень быстро. Запросы на запись также проходят оперативно за счет синхронизации обновлений и последовательного добавления в конец журнала транзакций (Write Ahead Log, WAL), который расположен на жестком диске. Таким образом, данные на диске и в памяти всегда синхронизированы. Последовательная WAL-запись позволяет Tarantool заполнять журнал со скоростью 100 Мбайт/с, соблюдая требования ACID (atomicity, consistency, isolation, durability — «атомарность, согласованность, изоляция и долговечность») [7].

In-Memory Database, IMDB, резидентные СУБД
Принцип работы In-Memory Database

Важно, что Тарантул может работать как на мощных серверах с сотнями гигабайт оперативной памяти, так и на виртуальных машинах от облачных провайдеров, а также на устройствах интернета вещей (Internet of Things, IoT), в т.ч. промышленного (Industrial IoT, IIoT). Tarantool IIoT поддерживает MQTT- и MRAA-протоколы работы с датчиками, генерирующими большие объемы данных для обработке в режиме real time. Еще средства Tarantool IIoT позволяют создавать скрипты для описания процессов сбора технологических показателей с конечных устройств, их обработки и сохранения, обеспечивают репликацию и отправку в облачные ЦОД. Эти возможности делают Tarantool отличным инструментом для разработки IIoT-решений [7].

Обратной стороной всех этих достоинств являются специфические недоставки, характерные как для всех IMDB-систем вообще, так и для Тарантул в частности. Об этом мы поговорим в следующей статье, а сейчас разберем, как связаны Tarantool и Arenadata – отечественный разработчик Big Data решений.

Поскольку Tarantool является open-source решением, исходный код этой системы используется для создания новых Big Data продуктов. В частности, российская компания «Аренадата Софтвер», которая разработала первый отечественный дистрибутив Apache Hadoop (Arenadata Hadoop), массивно-параллельную СУБД Arenadata DB на базе Greenplum и Arenadata QuickMarts – кластерную колоночную СУБД для генерации аналитических отчетов по большим данным в реальном времени, на базе Tarantool создала собственную платформу резидентных вычислений — Arenadata Grid [8]. Чем эта Big Data система отличается от оригинала и как она интегрирована с другими компонентами экосистемы Apache Hadoop, мы рассмотрим завтра.

А обучиться работе с продуктами компании Arenadata и получить сертификат специалиста можно в нашем лицензированном учебном центре повышения квалификации «Школа Больших Данных» в Москве:

расписание компьютерные курсы для руководителей, аналитиков, программистов, администраторов и пользователей Internet of Things, Big Data и Machine Learning Смотреть расписание занятий
регистрация на компьютерные курсы для руководителей, аналитиков, программистов, администраторов и пользователей Internet of Things, Big Data и Machine Learning Зарегистрироваться на курс

Источники

  1. https://www.gartner.com/en/documents/3955768/hype-cycle-for-data-management-2019
  2. https://ru.wikipedia.org/wiki/Резидентная_база_данных
  3. https://www.information-management.com/news/gartners-19-leading-in-memory-databases-for-big-data-analytics
  4. https://en.wikipedia.org/wiki/List_of_in-memory_databases
  5. https://ru.wikipedia.org/wiki/Tarantool
  6. https://www.cnews.ru/news/top/2019-09-09_iz_mailru_ushel_sozdatel_samogo
  7. https://www.osp.ru/os/2017/02/13052224/
  8. https://arenadata.tech/products/adg/