Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Data Streams
    • Все руководства
    • Ввод данных в системы хранения
    • Умная обработка логов
    • Передача данных в микросервисных архитектурах
    • Сохранение данных в ClickHouse®
    • Репликация логов в Object Storage с помощью Fluent Bit
    • Репликация логов в Object Storage с помощью Data Streams
    • Миграция данных в Yandex Object Storage с помощью Yandex Data Transfer
    • Поставка данных из Yandex Managed Service for Apache Kafka® с помощью Yandex Data Transfer
    • Поставка данных из очереди Data Streams в Managed Service for YDB
    • Поставка данных в Yandex Managed Service for Apache Kafka® с помощью Yandex Data Transfer
    • Захват изменений YDB и поставка в YDS
    • Захват изменений PostgreSQL и поставка в YDS
    • Захват изменений MySQL® и поставка в YDS
    • Передача событий Yandex Cloud Postbox в Yandex Data Streams и их анализ с помощью Yandex DataLens
    • Создание интерактивного serverless-приложения с использованием WebSocket
    • Обработка аудитных логов Audit Trails
    • Обработка потока изменений Debezium
    • Загрузка аудитных логов в MaxPatrol SIEM
    • Поиск событий Yandex Cloud в Yandex Query
  • Управление доступом
  • Правила тарификации
  • Вопросы и ответы

В этой статье:

  • Преимущества
  • Прием данных
  • Надежность
  • Пакетирование
  • Перемотка данных
  • Несколько систем хранения
  • Маскирование и обработка логов
  • Чтение данных
  • Настройка
  1. Практические руководства
  2. Ввод данных в системы хранения

Ввод данных в системы хранения

Статья создана
Yandex Cloud
Обновлена 25 марта 2025 г.
  • Преимущества
    • Прием данных
    • Надежность
    • Пакетирование
    • Перемотка данных
    • Несколько систем хранения
    • Маскирование и обработка логов
    • Чтение данных
  • Настройка

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

Данные от таких источников поступают небольшими пакетами, количество пакетов может быть очень велико. Часто для передачи используются медленные каналы связи, а время связи ограничено. В таких условиях важно быстро сохранить принятые данные. Их обработку можно выполнить позднее. Поэтому данные отправляют сначала в шины потоков данных, а уже оттуда забирают их для обработки.

Yandex Data Streams, как шина потоков данных, обеспечивает оптимальные режимы работы для источников и приемников:

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

ПреимуществаПреимущества

При работе с внешними устройствами или сервисами важно быстро сохранить полученные данные. Сохраненные данные можно получить из Data Streams прямым чтением, или настроить поставку данных в системы хранения Yandex Cloud с использованием Yandex Data Transfer.

Прием данныхПрием данных

Данные в Data Streams передаются по HTTP-протоколу. С помощью сервиса Yandex API Gateway можно реализовать любой протокол приема данных. Принятые в API Gateway данные можно уже отправить в Data Streams.

Data Streams хорошо масштабируется и позволяет принимать данные от тысяч источников данных одновременно.

НадежностьНадежность

Шина потоков данных — это важный инфраструктурный компонент. Она устойчива ко всем видам отказов Yandex Cloud. Вводимые в Data Streams данные сохраняются минимум в три зоны доступности Yandex Cloud.

ПакетированиеПакетирование

Системы хранения и обработки данных наиболее производительны, если данные в них записываются пакетами (batch). Самое эффективное место для создания пакетов данных — единая точка, куда все данные стекаются. Роль такой единой точки обычно выполняют шины данных.

Перемотка данныхПеремотка данных

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

Несколько систем храненияНесколько систем хранения

Часто одни и те же данные хранят сразу в нескольких системах хранения: в ClickHouse® для быстрой аналитики и в Object Storage для долговременного хранения. С помощью шин данных это легко решается: за счет возможности одновременно читать данные разным приложениям можно настроить отправку одних и тех же данных сразу в обе системы хранения данных: ClickHouse® и Object Storage. Это же решение позволит в любой момент добавить третью систему хранения, например Greenplum® или Elasticsearch.

Подход с несколькими системами хранения очень удобен для соответствия compliance: ФЗ-152, PCI DSS и других — где нужно хранить данные не менее года. В этом случае данные за последний месяц для оперативного доступа можно отправлять в одну систему хранения, а данные для долгого хранения отправлять в «холодное» хранилище Object Storage.

Маскирование и обработка логовМаскирование и обработка логов

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

Передаваемые данные можно отправить на обработку в Cloud Functions, где выполнить маскирование или любую другую обработку.

После обработки данные можно отправить сразу в несколько систем назначения: данные с маскированными персональными данными открыть всем сотрудникам, а полные данные только администраторам.

Чтение данныхЧтение данных

Сохраненные в Data Streams данные можно обработать программно. Data Streams совместим с протоколом Amazon Kinesis Data Streams API, что позволяет использовать SDK для различных языков разработки: C++, Java, Go, Python и тд.

НастройкаНастройка

Чтобы настроить ввод данных в системы хранения:

  1. Создайте поток данных Data Streams.

  2. Настройте AWS SDK.

  3. Настройте Yandex Data Transfer для передачи данных в выбранную систему хранения.

    Пример настройки поставки данных из Data Streams приведен в практическом руководстве по сохранению данных в ClickHouse®.

  4. Подключите произвольную функцию обработки данных к Yandex Data Transfer. Код функции приведен в примере на GitHub. Вы также можете использовать SDK для прямого чтения данных из Data Streams:

    • Go.
    • C++.
    • Java.
    • JavaScript.
    • Python.
    • HTTP Kinesis Data Streams API.

ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc.

Была ли статья полезна?

Предыдущая
Все руководства
Следующая
Умная обработка логов
Проект Яндекса
© 2025 ООО «Яндекс.Облако»