Данный документ содержит список терминов и их определений для основных программных компонентов и понятий, которые используются в Picodata. У глоссария две простые цели:
- Дать точное и непротиворечивое определение каждому термину применительно к его использованию в Picodata.
- Обеспечить единообразие терминологии во внутренних документах (комментарии в коде, readme и прочие Markdown-документы в наших репозиториях).
Список ниже будет дополняться и исправляться в течение времени.
## Список терминов и определений
**Инстанс** — программный узел, входящий в состав кластера. Каждый инстанс является экземпляром приложения Picodata, а также репликой в составе репликасета. Среда выполнения приложения может быть как виртуальной, так и физической.
**Кластер** — набор программных узлов, составляющих отдельную группу.
**Raft** — алгоритм синхронной репликации, обеспечивающий целостность кластера (raft-группы). Raft отвечает за автоматический выбор лидера raft-группы (лидер может меняться). В raft-группе есть лидер, а остальные узлы называются follower’ами.
**Отказоустойчивость** — повышение надежности данных с помощью репликации.
**Репликация** — создание и поддержание в актуальном состоянии резервных копий инстансов.
**Фактор репликации** — число инстансов в репликасете.
**Репликасет** — буквально «набор реплик», экземпляров приложений, в которых хранится один и тот же набор реплицированных данных. В зависимости от роли реплик в Picodata есть реплики _active (RW)_ и _standby (RO)_.
**Bucket** — виртуальная неделимая единица хранения данных, обеспечивающая локальность данных (т. е. их нахождение на каком-то одном репликасете).
**Горизонтальное масштабирование** — шардинг, т.е. распределение bucket'ов между различными репликасетами, находящихся на разных серверах. Каждый такое репликасет называется шардом.