Поскольку Greenplum и Arenadata DB основаны на популярной open-source СУБД PostgreSQL, сегодня разберем, чем они отличаются от этой объектно-реляционной базы данных. Далее вас ждет краткий и понятный ответ на вопрос Greenplum vs PostgreSQL: сходства и отличия этих систем с учетом аналитики больших данных и практических кейсов дата-инженерии.
Что общего между Greenplum и PostgreSQL: 7 главных сходств
Напомним, PostgreSQL – это свободная ORM-СУБД с поддержкой стандарта SQL:2011 и множества языков программирования (pgSQL, Perl, Python, Java, PHP, R, Ruby, sh, C). Дополнительным преимуществом являются быстрые и надёжные механизмы транзакций, репликации, возможность индексации слабоструктурированных данных в формате JSON, а также гибкая расширяемость: разработчик создавать новые типы данных, индексов, подключать различные языки программирования, модули расширения, любые внешние источники данных. Благодаря отсутствию ограничений на максимальный размер базы данных и количество индексов в таблице, а также а также большую емкость таблиц и полей (до 32 ТБ и 1 ГБ соответственно), PostgreSQL часто используется во многих Big Data проектах [1].
Именно этот фокус на аналитику больших данных лежит в основе Greenplum, которая является адаптацией PostgreSQL с технологией массивно-параллельной обработки данных (MPP, Massive Parallel Processing). Проще говоря, Greenplum – это несколько взаимосвязанных экземпляров PostgreSQL, объединенных в кластер по принципу без разделения ресурсов (Shared Nothing). При этом каждый узел кластера, взаимодействующий с другими для выполнения вычислительных операций, имеет собственную память, операционную систему и жесткие диски. Это позволяет намного ускорить аналитическую обработку данных благодаря распараллеливанию вычислений. Помимо параллельного выполнения SQL-запросов, Greenplum включает автоматическое партиционирование данных, а также расширенные возможности их хранения и сжатия [2].
Таким образом, главными сходствами Greenplum и PostgreSQL с позиции архитектора DWH, аналитика данных и дата-инженера являются следующие:
- open-source статус – программный код обоих продуктов доступен для свободного скачивания, активно поддерживается и развивается профессиональным сообществом;
- высокая производительность;
- поддержка JSON;
- высокая емкость таблиц и полей;
- масштабируемость;
- надежность;
- транзакционность.
Кроме того, обе СУБД считаются эффективными при долгосрочной настройке и развертывании приложений, что актуально в проектах промышленной аналитики больших данных. Однако, назвать Greenplum просто расширенным вариантом PostgreSQL не совсем корректно: эти системы имеют целый ряд отличий, которые мы рассмотрим далее.
Greenplum для инженеров данных
Код курса
GPDE
Ближайшая дата курса
10 июля, 2023
Длительность обучения
24 ак.часов
Стоимость обучения
66 000 руб.
И все-таки они разные: 3 ключевых отличия
При том, что PostgreSQL допустимо использовать в OLAP-сценариях, эта СУБД отлично подходит для OLTP-кейсов с небольшими базами данных. В частности, PostgreSQL может подключиться к сотням тысяч систем обработки транзакций. Но в случаях высокой OLAP-нагрузки использование PostgreSQL является не лучшим вариантом, т.к. эта система не обеспечивает функции сжатия данных, колоночного хранилища, автоматического партиционирования и распараллеливания запросов для глубокой аналитики больших данных. К примеру, PostgreSQL использует один многоядерный сервер обработки во время обработки запросов.
MPP-архитектура Greenplum обеспечивает возможность параллельной обработки запросов, ускоряя их выполнение на целые порядки. Производительность Greenplum зависит от количества запросов, которые необходимо прочитать и ответить на них.
При этом MPP-архитектура Greenplum реализует концепцию без разделения ресурсов, разделяя между узлами только сетевую инфраструктуру. А PostgreSQL работает по принципу «клиент-сервер» с совместным использованием памяти, областей хранения и операционных систем. Поэтому Greenplum можно использовать как колоночное хранилище данных, оптимизированное для добавления. Это позволяет рассматривать Greenplum как СУБД с функциями сжатия для всех оптимизированных append-таблиц в реляционных базах данных. А базовая архитектура PostgreSQL позволяет легко их модифицировать и дополнять для обеспечения параллельной структуры запросов.
Специальное быстрое обособленное сетевое соединение для связи между отдельными экземплярами PostgreSQL (Interconnect) в Greenplum обеспечивает их унифицированное поведение, позволяя рассматривать как единый образ базы данных. Кроме того, Greenplum можно оптимизировать для обработки больших наборов данных, задав декларативные разделы и подразделы. Внутренние элементы PostgreSQL были модифицированы и дополнены для поддержки параллельной структуры Greenplum: изменены системный каталог, оптимизатор, исполнитель запросов и компоненты диспетчера транзакций. Это позволяет выполнять запросы одновременно во всех параллельных экземплярах PostgreSQL, которые ведут себя как одна логическая база данных благодаря быстрым interconnect-соединениям [2].
Greenplum для инженеров данных
Код курса
GPDE
Ближайшая дата курса
10 июля, 2023
Длительность обучения
24 ак.часов
Стоимость обучения
66 000 руб.
Таким образом, главное отличие между PostgreSQL и Greenplum заключается в следующем [3]:
- архитектура — Greenplum реализует массивно-параллельную обработку без разделения ресурсов, а PostgreSQL – классическую клиент-серверную технологию. В Greenplum для повышения надежности к типовой топологии master-slave добавлен резервный главный сервер (Secondary master instance), включаемый вручную при отказе основного мастера.
- структура хранения данных. Greenplum – это одновременно хранилище данных и база транзакционных или операционных данных с распараллеливанием вычислительных процессов и хранения информации в нескольких экземплярах PostgreSQL на разных физических серверах с функцией колоночного хранения и сжатия.
- сценарии применения. Greenplum предназначен для одновременной обработки транзакционных событий обработки и отлично подходит для обширной OLAP-аналитики больших данных. PostgreSQL – хороший вариант для баз данных небольшого размера с OLTP-кейсами.
Читайте про облачную коммерческую платформу VMware Tanzu Greenplum в нашей новой статье. О том, зачем российская ИТ-компания «Аренадата Софтвер» решала выпустить свой коммерческий форк open-source проекта PostgreSQL, адаптировав его для корпоративного использования и встроив в линейку продуктов Arenadata, мы рассказываем здесь.
Администрирование Greenplum / Arenadata DB
Код курса
GRAD
Ближайшая дата курса
17 июля, 2023
Длительность обучения
40 ак.часов
Стоимость обучения
110 000 руб.
А разобраться на практике со всеми тонкостями администрирования и эксплуатации Greenplum на примере Arenadata DB или в качестве отдельного продукта для эффективного хранения и аналитики больших данных вам помогут специализированные курсы в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:
Источники