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