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

Быстрый старт ClickHouse Cloud

Самый быстрый и простой способ начать работать с ClickHouse - создать новую услугу в ClickHouse Cloud.

Создание услуги ClickHouse

Чтобы создать бесплатную услугу ClickHouse в ClickHouse Cloud, вам нужно просто зарегистрироваться, выполнив следующие шаги:

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

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


подсказка

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

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

Выберите желаемый регион для развертывания услуги и дайте вашей новой услуге имя:


По умолчанию уровень Scale создаст 3 реплики, каждая с 4 VCPUs и 16 GiB RAM. Вертикальное автомасштабирование будет включено по умолчанию в уровне Scale.

Пользователи могут настроить ресурсы услуги по мере необходимости, указав минимальный и максимальный размер для реплик, между которыми произойдет масштабирование. Когда будете готовы, выберите Create service.


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

Подключение к ClickHouse

Существует 2 способа подключиться к ClickHouse:

  • Подключиться с помощью нашего веб-консоли SQL
  • Подключиться с вашим приложением

Подключение с помощью SQL консоли

Для быстрого старта ClickHouse предоставляет веб-консоль SQL, на которую вы будете перенаправлены по завершении процесса регистрации.

Создайте вкладку запроса и введите простой запрос, чтобы проверить, что ваше подключение работает:

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


Это все - вы готовы начать использовать вашу новую услугу ClickHouse!

Подключение с вашим приложением

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


Если вы не видите своего языкового клиента, возможно, вам стоит проверить наш список Интеграций.

Добавление данных

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

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


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

примечание

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


Что дальше?