PostgreSQL — отличная OLTP-СУБД, оптимизированная для транзакций: вставка, обновление, удаление отдельных строк. Но когда аналитический запрос сканирует миллионы строк по нескольким колонкам, строковое хранилище PostgreSQL читает все колонки каждой строки — даже если запросу нужны только 3 из 50.
ClickHouse — колоночная СУБД от Яндекса, спроектированная для OLAP-нагрузок. Данные хранятся по колонкам: при запросе SELECT avg(amount) FROM orders WHERE date > '2024-01-01' считываются только колонки amount и date, а не вся строка. Это даёт прирост скорости в 10-100 раз на аналитических запросах по таблицам с миллиардами строк.
Выбор между PostgreSQL и ClickHouse — не вопрос «лучше/хуже», а вопрос рабочей нагрузки. В этой статье разберём архитектурные различия, покажем бенчмарки на реальных запросах и определим критерии выбора.
Оставить комментарий