Журнал об IT-бизнесе, технологиях и цифровой трансформации

ClickHouse в облаке: дом для вашей аналитики Mail.ru Cloud Solutions
Mail.ru Cloud Solutions
  • 30 апреля
  • Технологии

ClickHouse в облаке: дом для вашей аналитики

Популярное

Сколько существует баз данных? Вагон и маленькая тележка: реляционные, объектные, документные, сетевые, функциональные, их гибриды. А еще несколько десятков систем управления ими. И среди всего этого многообразия есть СУБД ClickHouse. Расскажем, чем она отличается и для каких задач подходит лучше всего.

Почему ClickHouse хорошо решает аналитические задачи

Как у любого инструмента, у ClickHouse есть свое предназначение — это аналитика и скоростное чтение данных, работа со статистическими данными и отчетами, для которых требуется предоставление быстрых выборок по куче значений.

Конечно, все репорты можно легко строить и из любой другой СУБД, но это только до тех пор, пока количество записей не достигнет миллиардов строк. Тогда сложные аналитические запросы в БД будут исполняться долго. Даже со всеми ключами и индексами, правильно натянутыми на нужные таблицы, вам все равно нужно будет анализировать все это множество записей для построения выборок. Весьма небыстрый процесс.

Чтобы как-то его упростить и ускорить, придумали колоночные СУБД — как раз к ним и относят ClickHouse. Они отличаются от всех других тем, что (кто бы мог подумать!) хранят данные в колонках. Зачем? Обычные реляционные СУБД оперируют строками, поэтому, как ни крути, работа с одним столбцом в такой БД затрагивает кучу сторонних данных — даже если мы ограничиваем выборку отдельными столбцами и юзаем индексы. А для аналитики нам чаще всего нужно работать именно с определенными столбцами значений.

Если писать данные колонками: один столбец — один набор значений, тогда проще строить отчеты по какой-либо переменной. Нужно только выполнить запрос на проиндексированной колонке — а это куда меньше работы и куда проще индексация.

В этом и заключается принцип работы колоночных баз данных. Там еще многое спрятано под капотом: распределение значений по времени, работа с разными колонками одновременно, но ключевой момент всегда один — работа в столбцах. Ниже расскажем, для каких задач понадобится установка ClickHouse.

Каждая строка колоночной СУБД содержит свой набор столбцов со значениями, которые можно анализировать отдельно от других столбцов. Источник

Что с этим можно делать: для каких проектов подходит ClickHouse

По своим функциям ClickHouse лучше всего подходит для проектов, в которых нужно что-то считать и анализировать в больших количествах. И это не только статистика с аналитикой, но и логи, и некая скоростная буферная прослойка между традиционными СУБД,

Есть и более сложные примеры применения ClickHouse.

Например, приближенные вычисления. Допустим, вам важно в реальном времени оценивать приблизительный порядок неких статистических величин. Абсолютная точность не нужна, важно лишь примерное понимание дел. ClickHouse умеет делать такую оценку значений на огромных выборках. Фича редкая и нужная для тех, кому в реальном времени надо принимать сложные решения, основанные на быстро поступающих данных.

ClickHouse в облаке в один клик
Попробуйте бесплатно

Стоит подумать о ClickHouse и как об альтернативе ELK-стеку для сбора логов. ELK настраивать намного сложнее — это, по сути, связка из трех продуктов, каждый из которых обладает своими нюансами и проблемами. ClickHouse же в этом плане более прост, понятен и надежен. А еще он поддерживает SQL — можно делать аналитику по логам с помощью привычных инструментов и с хорошей скоростью. Мало какая программа для работы с логами умеет такое.

Отдельно хочется отметить каменную стабильность работы, конскую способность к масштабированию и совершенно божественные уровни сжатия данных и доступности системы. Кластеры Clickhouse непотопляемы, хранят данные в предельно сжатом виде и отдают информацию чертовски быстро и цельно.

А есть ли ограничения?

Минусов и ограничений у ClickHouse не так много. Конечно, есть определенная область применения этой БД, и за ее рамки выходить не стоит. Так, интернет-магазин на ней не построишь.

Чтобы ClickHouse реально стал для вас полезен, объемы данных должны быть действительно большими. Если у вас в базе данных 100 миллионов строк — вы можете обойтись штатными средствами этой самой БД.

Кроме того, если сравнить ClickHouse с другими СУБД, то она не самая популярная в мире. Все необходимые инструменты и библиотеки вы найдете, однако, у более популярных систем хранения набор инструментов больше.

Еще есть определенные особенности реализации этой СУБД, которые некоторые могут назвать проблемами: отсутствие транзакций и сравнительно низкая эффективность чтения одиночных записей. Но это нормально — ClickHouse нужен для других целей. По многим тестам производительности она опережает таких конкурентов как Apache Spark, Amazon Redshift, Druid, Greenplum и Vertica.

Если разворачивать СУБД в облаке все гораздо проще — не надо думать об инструментах и настройке ClickHouse, вы за две минуты получите ее в готовом к работе и оптимально сконфигурированном виде. Перенести данные в ClickHouse с другого облачного сервиса, своего частного облака или железной инфраструктуры можно с помощью автоматизированного сервиса миграции в режиме реального времени без остановки работы приложений.

Ссылка скопирована!

Что еще почитать про ИТ-бизнес