Описание
ClickHouse — это колоночная аналитическая СУБД с открытым кодом, дающая возможность выполнять аналитические запросы в режиме реального времени на структурированных больших данных.
У ClickHouse есть собственный диалект SQL, который приближен к стандартному, но он имеет различные расширения:
- функциональности для семплирования, приблизительных вычислений
- массивы и вложенные структуры данных
- функции высшего порядка
- специализированные агрегатные функции
- возможность наполнения таблицы из потока сообщений Apache Kafka и многие другие
- вероятностные структуры
- функции для работы с URI
- возможность для работы с внешними key-value хранилищами («словарями»)
- возможность создания хранимых представлений с агрегацией.
Ограничения
- отсутствие транзакций
- отсутствие точечных UPDATE/DELETE (пакетный UPDATE/DELETE был введен в июне 2018 года)
- ограниченная поддержка синтаксиса JOIN
- строгие типы с необходимостью явного приведения
- для некоторых операций промежуточные данные должны помещаться в оперативную память
- отсутствие оконных функций
- отсутствие полноценного оптимизатора запросов, отсутствие точечного чтения
- присутствие ограничений в реализации некоторых функций
СУБД оптимизирована для хранения данных на жестких дисках (используются преимущества линейного чтения и сжатия данных). Для обеспечения отказоустойчивости и масштабируемости ClickHouse может быть развернут на кластере, а для координации процесса репликации используется Apache ZooKeeper.
Для работы с базой данных существует консольный клиент, веб-клиент, HTTP интерфейс, ODBC и JDBC-драйверы, а также готовые библиотеки для интеграции со многими популярными языками программирования и библиотеками.
Запуск инстанса с ClickHouse
Чтобы создать инстанса с ClickHouse необходимо зайти во вкладку «Инстансы баз данных» через личный кабинет и нажать на кнопку «Создать базу данных», после чего указать тип базы данных «ClickHouse» и тип конфигурации инстанса «Single».
Затем перейти на следующий шаг, где нужно ввести параметры инстанса:
Далее необходимо будет присовить название инстансу и ввести уникальную пару логин+пароль:
Важно
В случае, если вы оставили в выборе по умолчанию ключ (ключ для доступа по SSH), к которому у вас нет доступа, вернитесь на шаг назад и выберите «Сгенерировать новый SSH**-**ключ«.
Далее нужно подождать некоторое время, когда закончится процесс создания инстанса:
После этого будут выведены параметры подключения к инстансу:
Запуск кластера ClickHouse
В создании кластера ClickHouse есть некоторые отличия в действиях.
Необходимо выбрать тип конфигурации «Кластер»:
Далее ввести имя кластера, используемую сеть и периодичность резервного копирования:
Также можно выбрать параметры шардирования — разделения частей базы данных по разным серверам. Можно указать количество шардов и групп узлов с помощью кнопки «Добавить группу узлов»:
Остальные шаги выполняются аналогично созданию обычного инстанса ClickHouse.