Ввод данных в системы хранения
Данные от мобильных телефонов, разнообразных умных устройств или внешних сервисов могут поступать небольшими пакетами, количество пакетов может быть очень велико. Часто для передачи используются медленные каналы связи, а время связи ограничено. Yandex Data Streams принимает поступающие с высокой частотой и скоростью данные, формирует пакеты для отправки в принимающие системы, обеспечивая оптимальные режимы работы для источников и приемников. Использование API-шлюза для приема сообщений позволяет реализовать собственный протокол передачи данных.
В этом сценарии API-шлюз принимает входящие данные и отправляет их в поток данных. В потоке данные буферизируются и передаются с помощью трансфера в кластер баз данных ClickHouse®.
Чтобы настроить ввод данных:
- Подготовьте облако к работе.
- Настройте окружение.
- Создайте кластер ClickHouse®.
- Создайте поток данных.
- Создайте API-шлюз.
- Создайте трансфер.
- Проверьте отправку и получение данных.
Если ввод данных вам больше не нужен, удалите используемые им ресурсы.
Подготовьте облако к работе
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVEилиTRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Необходимые платные ресурсы
-
API-шлюз: количество запросов к шлюзу (см. тарифы Yandex API Gateway).
-
Сервис Data Streams (см. тарифы Data Streams). Стоимость зависит от режима тарификации:
-
По выделенным ресурсам — оплачивается фиксированная почасовая ставка за установленный лимит пропускной способности и срок хранения сообщений, а также дополнительно количество единиц фактически записанных данных.
-
По фактическому использованию (On-demand) — оплачиваются выполненные операции записи и чтения данных, объем считанных/записанных данных, а также объем фактически используемого хранилища для сообщений, по которым не истек срок хранения.
-
-
База данных Managed Service for YDB, работающая в бессерверном режиме: операции с данными, объем хранимых данных и резервных копий (см. тарифы Managed Service for YDB).
-
Кластер Managed Service for ClickHouse®: использование выделенных хостам вычислительных ресурсов, объем хранилища и резервных копий (см. тарифы Managed Service for ClickHouse®).
-
Публичные IP-адреса, если для хостов кластера включен публичный доступ (см. тарифы Virtual Private Cloud).
-
Каждый трансфер: использование вычислительных ресурсов и количество переданных строк данных (см. тарифы Yandex Data Transfer).
Настройте окружение
Создайте сервисный аккаунт и назначьте ему роль 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