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