Термины и определения
Поток данных
Поток данных (Stream) — это именованный набор сообщений. Запись и чтение сообщений в Data Streams ведется через потоки. Потоки данных создаются на основе Yandex Managed Service for YDB и хранятся в базах данных.
Сегмент
Для горизонтального масштабирования поток данных разделяется на сегменты (Shard), являющиеся единицами параллелизма. Каждый сегмент имеет ограниченную пропускную способность.
Примечание
В данный момент уменьшение количества сегментов в потоке данных поддерживается только при помощи удаления и повторного создания потока с меньшим количеством сегментов.
Ключ сегмента
Для каждого сообщения, которое записывается в поток, указывается ключ сегмента. С помощью хеша ключа сообщение сопоставляется сегменту внутри потока.
Важно
При обновлении количества сегментов потока меняется их распределение по пространству хешей ключей. Сообщения, которые были записаны до обновления количества сегментов, остаются в тех же сегментах и в том же порядке. Новые сообщения будут распределяться по новому количеству сегментов.
Пропускная способность сегмента
Каждый сегмент имеет ограниченную пропускную способность, указываемую пользователем. Максимальная скорость записи данных в один сегмент — 1 МБ/с, максимальная скорость чтения — 2 МБ/c.
Сообщение
Сообщение (Message) — это минимальная неделимая единица пользовательской информации.
Сообщение состоит из тела и дополнительных системных свойств.
Тело сообщения
Тело сообщения представляет собой набор байт. Data Streams никак не интерпретирует тело сообщения.
Порядковый номер сообщения
Во время записи в поток данных каждому сообщению присваивается порядковый номер. Порядковые номера сообщений уникальны внутри одного сегмента и последовательно возрастают.
Время хранения сообщений
Для каждого потока данных определено время хранения сообщений. После истечения времени хранения сообщения автоматически удаляются.
Потребители данных
Потребители данных — это приложения, которые получают и обрабатывают данные из Data Streams. Все потребители данных разделяют общую квоту на чтение.
Выделенные потребители данных
Для некоторых случаев модель общей квоты для всех потребителей данных является слишком ограничительной, поэтому каждому потребителю выдают гарантированную скорость чтения. Потребители данных с гарантированной скоростью чтения называются выделенными потребителями данных.