Типы хранилища
Managed Service for Apache Kafka® позволяет использовать сетевые и локальные диски для организации хранилища кластеров баз данных. Сетевые диски реализованы на базе сетевых блоков — виртуальных дисков в инфраструктуре Yandex Cloud. Локальные диски физически размещаются в серверах-брокерах.
При создании кластера вы можете выбирать между следующими типами хранилища:
-
Хранилище на сетевых HDD-дисках (
network-hdd
) — самый экономичный вариант для кластеров, не требовательных к скорости записи и чтения. -
Хранилище на сетевых SSD-дисках (
network-ssd
) — компромиссный вариант: медленнее, чем хранилище на локальных SSD-дисках, но, в отличие от него, обеспечивает сохранность данных при выходе из строя оборудования Yandex Cloud. -
Хранилище на нереплицируемых SSD-дисках (
network-ssd-nonreplicated
) — использует сетевые SSD-диски с повышенной производительностью, реализованной за счет устранения избыточности.Объем такого хранилища можно увеличивать только с шагом 93 ГБ.
-
Хранилище на локальных SSD-дисках (
local-ssd
) — использует самые быстрые диски.Объем такого хранилища можно увеличивать:
- для платформы Intel Cascade Lake — только с шагом 100 ГБ;
- для платформы Intel Ice Lake — только с шагом 368 ГБ.
- для платформы Intel Cascade Lake — только с шагом 100 ГБ;
Особенности хранилища на локальных SSD-дисках
Хранилище на локальных SSD-дисках в кластере из одного хоста не обеспечивает отказоустойчивости: при отказе диска данные теряются безвозвратно. Чтобы обеспечить отказоустойчивость, создавайте кластеры из трех и более хостов.
Особенности хранилища на нереплицируемых SSD-дисках
Хранилище на нереплицируемых SSD-дисках в кластере из одного хоста не обеспечивает отказоустойчивости: при отказе диска данные теряются безвозвратно. Поэтому при создании нового кластера с использованием этого типа хранилища автоматически настраивается отказоустойчивая конфигурация из трех хостов.
Выбор типа хранилища при создании кластера
Количество хостов-брокеров, которые можно создать вместе с кластером Apache Kafka®, зависит от выбранного типа хранилища:
- При использовании хранилища на локальных SSD-дисках (
local-ssd
) или на нереплицируемых SSD-дисках (network-ssd-nonreplicated
) вы можете создать кластер из трех или более хостов-брокеров (минимум три брокера необходимо, чтобы обеспечить отказоустойчивость). - При использовании хранилища на сетевых HDD-дисках (
network-hdd
) или сетевых SSD-дисках (network-ssd
) вы можете добавить любое количество хостов-брокеров в пределах текущей квоты.
Подробнее об ограничениях на количество хостов-брокеров в кластере см. в разделе Квоты и лимиты в Managed Service for Apache Kafka®.
Минимальный размер хранилища
Для работы каждого топика необходимо место в хранилище хостов-брокеров. Размер этого места зависит от фактора репликации и количества разделов. Если свободного места в хранилище меньше, создать новый топик невозможно.
Минимальный размер хранилища для всех топиков рассчитывается по формуле:
2 × максимальный размер сегмента логов × количество разделов в кластере × фактор репликации
.
Если разделы топиков распределены равномерно, для получения нужного размера хранилища разделите рассчитанное по формуле значение на число хостов-брокеров.
Максимальный размер сегмента логов
Для каждой реплики раздела топика необходимо как минимум два сегмента логов. Максимальный размер такого сегмента может быть определен:
- на уровне топика — настройкой Segment bytes;
- глобально на уровне кластера — настройкой Log segment bytes.
Таким образом, минимальный размер хранилища для всех топиков составляет: 2 × максимальный размер сегмента логов × количество разделов в кластере × фактор репликации
. Если разделы кластера распределены равномерно, получившуюся сумму можно поделить на количество брокеров, чтобы определить требуемый размер хранилища для одного брокера.
По умолчанию размер сегмента равен 1 ГБ.