Interested Article - ClickHouse

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

ClickHouse использует собственный диалект SQL близкий к стандартному, но содержащий различные расширения: массивы и вложенные структуры данных, функции высшего порядка, вероятностные структуры, функции для работы с URI , возможность для работы с внешними key-value хранилищами («словарями»), специализированные агрегатные функции, функциональности для семплирования , приблизительных вычислений, возможность создания хранимых представлений с агрегацией, наполнения таблицы из потока сообщений Apache Kafka и т. д.

Однако при этом имеются и ограничения — отсутствие транзакций , отсутствие точечных UPDATE/DELETE (пакетный UPDATE/DELETE был введен в июне 2018 года), ограниченная поддержка синтаксиса JOIN, строгие типы с необходимостью явного приведения, для некоторых операций промежуточные данные должны помещаться в оперативную память, отсутствие полноценного оптимизатора запросов, точечного чтения, присутствие ограничений в реализации некоторых функций, связанных со спецификой использования ClickHouse в Яндексе, и т. д.

Система оптимизирована для хранения данных на жестких дисках (используются преимущества линейного чтения, сжатия данных). Для обеспечения отказоустойчивости и масштабируемости ClickHouse может быть развернут на кластере (для координации процесса репликации используется Apache ZooKeeper ) . Для работы с базой данных существует консольный клиент, веб-клиент, HTTP интерфейс, ODBC и JDBC -драйверы , а также готовые библиотеки для интеграции со многими популярными языками программирования и библиотеками .

Во многих тестах ClickHouse показывает очень высокую производительность, выигрывая по этому показателю у таких конкурентов как Greenplum , , , , /MariaDB ColumnStore , Apache Spark , , Elasticsearch .

История

ClickHouse был разработан для решения задач веб-аналитики для Яндекс.Метрики — третьей по популярности системы веб-аналитики в мире .

Изначально в Яндекс.Метрике для построения отчетов использовались предварительно агрегированные данные .

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

  • необходимость заранее зафиксировать список доступных для пользователя отчетов (отсутствие возможности построить произвольный отчет);
  • предагрегации по большому количеству ключей или по ключам высокой кардинальности (таким как URL ) может приводить к обратному эффекту (увеличению объёма данных);
  • поддержание логической целостности при хранении большого количества разных агрегаций затруднительно.

Альтернативный подход заключается в хранении «сырых» неагрегированных данных, производя все необходимые вычисления в момент запроса пользователя. Для этого была необходима СУБД , которая смогла бы обрабатывать неагрегированные данные Яндекс.Метрики (петабайты данных) с очень высокой эффективностью и в реальном времени, и при этом обладая приемлемой стоимостью. Поскольку на тот момент таких решений на рынке не было, то в Яндексе начали разрабатывать свою СУБД .

Первый прототип ClickHouse появился в 2009 году . К концу 2014 года была запущена Метрика 2.0, работающая на базе ClickHouse, которая позволила пользователям строить произвольные отчеты.

В июне 2016 года исходный код системы был выложен в open-source под лицензией Apache 2.0 .

В сентябре 2021 года Яндексом совместно с венчурными фондами был основан одноименный стартап ClickHouse Inc. Новая компания продолжила разработку СУБД, сфокусировавшись на создании облачной инфраструктуры. Компания привлекла 250 млн долларов инвестиций и стала " единорогом ", получив оценку капитализации в 2 млрд долларов .

В марте 2022 года ClickHouse Inc. осудили вторжение России на Украину и заявили о полном уходе из России .

Распространение

В 2016 году кроме Яндекс.Метрики , ClickHouse использовался в ряде различных проектов внутри Яндекса , например, в open-source проекте для хранения данных о телеметрии , Яндекс.Маркете для мониторинга здоровья сервиса , и во внешних проектах, например, для анализа метаданных о событиях в LHCb эксперименте в CERN (порядка миллиарда событий и 1000 параметров для каждого события).

В настоящее время многие компании успешно используют ClickHouse, в том числе: Cloudflare , Bloomberg , ВКонтакте , Rambler , Тинькофф банк , NIC Labs Chile , Amadeus , Avito.ru , , ContentSquare , СМИ2 , ivi.ru , Mail.ru , Adtelligent , Carto, Lifestreet, , SemRush и др.

Примечания

  1. — 2016.
  2. — 2024.
  3. Яндекс ClickHouse. Быстрее некуда. / Филиппов Олег // Системный администратор. — 2017. — № 1—2. — С. 56—58.
  4. ClickHouse в системах сбора статистики / Календарев Александр // Системный администратор. — 2017. — № 3. — С. 56—59.
  5. . ru.bmstu.wiki. Дата обращения: 20 августа 2018. 20 августа 2018 года.
  6. Lardinois, Frederic (амер. англ.) . TechCrunch (6 декабря 2022). Дата обращения: 4 августа 2023.
  7. Афанасьев Г.И., Белоногов И.Б., Булатова И.Г., Тоноян С.А. // Аллея науки. — 2018. — Т. 3 , № 1 . — С. 850—860 . — ISSN . 20 августа 2018 года.
  8. . из оригинала 19 августа 2018 . Дата обращения: 19 августа 2018 .
  9. (англ.) . ClickHouse Documentation . clickhouse.yandex. Дата обращения: 17 августа 2018. 8 августа 2018 года.
  10. (англ.) . clickhouse.yandex. Дата обращения: 17 августа 2018. 20 октября 2016 года.
  11. (англ.) . www.altinity.com. Дата обращения: 17 августа 2018. 17 августа 2018 года.
  12. на YouTube , начиная с 8:50
  13. (кит.) . www.verynull.com (22 августа 2016). Дата обращения: 17 августа 2018. (недоступная ссылка)
  14. (англ.) . www.percona.com (15 марта 2017). Дата обращения: 17 августа 2018. 17 августа 2018 года.
  15. . dzone.com (англ.) . из оригинала 20 августа 2018 . Дата обращения: 20 августа 2018 .
  16. Mark Litwintschik. (англ.) . tech.marksblogg.com. Дата обращения: 17 августа 2018. 17 августа 2018 года.
  17. . w3techs.com. Дата обращения: 18 апреля 2019. 21 января 2014 года.
  18. . Блог Yandex . habr.com. 2015-12-17. из оригинала 17 августа 2018 . Дата обращения: 17 августа 2018 .
  19. . www.percona.com. Дата обращения: 20 октября 2016. 21 октября 2016 года.
  20. . из оригинала 21 октября 2016 . Дата обращения: 20 октября 2016 .
  21. . Дата обращения: 27 декабря 2022. 27 декабря 2022 года.
  22. Aaron Katz, Yury Izrailevsky and Alexey Milovidov. (англ.) . clickhouse.com (31 марта 2023). Дата обращения: 4 августа 2023. 4 августа 2023 года.
  23. Цепелева, Маша . vc.ru (1 апреля 2022). Дата обращения: 9 сентября 2023. 6 сентября 2022 года.
  24. . events.yandex.ru. Дата обращения: 20 октября 2016. 30 августа 2017 года.
  25. . Yandex . из оригинала 20 октября 2016 . Дата обращения: 20 октября 2016 .
  26. Alex Bocharov (2018-03-06). . The Cloudflare Blog . из оригинала 17 августа 2018 . Дата обращения: 17 августа 2018 .
  27. . habr.com. 2018-06-22. из оригинала 20 августа 2018 . Дата обращения: 20 августа 2018 .
  28. Демьян Кудрявцев (2018-05-17). . Блог компании Rambler Group . habr.com. из оригинала 19 августа 2018 . Дата обращения: 19 августа 2018 .
  29. М. Белоусов, Д. Немчин, Г. Безруких, Д. Павлов (2016-11-11). . Блог IT’s Tinkoff.ru . Habr. из оригинала 17 августа 2018 . Дата обращения: 17 августа 2018 . {{ cite news }} : Википедия:Обслуживание CS1 (множественные имена: authors list) ( ссылка )
  30. Felipe Espinoza and Javier Bustos. (англ.) . SREcon18 Americas . www.usenix.org (29 марта 2018). Дата обращения: 17 августа 2018. 17 августа 2018 года.
  31. . Kodiak Data . 2018-03-27. из оригинала 21 августа 2018 . Дата обращения: 21 августа 2018 .
  32. Владимир Колобаев. . Блог компании Avito . habr.com. из оригинала 19 августа 2018 . Дата обращения: 19 августа 2018 .
  33. (англ.) . Altinity. Дата обращения: 8 октября 2018. 8 октября 2018 года.
  34. Игорь Стрыхарь (2016-11-07). . Блог компании СМИ2 . habr.com. из оригинала 18 августа 2018 . Дата обращения: 18 августа 2018 .
  35. Коняев Андрей (2018-01-24). . Блог компании Онлайн-кинотеатр ivi . habr.com. из оригинала 19 августа 2018 . Дата обращения: 19 августа 2018 .
  36. Alexander Zaytsev (2017-08-10). . Altinity (англ.) . из оригинала 17 августа 2018 . Дата обращения: 17 августа 2018 .
  37. (англ.) . yandex.github.io. Дата обращения: 17 августа 2018. Архивировано из 17 августа 2018 года.
  38. . Блог компании JUG.ru Group . habr.ru. 2017-10-30. из оригинала 19 августа 2018 . Дата обращения: 19 августа 2018 .

Ссылки


Источник —

Same as ClickHouse