Глоссарий¶
Общие сведения¶
Данный документ содержит список терминов и их определений для основных программных компонентов и понятий, которые используются в Picodata. У глоссария две простые цели:
- Дать точное и непротиворечивое определение каждому термину применительно к его использованию в Picodata.
- Обеспечить единообразие терминологии во внутренних документах (комментарии в коде, readme и прочие Markdown-документы в наших репозиториях).
Список ниже будет дополняться и исправляться в течение времени.
Список терминов и определений¶
Инстанс — программный узел, входящий в состав кластера. Каждый инстанс является экземпляром приложения Picodata, а также репликой в составе репликасета. Среда выполнения приложения может быть как виртуальной, так и физической.
Кластер — набор программных узлов, составляющих отдельную группу.
Raft — алгоритм синхронной репликации, обеспечивающий целостность кластера (raft-группы). Raft отвечает за автоматический выбор лидера raft-группы (лидер может меняться). В raft-группе есть лидер, а остальные узлы называются follower’ами.
Отказоустойчивость — показатель надежности кластера и/или отдельных его узлов. Отказоустойчивость означает способность кластера продолжать работу при выходе из строя одного или нескольких узлов. Достигается с помощью репликации.
Репликация — создание и поддержание в актуальном состоянии резервных копий инстансов. Набор из активного инстанса и его резервных копий называется репликасетом.
Фактор репликации — число инстансов в репликасете.
Репликасет — буквально «набор реплик», экземпляров приложений, в которых хранится один и тот же набор реплицированных данных. В зависимости от роли реплик, в Picodata есть реплики active (RW) и standby (RO). Репликасет также называют отказоустойчивой группой.
Failure domain — букв. "домен отказа". Термин обозначает зону доступности инстанса Picodata, т.е. признак физического размещения сервера, на котором запущен инстанс (географический регион, датацентр, стойка и т.д.). Зона доступности используется для того чтобы в один репликасет по возможности попадали инстансы с разным размещением, повышая таким образом отказоустойчивость как отдельного репликасета, так и кластера в целом.
Bucket (бакет) — виртуальная неделимая единица хранения данных, обеспечивающая локальность данных (т. е. их нахождение на каком-то одном репликасете).
Горизонтальное масштабирование — шардинг, т.е. распределение bucket'ов между различными репликасетами, находящихся на разных серверах. Каждый такое репликасет называется шардом.
Discovery — алгоритм взаимного обнаружения инстансами друг друга во время объединения в кластер.
Space (спейс) — пространство хранения данных в СУБД. В резидентных СУБД спейс является синонимом таблицы из реляционных СУБД.
Grade (грейд) — специфичный для Picodata способ обозначения состояния инстанса. Грейд отражает то, как инстанс сконфигурирован его соседями. Существуют текущий (current) и целевой (target) типы грейдов. За приведение первого ко второму отвечает governor (губернатор).
Governor (губернатор) — внутренняя централизованная сущность, управляющая конфигурациями и жизненными циклами инстансов в соответствие с изменениями их грейдов.