Термины и определения
База данных
База данных YDB (БД YDB) — изолированное согласованное множество данных, доступ к которому осуществляется через сервис YDB.
Сервис YDB:
- Принимает сетевые соединения от клиентов и обрабатывает их запросы на изменение и чтение данных.
- Аутентифицирует и авторизует клиентов.
- Обеспечивает транзакционное изменение и консистентное чтение данных.
- Обеспечивает масштабируемость нагрузки на БД и высокую доступность БД для клиентов.
- Хранит информацию о схеме данных, обрабатывает запросы по ее изменению, контролирует размещаемые данные на соответствие схеме и позволяет формулировать запросы к данным с использованием элементов схемы — таблиц, полей, индексов.
- Обеспечивает консистентное изменение данных в индексах при изменениях данных в таблицах.
- Генерирует метрики, которые можно использовать для наблюдения за работой БД.
Под БД YDB выделяются ресурсы в пределах кластера YDB (CPU, RAM, узлы, дисковое пространство).
Кластер
Кластер YDB — множество узлов YDB, между которыми распределяется нагрузка, коммуницирующих друг с другом через сеть. На одном кластере может обслуживаться множество баз данных, под каждую БД выделяются определенные узлы кластера. Одна БД целиком располагается на одном кластере.
Кластер YDB может быть однодатацентровым или геораспределенным. Минимальный однадатацентровый кластер состоит из одного узла.
Регионы и зоны доступности
Зона доступности — центр обработки данных, или его изолированный сегмент, в пределах которого обеспечивается минимальное физическое расстояние между узлами, и минимизируются возможности сбоев одновременно с другими зонами доступности.
Широкий географический регион — территория, расстояние между зонами доступности в которой не превышает 500 км.
Геораспределенный кластер YDB содержит узлы, находящиеся в разных зонах доступности в пределах широкого географического региона. YDB осуществляет синхронную запись в каждую из зон доступности, обеспечивая полноценное продолжение работы при потере любой одной зоны доступности.
В геораспределенных кластерах существует возможность выбора политики распределения вычислительных ресурсов по датацентрам. Это позволяет балансировать между минимальным временем выполнения операций и минимальным временем простоя в случае выхода из строя одного из датацентров.
Вычислительные ресурсы
Кластер YDB может быть развернут на bare metal, виртуальных машинах, или в среде контейнерной виртуализации.
Группы хранения
Группа хранения — избыточный массив независимых дисковых накопителей, объединенных по сети в единый логический элемент. Применение групп хранения позволяет повысить отказоустойчивость за счет избыточности и увеличить производительность.
Каждой группе хранения соответствует определенная схема хранения, влияющая на количество используемых дисков, модель отказа и коэффициент избыточности. Для однодатацентровых кластеров обычно используется схема block4-2
, при которой группа хранения расположена на 8 дисках в 8 стойках, переживает отказ любых 2 дисков и дает избыточность с коэффициентом 1,5. В мультидатацентровых кластерах используется схема mirror3dc
, где в группе хранения задействовано 9 дисков, расположенных по 3 в 3 датацентрах, выдерживает отказ датацентра и диска в любом другом датацентре, дает избыточность с коэффициентом 3.
Сервис YDB позволяет выделять дополнительные группы хранения для имеющихся БД по мере роста объема хранимых данных.