Быстрый старт 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 VCPU и 16 GiB RAM. Вертикальное автоскалирование будет включено по умолчанию на уровне Scale.
Пользователи могут настраивать ресурсы службы при необходимости, указывая минимальный и максимальный размер для реплик, между которыми будет происходить масштабирование. Когда вы будете готовы, выберите Create service
.

Поздравляем! Ваша служба 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
,
то ключом становится кортеж, указанный в операторе 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. Нажмите Connect
в левом меню, чтобы получить эти данные. В диалоговом окне выберите Native
из выпадающего меню:

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

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