Собсес Flashcards
Был ли у вас опыт работы с ClickHouse?
Да, в ЮMoney хранили там логи и аналитику, прежде чем перейти на Greenplum, и я активно писал SQL-запросы, настраивал партиционирование и осуществлял выгрузки/загрузки для быстрой аналитики.
Для каких целей вы использовали ClickHouse? (например, аналитика, отчётность)
Применял для быстрой аналитики веб-событий, логов, рекламных метрик; там, где нужны были мгновенные агрегации по большим объёмам, а полноценные витрины ещё не были построены в Greenplum.
Использовался ли ClickHouse для построения витрин данных?
Полных «витрин» на ClickHouse не делали, держали в основном плоские таблицы для скоростной выборки, а полноценные Data Vault- или звёздные схемы перенесли в Greenplum.
Как аналитики подключались к ClickHouse для работы с данными?
Некоторые заходили через clickhouse-client и SQL, другие пользовались Tableau-коннектором; иногда выгружали CSV и смотрели в Excel.
Использовали ли вы какие-либо инструменты для визуализации данных из ClickHouse?
Да, тестировали Tableau (через нативный драйвер), а также некоторые коллеги пытались подключать Grafana, но основную визуализацию мы делали через Greenplum.
Приходилось ли вам переносить данные в ClickHouse из других систем (например, Greenplum, Postgres, Kafka)?
В основном шёл обратный процесс (ClickHouse → Greenplum), но временами выгружали данные из PostgreSQL в CSV и заливали в ClickHouse для быстрой аналитики (Python-скрипт + clickhouse-client).
С какими типами движков таблиц в ClickHouse вам приходилось работать?
В основном MergeTree и ReplicatedMergeTree, часто партиционировали по дате для ускорения запросов по диапазону дат.
Использовали ли вы партиционирование в ClickHouse? Для чего?
Да, партиционировали по датам (месяц/день) в лог-таблицах, чтобы запросы на конкретные периоды обрабатывались быстрее и не сканировали весь объём.
Приходилось ли вам оптимизировать запросы в ClickHouse для аналитических целей?
Да, изменял порядок сортировки (ORDER BY), устранял лишние подзапросы, настраивал подходящие агрегирующие функции (например, вместо DISTINCT считал GROUP BY), чтобы ускорить отчёт по логам.
С какими особенностями колоночной СУБД (на примере ClickHouse) вы сталкивались при проектировании аналитических решений?
Нужно продумывать структуру и сортировку для каждой таблицы, помнить об отсутствии классических транзакций, учитывать, что сложные JOIN-ы и оконные функции могут работать иначе, чем в PostgreSQL.
Использовался ли ClickHouse для оперативной аналитики (near real-time)?
Частично, в ЮMoney лог-данные заливались каждые 30–60 минут, что позволяло быстро смотреть активность пользователей почти в режиме online.
Как часто обновлялись данные в ClickHouse для целей отчётности?
Для некоторых таблиц — раз в день, для логов/событий — от 30 минут до часа; зависело от критичности данных и загрузки сервера.
Какие задачи, связанные с ClickHouse и аналитикой, вам запомнились или были наиболее интересными?
Перенос больших объёмов (сотни млн строк) в Greenplum и проверка корректности (md5-суммы), а также оптимизация агрегаций в лог-таблице для маркетинговых отчётов.
С какими объемами данных приходилось работать в ClickHouse для аналитики?
До сотен миллионов строк в одной таблице, объёмы могли занимать десятки-сотни гигабайт, особенно по логам мобильного приложения и веб-трафика.
Использовался ли SQL для работы с ClickHouse? Какие особенности SQL в ClickHouse вы знаете?
Да, работал через clickhouse-client, учитывал отсутствие классических транзакций, ограниченную поддержку подзапросов и использование специфических функций, например uniqExact.
Как вы обеспечивали качество данных, используемых для аналитики в ClickHouse?
Сверял итоги с исходниками (суммы, счётчики), делал проверочные выборки после загрузки, писал Airflow DAG, который сигнализировал, если число строк в ClickHouse не совпадает с ожидаемым.
Сравнивали ли вы ClickHouse с другими базами данных для аналитики (например, Postgres)? Почему был выбран ClickHouse?
Сравнивали; ClickHouse выигрывал в скорости простых агрегаций на больших объёмах. PostgreSQL при огромном числе строк мог сильно замедляться, а ClickHouse отлично справлялся с колоночным хранением.
Использовался ли ClickHouse в связке с другими технологиями обработки данных (например, Spark, Hadoop, Airflow)?
Да, основная связка была с Airflow, где PythonOperators управляли загрузкой/выгрузкой. Hadoop/Spark больше практиковался в ББР Банке, но без прямой интеграции с ClickHouse.
Каким образом данные из ClickHouse предоставлялись конечным пользователям (например, отчёты, дашборды, API)?
Либо SQL-запросы через clickhouse-client, либо выгрузки CSV, иногда подключение Tableau, реже формировали маленькие веб-API, которые дергали ClickHouse под капотом.
Сталкивались ли вы с необходимостью агрегации данных в ClickHouse для отчётности?
Да, особенно по логам: считали число уникальных пользователей, количество событий, CTR по рекламе, группируя данные по дате и регионам.
Строятся ли у вас витрины на DBT и перекладываются ли они в ClickHouse?
Нет, DBT не внедряли, а основные витрины мигрировали в Greenplum, в ClickHouse оставались лишь плоские структуры.
Почему в компании используется PostgreSQL для аналитиков, а не колоночная база данных, такая как ClickHouse?
PostgreSQL был изначально для микросервисов, а для аналитики больших объёмов позже выбрали Greenplum. ClickHouse остался для быстрых лог-агрегаций, но не для всего аналитического стека.
В чем плюс использования колоночных баз данных, таких как ClickHouse?
Высокая скорость при агрегирующих запросах, эффективная компрессия и чтение нужных столбцов, что особенно полезно при больших объёмах данных.
Используется ли ClickHouse в вашей текущей или предыдущей работе?
В ЮMoney использовался, потом проект перешёл в Greenplum как основную DWH, а после моего ухода из компании новых проектов на ClickHouse у меня не было.