Перейти к основному содержимому
Перейти к основному содержимому

Быстрый старт в 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 ОЗУ. Вертикальная автоподстройка будет включена по умолчанию в уровне 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. Если вы определяете таблицу без указанного первичного ключа, тогда ключ становится кортежем, указанным в предложении ORDER BY. Если вы укажете и PRIMARY KEY, и ORDER BY, первичный ключ должен быть подмножеством порядка сортировки.

Первичный ключ также является ключом сортировки из кортежа (user_id, timestamp). Поэтому данные, хранящиеся в каждом файле колонки, будут отсортированы по user_id, затем timestamp.

Для глубокого погружения в основные концепции ClickHouse, смотрите "Основные концепции".

Вставка данных в вашу таблицу

Вы можете использовать знакомую команду INSERT INTO TABLE с ClickHouse, но важно понимать, что каждое вставка в таблицу MergeTree приводит к созданию части в хранилище.

Рекомендация по лучшим практикам ClickHouse

Вставляйте большое количество строк за раз - десятки тысяч или даже миллионы строк одновременно. Не волнуйтесь - ClickHouse легко справляется с таким объемом - и это сэкономит вам деньги за счет отправки меньшего количества запросов на запись в ваш сервис.


Даже для простого примера давайте вставим более одной строки за раз:

примечание

Обратите внимание, что колонка timestamp заполняется с использованием различных Date и DateTime функций. ClickHouse имеет сотни полезных функций, которые вы можете посмотреть в разделе Функции.

Давайте проверим, что всё прошло успешно:

Добавление данных с помощью клиента ClickHouse

Вы также можете подключиться к вашему сервису ClickHouse Cloud, используя инструмент командной строки под названием клиент clickhouse. Нажмите Connect в левом меню, чтобы получить эти данные. В диалоговом окне выберите Native из выпадающего меню:


  1. Установите ClickHouse.

  2. Выполните команду, заменив ваш хост, имя пользователя и пароль:

Если вы видите подсказку с улыбающимся смайлом, вы готовы выполнять запросы!

  1. Попробуйте выполнить следующий запрос:

Обратите внимание, что ответ возвращается в удобном табличном формате:

  1. Добавьте предложение FORMAT, чтобы указать один из многих поддерживаемых форматов вывода ClickHouse:

В приведенном запросе, вывод возвращается в виде табуляции:

  1. Чтобы выйти из clickhouse client, введите команду exit:

Загрузка файла

Распространенной задачей при работе с базами данных является вставка некоторых данных, которые у вас уже есть в файлах. У нас есть некоторые образцы данных в интернете, которые вы можете вставить, представляющие данные потоков кликов - они включают идентификатор пользователя, URL, который был посещен, и временную метку события.

Предположим, у нас есть следующий текст в CSV-файле с именем data.csv:

  1. Следующая команда вставляет данные в my_first_table:

  1. Обратите внимание, что новые строки теперь появляются в таблице, если вы запрашиваете из SQL консоли:


Что дальше?