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

Быстрый старт с 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

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


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

примечание

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

Давайте проверим, что это сработало:

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

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


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

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

Если вы получите подсказку в виде смайлика, вы готовы запускать запросы!

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

Обратите внимание, что ответ приходит в удобном формате таблицы:

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

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

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

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

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

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

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

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


Что дальше?