Быстрый старт с ClickHouse Cloud
Самый быстрый и простой способ начать работать с ClickHouse — создать новый сервис в ClickHouse Cloud.
1. Создайте сервис ClickHouse
Чтобы создать бесплатный сервис ClickHouse в ClickHouse Cloud, вам просто нужно зарегистрироваться, выполнив следующие шаги:
- Создайте учетную запись на странице регистрации
- Вы можете зарегистрироваться с помощью вашей электронной почты или через Google SSO, Microsoft SSO, AWS Marketplace, Google Cloud или Microsoft Azure
- Если вы зарегистрировались с помощью электронной почты и пароля, не забудьте подтвердить ваш адрес электронной почты в течение следующих 24 часов по ссылке, которую вы получите на свою почту
- Войдите, используя имя пользователя и пароль, которые вы только что создали

После входа в систему ClickHouse Cloud запускает мастер настройки, который проводит вас через создание нового сервиса ClickHouse. Вам изначально будет предложено выбрать план:

Мы рекомендуем уровень Scale для большинства рабочих нагрузок. Дополнительные сведения о уровнях можно найти здесь
Выбор плана требует от вас выбора желаемого региона для развертывания вашего первого сервиса. Конкретные доступные варианты будут зависеть от выбранного уровня. В следующем шаге предполагается, что пользователь выбрал рекомендованный уровень Scale.
Выберите желаемый регион для развертывания сервиса и дайте вашему новому сервису название:

По умолчанию уровень Scale создаст 3 реплики, каждая из которых будет иметь 4 VCPUs и 16 GiB ОЗУ. Вертикальное автомасштабирование будет включено по умолчанию в уровне Scale.
Пользователи могут настроить ресурсы сервиса, если это необходимо, указав минимальный и максимальный размер для реплик, между которыми они будут масштабироваться. Когда будете готовы, выберите Создать сервис
.

Поздравляем! Ваш сервис ClickHouse Cloud запущен, и настройка завершена. Продолжайте читать, чтобы узнать, как начать загружать и запрашивать ваши данные.
2. Подключитесь к ClickHouse
Существует 2 способа подключения к ClickHouse:
- Подключиться с помощью нашего веб-интерфейса SQL
- Подключиться с помощью вашего приложения
Подключение с помощью SQL-интерфейса
Для быстрого старта ClickHouse предоставляет веб-интерфейс SQL, на который вы будете перенаправлены после завершения настройки.

Создайте вкладку запроса и введите простой запрос, чтобы убедиться, что ваше соединение работает:
Вы должны увидеть 4 базы данных в списке, плюс любые, которые вы могли добавить.

Вот и все - вы готовы начать использовать ваш новый сервис ClickHouse!
Подключение с вашим приложением
Нажмите кнопку подключения в навигационном меню. Откроется модальное окно, предлагающее учетные данные для вашего сервиса и набор инструкций о том, как подключиться с помощью вашего интерфейса или клиентских библиотек.

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

Вы можете загрузить данные следующими способами:
- Настройте ClickPipe для начала приема данных из источников, таких как S3, Postgres, Kafka, GCS
- Используйте SQL интерфейс
- Используйте клиент ClickHouse
- Загрузите файл - поддерживаемые форматы включают JSON, CSV и TSV
- Загрузите данные с URL файла
ClickPipes
ClickPipes - это управляемая интеграционная платформа, которая упрощает прием данных из разнообразных источников всего несколькими нажатиями кнопок. Спроектированная для самых требовательных рабочих нагрузок, надежная и масштабируемая архитектура ClickPipes обеспечивает стабильную производительность и надежность. ClickPipes можно использовать для долгосрочного стриминга или одноразовой загрузки данных.

Добавьте данные с помощью SQL-интерфейса
Как и большинство систем управления базами данных, ClickHouse логически группирует таблицы в базы данных. Используйте команду CREATE DATABASE
, чтобы создать новую базу данных в ClickHouse:
Выполните следующую команду, чтобы создать таблицу с именем my_first_table
в базе данных helloworld
:
В приведенном выше примере my_first_table
— это таблица MergeTree
с четырьмя столбцами:
user_id
: 32-битное беззнаковое целое число (UInt32)message
: тип данных String, который заменяет такие типы, какVARCHAR
,BLOB
,CLOB
и другие из других систем управления базами данныхtimestamp
: значение DateTime, которое представляет момент времениmetric
: 32-битное число с плавающей запятой (Float32)
Движки таблиц определяют:
- Как и где хранятся данные
- Какие запросы поддерживаются
- Реплицируются ли данные или нет
Существует множество движков таблиц на выбор, но для простой таблицы на одноузловом сервере ClickHouse MergeTree
будет вашим вероятным выбором.
Краткое введение в первичные ключи
Прежде чем продолжать, важно понять, как работают первичные ключи в ClickHouse (реализация первичных ключей может показаться неожиданной!):
- первичные ключи в ClickHouse не уникальны для каждой строки в таблице
Первичный ключ таблицы ClickHouse определяет, как данные сортируются при записи на диск. Каждые 8,192 строки или 10MB
данных (известных как гранулярность индекса) создают запись в файле индекса первичного ключа. Эта концепция гранулярности
создает разреженный индекс, который может легко поместиться в памяти, а гранулы представляют собой полосу наименьшего объема
данных столбца, которая обрабатывается во время запросов SELECT
.
Первичный ключ может быть определен с помощью параметра PRIMARY KEY
. Если вы создаете таблицу без указанного PRIMARY KEY
,
то ключом становится кортеж, указанный вclause ORDER BY
. Если вы указываете как PRIMARY KEY
, так и ORDER BY
, первичный ключ должен быть подмножеством порядка сортировки.
Первичный ключ также является ключом сортировки, который представляет собой кортеж из (user_id, timestamp)
. Таким образом, данные, хранящиеся в каждом
файле столбца, будут отсортированы по user_id
, затем по timestamp
.
Для подробного изучения основных концепций ClickHouse смотрите "Основные концепции".
Вставка данных в вашу таблицу
Вы можете использовать знакомую команду INSERT INTO TABLE
с ClickHouse, но важно понимать, что каждая вставка в таблицу MergeTree
создает часть, которая хранится.
Вставляйте большое количество строк за один раз - десятки тысяч или даже миллионы. Не переживайте - ClickHouse легко справится с таким объемом - и это сохранит ваши деньги, отправляя меньше запросов на запись вашему сервису.
Даже для простого примера, давайте вставим более одной строки за раз:
Обратите внимание, что столбец timestamp
заполняется с использованием различных Date и DateTime функций. ClickHouse имеет сотни полезных функций, которые вы можете посмотреть в разделе Функции.
Давайте проверим, что это сработало:
Добавьте данные с помощью клиента ClickHouse
Вы также можете подключиться к вашему сервису ClickHouse Cloud с помощью командной утилиты под названием клиент ClickHouse. Нажмите Подключиться
в левом меню, чтобы получить эти сведения. В открывшемся окне выберите Native
из выпадающего списка:

-
Установите ClickHouse.
-
Выполните команду, заменяя ваше имя хоста, имя пользователя и пароль:
Если вы получите подсказку в виде смайлика, вы готовы запускать запросы!
- Попробуйте выполнить следующий запрос:
Обратите внимание, что ответ приходит в удобном формате таблицы:
- Добавьте клаузу
FORMAT
, чтобы указать один из многих поддерживаемых форматов вывода ClickHouse:
В приведенном выше запросе вывод возвращается в табульном формате:
- Чтобы выйти из
клиента ClickHouse
, введите команду exit:
Загрузка файла
Распространенной задачей при начале работы с базой данных является вставка некоторых данных, которые у вас уже есть в файлах. У нас есть несколько примеров данных онлайн, которые вы можете вставить, представляющих данные о кликах - они включают идентификатор пользователя, URL, который был посещен, и время события.
Предположим, у нас есть следующий текст в CSV файле с именем data.csv
:
- Следующая команда вставляет данные в
my_first_table
:
- Обратите внимание, что новые строки теперь появляются в таблице, если выполнять запрос из SQL интерфейса:

Что дальше?
- Учебник предлагает вставить 2 миллиона строк в таблицу и написать несколько аналитических запросов
- У нас есть список примеров наборов данных с инструкциями по их вставке
- Посмотрите наше 25-минутное видео о Начале работы с ClickHouse
- Если ваши данные поступают из внешнего источника, ознакомьтесь с нашей коллекцией руководств по интеграции для подключения к очередям сообщений, базам данных, конвейерам и другим
- Если вы используете инструмент визуализации UI/BI, ознакомьтесь с руководствами пользователя для подключения UI к ClickHouse
- Руководство пользователя по первичным ключам содержит все, что вам нужно знать о первичных ключах и их определении