Гринплюм против PostgreSQL - PullRequest
       56

Гринплюм против PostgreSQL

9 голосов
/ 15 марта 2011

Каковы аргументы за и против использования Greenplum вместо PostgreSQL в среде веб-приложения (django)?

Моя внутренняя реакция - отдать предпочтение подходу PostgreSQL с открытым исходным кодом и огромной базе знаний.

Моя конфигурация (хотя я бы хотел услышать о любой другой конфигурации) - это бизнес среднего размера с 2 веб-серверами и (на данный момент) 2 серверами баз данных.

Области для контраста: двоичный data crunching, количество узлов в replication и мой личный фаворит: communitiy support и поддержка квалифицированных инженеров.

Каковы плюсы и минусы использования Greenplum вместо PostgreSQL?

Ответы [ 7 ]

10 голосов
/ 15 марта 2011

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

Я предполагаю, что вы хотите PostgreSQL.

Кто на вас давит Greenplum и почему?Если это будет представлено в качестве альтернативы, я копну глубже и опровергну аргумент.

7 голосов
/ 27 сентября 2011

Greenplum - это MPP-адаптация PostgreSQL. Он оптимизирован для складирования и / или аналитики больших массивов данных и не будет так хорошо работать в транзакционной среде. Если вам нужна большая среда DW, посмотрите на Greenplum. Если вам нужен OLTP или меньший размер БД (до 10 ТБ), посмотрите на PostgreSQL.

3 голосов
/ 23 ноября 2015

Greenplum - аналитическая (OLAP) СУБД MPP.PostgreSQL - это СУБД OLTP.И вообще, на рынке нет ни одного решения, которое могло бы быть хорошим как для OLAP, так и для OLTP, вы можете найти мои мысли по этому поводу здесь

Бэкэнд WebAppвсегда будет создавать рабочую нагрузку OLTP.У Greenplum большие затраты на обработку транзакций, так как это распределенная система, поэтому не ожидайте, что это даст вам более 500-600 TPS.Postgres, напротив, может работать с сотнями тысяч TPS с правильной настройкой.

В отличие от этого, когда вам нужна рабочая нагрузка OLAP, Postgres может предложить вам только обработку одного хоста, без разделения с динамическим удалением раздела,сжатие, нет столбцов хранилища.Хотя Greenplum сможет параллельно обрабатывать ваши данные в кластере.

Поэтому решение, которое вы ищете, является типичным случаем хранилища данных - используйте решение OLTP для высокой транзакционной рабочей нагрузки, извлекайте данные в DWH с помощьюETL / ELT, а затем запускать сложные запросы обработки данных

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

3 голосов
/ 16 марта 2011

Если вы ищете решение для хранилища данных на основе PostgreSQL, я бы также посмотрел на GridSQL.Это слой распараллеливания для нескольких экземпляров PostgreSQL, он бесплатный и с открытым исходным кодом.

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

Вы также можетедаже использовать его на одном многоядерном сервере, так как PostgreSQL будет использовать только одно ядро ​​при обработке запроса.

3 голосов
/ 15 марта 2011

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

2 голосов
/ 15 марта 2011

Я думаю, что Greenplum лучше использует параллельную обработку. Однако он основан на PostgreSQL.

Greenplum имеет бесплатную версию сообщества . Вы всегда можете скачать и протестировать в своей среде.

1 голос
/ 12 мая 2011

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

...