ClickHouse в облаке: дом для вашей аналитики
Сколько существует баз данных? Вагон и маленькая тележка: реляционные, объектные, документные, сетевые, функциональные, их гибриды. А еще несколько десятков систем управления ими. И среди всего этого многообразия есть СУБД ClickHouse. Расскажем, чем она отличается и для каких задач подходит лучше всего.
Почему ClickHouse хорошо решает аналитические задачи
Как у любого инструмента, у ClickHouse есть свое предназначение — это аналитика и скоростное чтение данных, работа со статистическими данными и отчетами, для которых требуется предоставление быстрых выборок по куче значений.
Конечно, все репорты можно легко строить и из любой другой СУБД, но это только до тех пор, пока количество записей не достигнет миллиардов строк. Тогда сложные аналитические запросы в БД будут исполняться долго. Даже со всеми ключами и индексами, правильно натянутыми на нужные таблицы, вам все равно нужно будет анализировать все это множество записей для построения выборок. Весьма небыстрый процесс.
Чтобы как-то его упростить и ускорить, придумали колоночные СУБД — как раз к ним и относят ClickHouse. Они отличаются от всех других тем, что (кто бы мог подумать!) хранят данные в колонках. Зачем? Обычные реляционные СУБД оперируют строками, поэтому, как ни крути, работа с одним столбцом в такой БД затрагивает кучу сторонних данных — даже если мы ограничиваем выборку отдельными столбцами и юзаем индексы. А для аналитики нам чаще всего нужно работать именно с определенными столбцами значений.
Если писать данные колонками: один столбец — один набор значений, тогда проще строить отчеты по какой-либо переменной. Нужно только выполнить запрос на проиндексированной колонке — а это куда меньше работы и куда проще индексация.
В этом и заключается принцип работы колоночных баз данных. Там еще многое спрятано под капотом: распределение значений по времени, работа с разными колонками одновременно, но ключевой момент всегда один — работа в столбцах. Ниже расскажем, для каких задач понадобится установка ClickHouse.