WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
ClickHouse
Тип реляционная СУБД
Разработчик Яндекс
Написана на C++
Операционная система Linux
Первый выпуск 2016-06-15; 988 дней тому назад
Последняя версия v19.3.3-stable[1] (2019-02-13; 15 дней тому назад)
Лицензия Apache (2.0)[2]
Сайт clickhouse.yandex

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

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

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

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

Во многих тестах ClickHouse показывает очень высокую производительность, выигрывая по этому показателю у таких конкурентов как Greenplum, Vertica[9], Amazon Redshift[10], Druid[11], InfiniDB/MariaDB ColumnStore[12], Apache Spark[13][14], Presto, Elasticsearch[15].

История

ClickHouse был разработан для решения задач веб-аналитики для Яндекс.Метрики — второй по величине системы в мире[16][17][18][19].

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

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

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

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

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

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

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

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

В настоящее время многие компании успешно используют ClickHouse, в том числе: Cloudflare, Bloomberg[25], Spotify[26], ВКонтакте[27], Rambler[28], Тинькофф банк[29], NIC Labs Chile[30], Amadeus[31], Avito.ru[32], Criteo, ContentSquare[33], СМИ2[34], ivi.ru[35], Mail.ru, Adtelligent, Carto, Lifestreet, Infinidat[36][37], SemRush[38] и др.

Примечания

  1. ClickHouse releases (англ.). yandex/ClickHouse. GitHub. Проверено 14 февраля 2019.
  2. Лицензия ClickHouse (англ.). yandex/ClickHouse. GitHub. Проверено 17 августа 2018.
  3. Яндекс ClickHouse. Быстрее некуда. / Филиппов Олег // Системный администратор. — 2017.   1—2. — С. 56—58.
  4. ClickHouse в системах сбора статистики / Календарев Александр // Системный администратор. — 2017.   3. — С. 56—59.
  5. ClickHouse — Национальная библиотека им. Н. Э. Баумана. ru.bmstu.wiki. Проверено 20 августа 2018.
  6. Афанасьев Г.И., Белоногов И.Б., Булатова И.Г., Тоноян С.А. Организация кластеров для обработки данных на основе СУБД YANDEX CLICKHOUSE и распределенной координационной службы для распределенных приложений APACHE ZOOKEEPER // Аллея науки. — 2018. Т. 3, № 1. С. 850-860. ISSN 2587-6244.
  7. Доступ к ClickHouse с помощью JDBC (рус.). Проверено 19 августа 2018.
  8. Interfaces (англ.). ClickHouse Documentation. clickhouse.yandex. Проверено 17 августа 2018.
  9. Performance comparison of analytical DBMS (англ.). clickhouse.yandex. Проверено 17 августа 2018.
  10. ClickHouse vs Amazon RedShift Benchmark (англ.). www.altinity.com. Проверено 17 августа 2018.
  11. SREcon18 Americas - Monitoring DNS with Open-Source Solutions на YouTube, начиная с 8:50
  12. InfiniDB vs ClickHouse (кит.). www.verynull.com (22 августа 2016). Проверено 17 августа 2018.
  13. Column Store Database Benchmarks: MariaDB ColumnStore vs. ClickHouse vs. Apache Spark (англ.). www.percona.com (15 March 2017). Проверено 17 августа 2018.
  14. A Look at ClickHouse: A New Open Source Columnar Database - DZone Database (англ.), dzone.com. Проверено 20 августа 2018.
  15. Mark Litwintschik. Summary of the 1.1 Billion Taxi Rides Benchmarks (англ.). tech.marksblogg.com. Проверено 17 августа 2018.
  16. Usage Statistics and Market Share of Traffic Analysis Tools for Websites, October 2016. w3techs.com. Проверено 20 октября 2016.
  17. Datanyze. Google Analytics vs Yandex Metrica Competitor Report | Web Analytics (англ.). Datanyze. Проверено 17 августа 2018.
  18. Wappalyzer. Analytics. wappalyzer.com (30 декабря 2011). Проверено 20 октября 2016.
  19. Analytics - SEOMON.com. seomon.com. Проверено 20 октября 2016.
  20. Эволюция структур данных в Яндекс.Метрике (рус.), Блог Yandex, habr.com (17 декабря 2015). Проверено 17 августа 2018.
  21. ClickHouse: High-Performance Distributed DBMS for Analytics | Percona Live Amsterdam - Open Source Database Conference 2016. www.percona.com. Проверено 20 октября 2016.
  22. 1 2 Яндекс открывает ClickHouse. Проверено 20 октября 2016.
  23. Здоровье Маркета: как мы превращаем логи в графики, Дмитрий Андреев (Яндекс) — События Яндекса. events.yandex.ru. Проверено 20 октября 2016.
  24. Yandex — Yandex Launches Search Tool for LHC Events at CERN, Yandex. Проверено 20 октября 2016.
  25. Alex Bocharov. HTTP Analytics for 6M requests per second using ClickHouse, The Cloudflare Blog (6 марта 2018). Проверено 17 августа 2018.
  26. Gleb Kanterov. ClickHouse for Experimentation. ClickHouse Community Meetup in Berlin. ClickHouse Blog. clickhouse.yandex (3 июля 2018). Проверено 20 августа 2018.
  27. Немного закулисья VK (рус.), habr.com (22 июня 2018). Проверено 20 августа 2018.
  28. Демьян Кудрявцев. Разработка API ClickHouse для Рамблер/топ-100 (рус.), Блог компании Rambler Group, habr.com (17 мая 2018). Проверено 19 августа 2018.
  29. М. Белоусов, Д. Немчин, Г. Безруких, Д. Павлов. Сравнение аналитических in-memory баз данных (рус.), Блог IT’s Tinkoff.ru, Habr (11 ноября 2016). Проверено 17 августа 2018.
  30. Felipe Espinoza and Javier Bustos. Monitoring DNS with Open-Source Solutions | USENIX (англ.). SREcon18 Americas. www.usenix.org (29 March 2018). Проверено 17 августа 2018.
  31. Amadeus Technologies Launches Investment and Insights Tool Based on Machine Learning and Strategy Algorithms, Kodiak Data (27 марта 2018).
  32. Владимир Колобаев. Хранение метрик: как мы перешли с Graphite+Whisper на Graphite+ClickHouse (рус.), Блог компании Avito, habr.com. Проверено 19 августа 2018.
  33. ClickHouse Meetup in Paris (англ.). Altinity. Проверено 8 октября 2018.
  34. Игорь Стрыхарь. Как запустить ClickHouse своими силами и выиграть джекпот (рус.), Блог компании СМИ2, habr.com (7 ноября 2016). Проверено 18 августа 2018.
  35. Коняев Андрей. Как мы в ivi переписывали etl: Flink+Kafka+ClickHouse (рус.), Блог компании Онлайн-кинотеатр ivi, habr.com (24 января 2018). Проверено 19 августа 2018.
  36. Alexander Zaytsev. Who and Why is Using ClickHouse (англ.), Altinity (10 August 2017). Проверено 17 августа 2018.
  37. ClickHouse Meetup in Berlin (англ.). yandex.github.io. Проверено 17 августа 2018.
  38. «Иногда приходится заглядывать в код Spark»: Александр Морозов (SEMrush) об использовании Scala, Spark и ClickHouse (рус.), Блог компании JUG.ru Group, habr.ru (30 октября 2017). Проверено 19 августа 2018.

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2025
WikiSort.ru - проект по пересортировке и дополнению контента Википедии