4 крупных примера внедрения Tarantool, 3 достоинства и 2 главных недостатка IMDB

Big Data, Большие данные, обработка данных, архитектура, SQL, Tarantool, Arenadata, Greenplum, Hadoop

Сегодня рассмотрим ключевые достоинства и недостатки резидентных СУБД для больших данных на примере Tarantool. Читайте в нашей статье про основные сценарии использования In-Memory Database (IMDB) в области Big Data с конкретными кейсами из реального бизнеса от Альфа-Банка, Аэрофлота, Тинькофф-Банка и Мегафона.

Где и как используются In-Memory в Big Data: 4 кейса внедрения Tarantool

Мы уже упоминали, что резидентные базы данных – одна из наиболее перспективных и надежных технологий 2020 года в области Data Management по версии аналитического агентства Gartner. Резидентными считаются операции с данными, которые хранятся не на жестком диске, а в оперативной памяти (In-Memory), что делает их очень быстрыми. В практическом плане IMDB-системы особенно востребованы в тех приложениях работы с данными в реальном времени, где требуется минимальное время отклика, например, [1]:

  • управление телекоммуникационным оборудованием;
  • биржевые торги на финансовых рынках и аукционах интернет-рекламы;
  • персонализированный маркетинг – формирование персональных маркетинговых предложений с привязкой ко времени и месту;
  • игровые рейтинговые таблицы.

К типовым сценариям применения резидентных СУБД в Big Data относятся следующие:

  • ускорение распределенных вычислений, в т.ч. на Apache Hadoop и Spark, а также выполнение аналитических SQL-запросов с большими данными в MPP-СУБД, таких как Arenadata DB на базе Greenplum;
  • гибридная транзакционно-аналитическая обработка (hybrid transactional/analytical processing, HTAP) больших данных;
  • оперативное кэширование для систем потоковой передачи и шин данных.

Отметим несколько практических кейсов такого использования In-Memory СУБД в реальном бизнесе на примере Tarantool:

  • распределенная транзакционно-аналитическая система поддержки инвестиционного бизнеса Альфа-Банка, 2018 год – биржевая торговля, брокерские услуги, торговля валютой, внебиржевая торговля ценными бумагами и деривативами [2];
In-Memory СУБД, Тарантул, Альфа-банк, Tarantool
Распределенная транзакционно-аналитическая система поддержки инвестиционного бизнеса Альфа-Банка на базе Tarantool
  • платформа аналитики клиентских обращений в Аэрофлоте, 2018 год – сбор клиентских отзывов, жалоб и пожеланий из соцcетей, идентификация автора, сопоставление с профилем клиента-автора из Apache Hadoop (история полетов и пр.), обогащение обращений с учетом особенностей языка, определение тональности и тематики, автоматическая маршрутизация обращения ответственному сотруднику, оптимизация процессов работы с обращениями (дедупликация, кластеризация) [3];
  • интеграция транзакционных СУБД Oracle и PostgreSQL с аналитической MPP-СУБД Greenplum в Тинькофф Банке, когда Tarantool использовался в качестве промежуточного слоя для хранения CSV-файлов с транзакционными данными, которые будут анализироваться [4];
Тинькофф-банк, Тарантул, Oracle, PostgreSQL, Greenplum
Интеграция Oracle и PostgreSQL с Greenplum в Тинькофф Банке с помощью Tarantool
  • геораспределенный реестр заявок в Мегафоне в рамках системы единого биллинга и корпоративная витрина балансов на базе Cassandra и Tarantool, 2019 год [5].
большие данные в системе единого биллинга, Мегафон
Геораспределенный реестр заявок в Мегафоне в рамках системы единого биллинга на базе Tarantool

3 достоинства и 2 главных недостатка резидентных баз данных

Вышеописанные примеры внедрения Tarantool подтверждают, что резидентные СУБД отлично подходят для оперативной аналитики больших данных в режиме онлайн. Из-за их архитектурных особенностей, когда данные для распределенных вычислений хранятся в оперативной памяти кластерных узлов, а не считываются с жесткого диска, ключевыми преимуществами In-Memory СУБД считаются следующие [6]:

  • быстрота выполнения операций;
  • эффективное сохранение зафиксированных данных, которые используются не часто, на жестком диске;
  • высокая пропускная способность систем, критичных к производительности.

Обратной стороной этих достоинств являются следующие недостатки:

  • однопоточность и эффективная утилизация только одного ядра ЦП, что не позволяет в полной мере воспользоваться возможностями современных многоядерных серверов. Поэтому при разработке решения на базе IMDB следует проектировать его с перспективой распараллеливания на десятки экземпляров (инстансов), что эффективно утилизировать hardware [2];
  • энергозависимость и привязка к размеру оперативной памяти. Для решения этой проблемы используется запись с предварительным журналированием на энергонезависимом устройстве для обеспечения целостности базы данных при внезапной перезагрузке [1].

Поскольку существуют надежные и достаточно простые способы устранения указанных недостатков, неудивительно, что резидентные СУБД, такие как Tarantool, Arenadata Grid, Redis, Apache Ignite, InfinityDB, Memcached и прочие коммерческие и open-source продукты, очень востребованы в современных Big Data системах.

Еще больше практических примеров использования резидентных СУБД и других технологий Big Data в проектах цифровизации реального бизнеса вы узнаете на наших практических курсах по большим данным в лицензированном учебном центре обучения и повышения квалификации руководителей и ИТ-профессионалов (менеджеров, архитекторов, инженеров, администраторов, аналитиков и Data Scientist’ов) «Школа Больших Данных» в Москве.

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

Источники

  1. https://ru.wikipedia.org/wiki/Резидентная_база_данных
  2. https://conf.tarantool.io/2019/abstracts/5397
  3. https://conf.tarantool.io/2019/abstracts/5433
  4. https://conf.tarantool.io/2019/abstracts/5408
  5. https://news.myseldon.com/ru/news/index/211980375
  6. https://ru.bmstu.wiki/IMDB_(In-memory_Database)