Кронверк Дата · Заметки
Заметки / СУБД

ClickHouse или Greenplum для аналитики

СУБД · 8 мин чтения

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

Архитектура

Greenplum — массово-параллельная СУБД на основе PostgreSQL: мастер-узел планирует запрос, сегменты выполняют его над своей частью данных. Поддерживаются транзакции, полноценный SQL и сложные соединения.

ClickHouse — колоночная СУБД, оптимизированная под быстрые агрегации по большим таблицам. Данные хранятся в движках семейства MergeTree, фоновые слияния сортируют и сжимают части.

Сравнение

КритерийGreenplumClickHouse
Соединения больших таблицСильная сторона, перераспределение данных между сегментамиВозможны, но требуют аккуратного проектирования
Агрегации по широким таблицамХорошоОчень быстро
Обновление и удаление строкОбычный SQL, транзакцииМутации и специальные движки, асинхронно
СовместимостьДиалект PostgreSQLСобственный диалект SQL
ЭксплуатацияТребует опыта администрирования MPPПроще начать, сложнее с репликацией и шардированием

Практические рекомендации

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