В PostgreSQL JOIN часто опирается на индексы, в Greenplum важны распределение и Motion, а в ClickHouse — объём входов, алгоритм и память аналитического соединения.
Какие особенности использования JOIN при построении витрин в PostgreSQL/Greenplum по сравнению с ClickHouse?
В PostgreSQL JOIN часто опирается на индексы, в Greenplum важны распределение и Motion, а в ClickHouse — объём входов, алгоритм и память аналитического соединения.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В PostgreSQL JOIN часто опирается на индексы, в Greenplum важны распределение и Motion, а в ClickHouse — объём входов, алгоритм и память аналитического соединения.
Во всех случаях сначала сокращайте ненужные строки и колонки и проверяйте фактический план. В Greenplum неудачный ключ распределения вызывает сетевую пересылку и skew.
В ClickHouse нельзя механически переносить ожидания от OLTP-индексов; иногда полезны подготовленные витрины или словари. Денормализация не является обязательной для любого JOIN. Сравнивайте подходы на своих запросах и учитывайте различия версий движков.