Все, что вы хотели знать о Greenplum: Полный обзор СУБД для IT гуру

В современном мире объемы данных растут с каждым днем, и их анализ становится ключевой задачей для многих компаний в IT-сфере. Для эффективной работы с этими данными необходимо иметь мощное и надежное хранилище, способное обеспечить высокую производительность и поддержку реляционной модели данных. СУБД Greenplum – одно из таких решений, которое нашло свое применение в различных областях IT и стало неотъемлемой частью многих успешных проектов.

В данной статье мы поговорим о СУБД Greenplum – определим ее сущность и виды, рассмотрим области ее применения в IT-сфере, а также выявим преимущества и недостатки этой системы. Углубимся в детали архитектуры и основные характеристики Greenplum, а также узнаем, для каких компаний и задач она может стать наилучшим выбором.

Общие сведения

Greenplum — это база данных, созданная на основе PostgreSQL, способная обрабатывать большие объемы данных параллельно и масштабироваться до нескольких петабайт. Она обеспечивает доступ к кластеру мощных серверов через единый SQL-интерфейс, который позволяет просматривать и работать с данными.

Greenplum — это открытое программное обеспечение, разработанное компанией Pivotal и приобретенное VMware. Эта база данных специально спроектирована для управления крупными хранилищами данных, позволяя распределить данные по нескольким серверам.

Для лучшего понимания архитектуры Greenplum давайте рассмотрим концепцию массивно-параллельной обработки данных (MPP). При обработке больших и сложных объемов данных существует риск перегрузки сервера из-за высокой нагрузки. Для обеспечения более быстрой обработки и получения быстрых результатов многие организации рассматривают возможность использования MPP-базы данных.

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

Обычно система MPP состоит из ведущего узла (мастера) и одного или нескольких вычислительных узлов (сегментов). Мастер управляет остальными узлами, объединяя их ответы для формирования окончательного результата.

MPP-базы данных масштабируются горизонтально, добавляя дополнительные вычислительные ресурсы (узлы), вместо того чтобы увеличивать производительность отдельных серверов (вертикальное масштабирование).

Кратко области применения включают в себя:

  • Обработку больших объемов данных (более 1 ТБ) в качестве хранилища данных.
  • Подготовку отчетов для операционного, управленческого, регуляторного и МСФО отчетности.
  • Оценку кредитоспособности клиентов в режиме реального времени.
  • Анализ полуструктурированных данных и их объединение с основными данными, включая обогащение данных из открытых источников.
  • Обработку данных для программ лояльности в розничных сетях, предложение лучших вариантов, анализ чеков, логов интернет-магазинов и обработку данных clickstream.
  • Real-time обработку данных для маркетинговых кампаний.
  • Сбор и анализ данных с устройств IoT и датчиков предприятий.
  • Анализ данных транспортных систем в системах мониторинга логистики.

Все, что вы хотели знать о Greenplum: Полный обзор СУБД для IT гуру

Краткая история разработки

Давайте отметим ключевые моменты в истории развития проекта Greenplum:

  • В 2005 году технология была впервые представлена компанией с одноименным названием в Калифорнии, США.
  • В 2010 году корпорация EMC приобрела компанию Greenplum и продолжила развивать проект.
  • В 2011 году корпорация EMC выпустила бесплатную версию Greenplum Community Edition для широкой общественности.
  • В 2012 году корпорация Pivotal приобрела продукт EMC Greenplum Community Edition и продолжила его развитие под своим брендом.
  • В 2015 году компания Pivotal опубликовала исходный код базы данных Greenplum под лицензией Apache, делая его доступным для общества.
  • В 2018 году Greenplum была интегрирована с отечественной платформой визуализации и анализа данных Luxms BI.
  • Также в 2018 году российская компания «Аренадата Софтвер» выпустила собственную MPP-СУБД Arenadata DB на основе Greenplum, адаптируя ее для корпоративного использования.
  • В 2020 году корпорация VMware приобрела компанию Pivotal, которая владела Greenplum с 2012 года. С этого момента open-source MPP-СУБД была коммерциализирована под брендом VMware Tanzu Greenplum.

Все, что вы хотели знать о Greenplum: Полный обзор СУБД для IT гуру

Область применения

За последние два года Greenplum стал очень популярным среди ритейлеров и банков в России. Эта система помогает им быстро переходить к цифровой трансформации, сокращать сроки выхода на рынок с новыми продуктами и идеями. Greenplum позволяет ритейлерам и банкам лучше понимать своих клиентов, точнее предсказывать их поведение и более эффективно предлагать товары или банковские услуги, что также позволяет снижать расходы на логистику.

Система становится все более востребованной в сферах бизнеса, где требуется обработка и хранение больших объемов данных, таких как логистика, Интернет вещей (IoT), производство, сельское хозяйство, системы безопасности и ЖКХ.

Рынок ритейла

В российском ритейле первой компанией, которая начала использовать Greenplum, была X5 Retail Group. Они выбрали эту систему, так как нуждались в MPP базе данных, способной выдержать высокую нагрузку от более чем 2000 аналитиков, выполняющих около 800 запросов одновременно. Обычная база данных не справлялась бы с такой нагрузкой. С помощью Greenplum команда Big Data X5 построила аналитический слой детальных данных с хорошо описанной моделью, правильной системой управления данными и классическим справочником данных. Результатом стал надежный сервис, доступный всем аналитикам компании. X5 Retail Group также планирует анализировать все основные сферы данных в ритейле, включая товары, чеки, клиентов и контрагентов.

Банковская сфера

В банковской сфере, банк Тинькофф активно использует Greenplum. Банк обратился к этой системе, когда производительность SAS достигла своего предела. Теперь Greenplum работает как основная СУБД КХД (Кредитно-финансовое направление) в банке и решает множество аналитических задач, включая управленческую и операционную отчетность, а также работу аналитиков в разных подразделениях, таких как риски и финансы. В Greenplum рассчитываются скоринговые модели и запускаются маркетинговые кампании. На вершине СУБД работают различные системы бизнес-интеллекта (BI), а общее число пользователей составляет несколько сотен, включая также SAS-стек (ETL/ELT).

Исходно Greenplum использовался только банком Тинькофф, но с объединением разных бизнесов в холдинге в систему были интегрированы хранилища данных сторонних подразделений, таких как страховая компания, мобильный оператор и тревел-компании.

Все, что вы хотели знать о Greenplum: Полный обзор СУБД для IT гуру

Назначение

Система управления базами данных (СУБД) Greenplum необходима для конкретных случаев, когда объем данных становится огромным и не может быть эффективно обработан обычными СУБД. Если у вас имеется 2-4 терабайта данных, то, возможно, вы сможете их разместить и обрабатывать на нескольких серверах, но когда речь идет о миллиардах терабайт, стандартные СУБД становятся неэффективными.

Таким образом, Greenplum подходит для тех, кто имеет огромные объемы данных и работает активно с ними, не только храня их, но и выполняя операции над этими данными.

Конечно, существуют и другие инструменты на рынке, такие как ClickHouse и Cassandra, которые также решают проблемы работы с большими объемами данных. Однако Greenplum имеет свои уникальные особенности, которые определяют, когда именно следует выбирать эту систему, а когда лучше обратиться к другим решениям.

Все, что вы хотели знать о Greenplum: Полный обзор СУБД для IT гуру

Принцип работы

СУБД Greenplum основана на архитектуре массивно-параллельной обработки (MPP), и она представляет собой несколько взаимосвязанных экземпляров базы данных PostgreSQL, объединенных в кластер без разделения ресурсов (Shared Nothing).

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

Для обеспечения надежности, помимо типовой топологии «мастер-слейв», в Greenplum добавлен резервный главный сервер (Secondary master instance). В состав кластера Greenplum входят следующие компоненты:

  • Мастер-сервер (Master host). Это главный инстанс PostgreSQL, который является точкой входа в Greenplum, где клиенты отправляют SQL-запросы. Мастер координирует работу сегментов, но не хранит пользовательские данные.
  • Резервный мастер (Secondary master instance). Этот инстанс PostgreSQL активируется вручную в случае сбоя основного мастера.
  • Сервер-сегмент (Segment host): Здесь хранятся и обрабатываются данные. Каждый хост-сегмент содержит несколько сегментов Greenplum — экземпляров PostgreSQL, которые обрабатывают часть данных. Сегменты бывают основными (primary) и зеркальными (mirror), где зеркальные сегменты автоматически активируются в случае сбоя основных.
  • Интерконнект (interconnect). Это быстрое сетевое соединение для связи между экземплярами PostgreSQL.

Взаимодействие между мастером и сегментами Greenplum происходит следующим образом:

  1. Пользователь подключается к базе данных через клиентские программы, такие как psql или API-интерфейсы.
  2. Мастер аутентифицирует клиентские соединения и обрабатывает SQL-запросы.
  3. Каждый сегмент создает соответствующие процессы для обработки запросов.
  4. После выполнения вычислений над локальными данными сегмент возвращает результаты мастеру.
  5. Мастер координирует результаты от сегментов и представляет их клиентской программе.

Архитектура Greenplum включает зеркалирование сегментов для повышения надежности, хотя это также приводит к избыточному потреблению ресурсов и увеличению стоимости кластера.

Чем отличается от других СУБД

Greenplum выделяется среди других систем управления базами данных (СУБД) для работы с большими данными по нескольким ключевым аспектам:

  • Поддержка реляционной модели данных. Greenplum сохраняет структуру данных и не изменяет их, что делает ее подходящей для данных, где точность и структура критичны. Это особенно важно для сфер, таких как финансовые операции, где потеря данных недопустима.
  • Широкий спектр применения. Greenplum отличается от систем, наподобие ClickHouse, по своей сфере применения. ClickHouse чаще используется для анализа статистических данных, в то время как Greenplum ближе к полноценной СУБД с поддержкой индексов и возможностью выполнения сложных запросов. Это делает Greenplum более универсальным и подходящим для широкого спектра задач, начиная от бизнес-аналитики и заканчивая машинным обучением.
  • Поддержка различных видов репликации и шардинга. Greenplum предоставляет мощные средства для репликации и разделения данных, что обеспечивает высокую производительность. Однако это требует тщательной настройки и большого числа серверов, если вы разворачиваете систему on-premise.
  • Интеграция с облачными решениями. Greenplum лежит в основе облачной СУБД Arenadata DB, доступной, например, в облаке VK Cloud (бывшем MCS). Это позволяет разворачивать и использовать Greenplum без необходимости управления собственной инфраструктурой, что удобно и эффективно.
  • Основана на PostgreSQL. Greenplum основана на популярной СУБД PostgreSQL, что облегчает поиск и привлечение специалистов для работы с ней.

Таким образом, Greenplum выделяется своей универсальностью, поддержкой реляционной модели данных и возможностью интеграции с различными инструментами для анализа больших данных, что делает ее привлекательным решением для широкого круга задач и отраслей.

Все, что вы хотели знать о Greenplum: Полный обзор СУБД для IT гуру

Особенности

В Greenplum 6 был выпущен важный мажорный релиз, в разработке которого участвовали несколько компаний, включая Arenadata. В этой версии были добавлены следующие значимые функции:

  1. Реплицированные таблицы. Теперь можно создавать таблицы, которые полностью дублируются на всех сегментах кластера. Это позволяет проводить операции JOIN с такими таблицами локально, без необходимости перераспределения данных по сегментам.
  2. Алгоритм компрессии Zstandard (ZSTD). Этот алгоритм обеспечивает более высокие коэффициенты сжатия по сравнению с алгоритмом Zlib, который использовался ранее по умолчанию. Он также обладает более быстрой скоростью компрессии и декомпрессии. Ранее этот алгоритм был доступен только пользователям решений Arenadata, а теперь он доступен всем.
  3. Новый механизм горизонтального расширения кластеров. Расширение кластера происходит теперь гораздо быстрее и не требует перезапуска системы.
  4. Безопасность на уровне столбцов. Теперь можно назначать права доступа к отдельным колонкам так же, как к другим объектам, например, таблицам.
  5. JSONB: Этот формат хранения объектов типа JSON обеспечивает оптимальное бинарное хранение данных.
  6. Auto Explain. Эта функция позволяет автоматически сохранять ключевые данные о выполнении запросов, такие как план запроса, потребление ресурсов, время выполнения и количество обработанных строк, как по сегментам, так и по узлам.
  7. Дисковые квоты. Позволяют ограничивать объем дискового хранилища, доступного отдельным пользователям и схемам.

Некоторые из перечисленных новых функций доступны только в Arenadata DB 6, включая:

  • Tkhemali Connector. Позволяет перемещать данные из Greenplum в ClickHouse.
  • Kafka Connector. Позволяет перемещать данные из Greenplum в Kafka.
  • Система управления и мониторинга Arenadata Cluster Manager (ADCM). Позволяет в реальном времени отслеживать выполнение запросов, их план, этапы выполнения, распределение по кластеру и другие метрики, а также просматривать исторические данные.
  • Arenadata Second Storage. Позволяет создавать резервные копии по таблицам и восстанавливать данные в случае катастрофы.

Все, что вы хотели знать о Greenplum: Полный обзор СУБД для IT гуру

Преимущества

Среди преимуществ Greenplum стоит выделить следующее:

  • Высокая производительность. Greenplum обеспечивает высокую производительность в сравнении с системами, которые хранят данные в оперативной памяти и требуют большого объема памяти, а также с системами, которые не используют СУБД и выделяют ОЗУ для каждого параллельного запроса. Эта высокая производительность позволяет Greenplum масштабироваться до петабайтных объемов данных, обеспечивая эффективную обработку данных.
  • Оптимизация SQL-запросов. Greenplum оптимизирует SQL-запросы для обработки больших объемов данных в интерактивном и пакетном режимах без ухудшения производительности. Оптимизатор запросов, основанный на затратах, распределяет нагрузку между различными сегментами Greenplum и использует все ресурсы системы параллельно для обработки запросов.
  • Открытый исходный код. Greenplum является проектом хранилища данных с открытым исходным кодом, основанным на ядре PostgreSQL с открытым исходным кодом. Это позволяет пользователям воспользоваться всеми преимуществами PostgreSQL, который разрабатывался экспертами в течение десятилетий, а также настроить Greenplum для обработки больших объемов данных. Greenplum может быть развернут на любом сервере Linux, будь то в облаке или локально, и работать в различных средах.
  • Полиморфное (разноструктурное) хранилище данных. Greenplum позволяет контролировать конфигурацию таблиц и разделов в хранилище данных, что позволяет выполнить сжатие файлов в любое время и легко управлять структурой данных.

Все, что вы хотели знать о Greenplum: Полный обзор СУБД для IT гуру

Недостатки

На самом деле, у этой СУБД не так много недостатков, однако, существует одна особенность, на которую обязательно стоит обратить внимание.

Одним из недостатков является ограниченная возможность масштабирования, что означает, что для увеличения производительности обработки данных приходится увеличивать вычислительную мощность сервера путем добавления дополнительных процессоров.

Кому подойдет

Если у вас есть огромные объемы данных, то Greenplum становится неотъемлемой системой. В случае, когда у вас 2-4 терабайта данных, их можно ещё разместить на 1-3 серверах и эффективно управлять ими. Однако, когда речь идет о петабайтах данных и более, обычная СУБД становится недостаточной для их обработки и хранения.

Таким образом, Greenplum идеально подходит для тех, кто имеет дело с огромными объемами данных, превышающими обычные масштабы. Это первое преимущество.

Тем не менее, хранение данных – это только одна сторона медали. Если вы не можете эффективно обращаться к этим данным и выполнять необходимые операции в разумное время, то информация становится бесполезной. Greenplum позволяет проводить операции с данными в приемлемые сроки, что делает её полезной не только для хранения больших объемов информации, но и для активной работы с этими данными. Это второе преимущество.

Кроме того, Greenplum поддерживает реляционную модель данных, сохраняя при этом надежность и структурированность данных. Это делает её идеальным выбором для компаний, занимающихся финансовыми операциями и другими задачами, требующими высокой точности и структурированности данных. Она подходит для банков, ритейлеров и других компаний, где каждая транзакция имеет большое значение и не может быть утрачена.

Заключение

СУБД Greenplum представляет собой мощное решение для обработки и анализа больших объемов данных в IT-сфере. Эта база данных, построенная на основе PostgreSQL, использует массивно-параллельную архитектуру, позволяя эффективно обрабатывать данные на петабайтном уровне. Greenplum подходит для широкого спектра приложений, от финансовых операций до аналитики больших данных, и находит применение в ритейле, банковской сфере, логистике и многих других областях.

Одним из ключевых преимуществ Greenplum является его высокая производительность и поддержка реляционной модели данных, что делает его идеальным выбором для задач, где требуется точность и структурность данных. Кроме того, система справляется с аналитическими нагрузками и поддерживает различные виды репликации и шардинга, обеспечивая гибкость и надежность в работе.

Однако следует отметить, что у Greenplum есть и некоторые недостатки, такие как ограниченная масштабируемость, которая требует увеличения мощности сервера для увеличения производительности. Несмотря на это, Greenplum остается привлекательным решением для компаний, работающих с большими объемами данных и ищущих мощное и надежное хранилище данных для своих операций и аналитики.

Оцените статью
( 1 оценка, среднее 5 из 5 )
Поделиться с друзьями
IaaS SaaS PaaS
Добавить комментарий

Больше новостей — на нашем Telegram-канале