Поскольку 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
Ближайшая дата курса
25 сентября, 2024
Продолжительность
24 ак.часов
Стоимость обучения
72 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
Ближайшая дата курса
25 сентября, 2024
Продолжительность
24 ак.часов
Стоимость обучения
72 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
Ближайшая дата курса
2 декабря, 2024
Продолжительность
40 ак.часов
Стоимость обучения
120 000 руб.
А разобраться на практике со всеми тонкостями администрирования и эксплуатации Greenplum на примере Arenadata DB или в качестве отдельного продукта для эффективного хранения и аналитики больших данных вам помогут специализированные курсы в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:
Источники