Сегодня рассмотрим ключевые достоинства и недостатки резидентных СУБД для больших данных на примере 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];
- платформа аналитики клиентских обращений в Аэрофлоте, 2018 год – сбор клиентских отзывов, жалоб и пожеланий из соцcетей, идентификация автора, сопоставление с профилем клиента-автора из Apache Hadoop (история полетов и пр.), обогащение обращений с учетом особенностей языка, определение тональности и тематики, автоматическая маршрутизация обращения ответственному сотруднику, оптимизация процессов работы с обращениями (дедупликация, кластеризация) [3];
- интеграция транзакционных СУБД Oracle и PostgreSQL с аналитической MPP-СУБД Greenplum в Тинькофф Банке, когда Tarantool использовался в качестве промежуточного слоя для хранения CSV-файлов с транзакционными данными, которые будут анализироваться [4];
- геораспределенный реестр заявок в Мегафоне в рамках системы единого биллинга и корпоративная витрина балансов на базе Cassandra и Tarantool, 2019 год [5].
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’ов) «Школа Больших Данных» в Москве.
Источники