Наконец-то разобрался и стало понятно, зачем нужна YDB и где ее место. Это фактически замена Cassandra и ScyllaDB, а также становится достаточно выгодной альтернативой PostgreSQL в тот момент, когда вам нужно партиционирование и Master-Slave конфигурации становится мало.
Интересные возможности:
- Может стать заменой Kafka! Как чистую замену точно использовать не стоит, по перформансу, скорее всего, проиграет. Но как моно-стек — достаточно удобно.
- Есть поддержка протокола Kafka, можно потестить на своей конфигурации и сравнить перформанс.
- Горизонтальное масштабирование из коробки.
- Транзакционная модель с ACID-гарантиями.
- Динамическое шардирование.
Для расчета нагрузки, можно использовать следующую формулу:
- Одно ядро на каждые 500 ops/sec.
- Оперативки не меньше 16 гигабайт на одну ноду. Стандартная практика по оперативе — соотношение 1 к 4 к ядрам (т.е. на 1 ядро — 4 ГБ памяти).
Фактически, YDB можно рассматривать как универсальное решение, когда требуется масштабируемость и распределенность, но не хочется разворачивать и поддерживать несколько разных систем.
Кто-нибудь уже использует YDB в продакшене? Делитесь опытом, интересно узнать о реальных кейсах применения.
#ydb #databases #распределенныесистемы #высокаянагрузка #масштабирование
Post #356
364
