Ввод данных в системы хранения
Данные от мобильных телефонов, разнообразных умных устройств или внешних сервисов могут поступать небольшими пакетами, количество пакетов может быть очень велико. Часто для передачи используются медленные каналы связи, а время связи ограничено. Yandex Data Streams принимает поступающие с высокой частотой и скоростью данные, формирует пакеты для отправки в принимающие системы, обеспечивая оптимальные режимы работы для источников и приемников. Использование API-шлюза для приема сообщений позволяет реализовать собственный протокол передачи данных.
В этом сценарии API-шлюз принимает входящие данные и отправляет их в поток данных. В потоке данные буферизируются и передаются с помощью трансфера в кластер баз данных ClickHouse®.
Чтобы настроить ввод данных:
- Подготовьте облако к работе.
- Настройте окружение.
- Создайте кластер ClickHouse®.
- Создайте поток данных.
- Создайте API-шлюз.
- Создайте трансфер.
- Проверьте отправку и получение данных.
Если ввод данных вам больше не нужен, удалите используемые им ресурсы.
Подготовьте облако к работе
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Необходимые платные ресурсы
В стоимость поддержки ввода данных в системы хранения входит:
- плата за запросы к API-шлюзу (см. тарифы Yandex API Gateway);
- плата за обслуживание потока данных (см. тарифы Yandex Data Streams);
- плата за перенос данных между источниками и приемниками (см. тарифы Yandex Data Transfer);
- плата за постоянно запущенный кластер Managed Service for ClickHouse® (см. тарифы Managed Service for ClickHouse®).
Настройте окружение
Создайте сервисный аккаунт и назначьте ему роль editor
на ваш каталог.
Создайте кластер ClickHouse®
- В консоли управления
выберите каталог, в котором нужно создать кластер БД. - Выберите сервис Managed Service for ClickHouse®.
- Нажмите кнопку Создать кластер.
- Укажите настройки кластера ClickHouse®:
- В блоке Базовые параметры:
- Введите имя кластера.
- Выберите созданный ранее сервисный аккаунт.
- В блоке База данных укажите имя БД, имя пользователя и пароль.
- В блоке Хосты нажмите значок
. Включите опцию Публичный доступ и нажмите кнопку Сохранить. - В блоке Дополнительные настройки включите опции:
- Доступ из Data Transfer.
- Доступ из консоли управления.
- Задайте остальные параметры кластера по инструкции.
- Нажмите кнопку Создать кластер.
Дождитесь запуска кластера. Когда кластер будет готов к использованию, его состояние изменится на Alive
.
Создайте поток данных
- В консоли управления
выберите каталог, в котором хотите создать поток данных. - Выберите сервис Data Streams.
- Нажмите кнопку Создать поток.
- Укажите существующую бессерверную базу данных YDB или создайте новую. Если вы создали новую базу данных, после ее создания нажмите кнопку Обновить для обновления списка баз.
- Введите имя потока данных.
- Нажмите кнопку Создать.
Дождитесь запуска потока данных. Когда поток будет готов к использованию, его статус изменится с CREATING
на ACTIVE
.
Создайте API-шлюз
-
На странице созданного потока данных нажмите кнопку Действия и выберите API Gateway.
-
Введите имя API-шлюза.
-
В поле Спецификация замените значение ключа
service_account_id
идентификатором созданного ранее сервисного аккаунта.Сохраните значения полей Имя и Служебный домен, они понадобятся на следующих шагах.
-
Нажмите кнопку Создать.
Дождитесь запуска API-шлюза. Когда API-шлюз будет готов к использованию, его статус изменится с CREATING
на ACTIVE
.
Создайте трансфер
- В консоли управления
выберите каталог, в котором нужно создать трансфер. - Выберите сервис Yandex Data Transfer.
- Нажмите кнопку Создать трансфер данных.
- Введите имя трансфера.
- Создайте эндпоинт-источник:
- В строке Источник нажмите кнопку Создать новый.
- Укажите имя эндпоинта.
- В списке Тип базы данных выберите
Yandex Data Streams
. - Выберите базу данных для источника.
- Введите имя созданного ранее потока данных.
- Выберите созданный ранее сервисный аккаунт.
- Нажмите кнопку Создать.
- Создайте эндпоинт-приемник:
- В строке Приемник нажмите кнопку Создать новый.
- Укажите имя эндпоинта.
- В списке Тип базы данных выберите
ClickHouse
. - Выберите созданный ранее MDB кластер.
- Введите имя БД, имя пользователя и пароль созданного ранее кластера.
- Нажмите кнопку Создать.
- Нажмите кнопку Создать.
- Нажмите на значок
рядом с именем созданного трансфера и выберите Активировать.
Дождитесь активации трансфера. Когда трансфер будет готов к использованию, его статус сменится с Создается на Реплицируется.
Проверьте отправку и получение данных
-
Отправьте данные в систему хранения:
curl --request POST --data 'test massage' https://<url>/<paths>
Где:
<url>
— сохраненное ранее значение Служебный домен API-шлюза;<paths>
— сохраненное ранее значение Имя API-шлюза.
-
В консоли управления
выберите созданный ранее кластер Managed Service for ClickHouse®. -
На панели слева выберите SQL.
-
Введите имя пользователя и пароль и нажмите кнопку Подключиться.
-
В списке выберите созданную ранее базу данных.
-
Выберите таблицу БД.
Если настройка выполнена успешно, в таблице появится запись, содержащая служебные данные и отправленное сообщение.
Как удалить созданные ресурсы
Чтобы перестать платить за используемые ресурсы:
- Удалите API-шлюз.
- Удалите трансфер.
- Удалите эндпоинты.
- Удалите поток данных.
- Удалите кластер ClickHouse®.
ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc