Глоссарий¶
В названиях операций, параметров, заголовков и состояний сохранены обозначения из API Amazon S3 и интерфейсов Picodata. В пояснительном тексте используются русские термины, принятые в документации S3-совместимых хранилищ.
В русскоязычных руководствах для термина bucket встречаются варианты «бакет», «корзина» и «сегмент». В этом руководстве используется наиболее распространённый среди российских S3-совместимых сервисов термин бакет.
Термины самой СУБД (инстанс, тир, сервис, плагин) определены в глоссарии Picodata.
Черновик: что изменено
По сравнению с прежним глоссарием добавлены статьи о терминах устройства и эксплуатации, убраны общие статьи («Кэш», «Метаданные», «Квота», «Эндпоинт S3»), изменены статьи «Домен отказа», «Очередь ресинхронизации» и «Позиция». Статьи расположены по алфавиту, у каждой есть якорь для ссылок.
API управления¶
Обозначение: management API, путь /s3gateway/api.
HTTP-интерфейс администратора: тенанты, пользователи, ключи доступа, квоты, диски, группы размещения, контроль целостности. Обслуживается на HTTP-порте Picodata и включается параметром s3r_api.control_api. См. API управления.
Арбитр¶
Обозначение: arbiter.
Голосующий инстанс Picodata, который не хранит данных S3R. Его размещают на третьей площадке кластера из двух площадок, чтобы при отказе одной из них сохранялось большинство голосующих инстансов. См. Две площадки.
Бакет¶
Обозначение: bucket.
Контейнер объектов S3. Бакет имеет уникальное имя в пределах тенанта и собственные настройки доступа, версионирования и жизненного цикла.
Блок¶
Обозначение: block.
Участок экстента фиксированного размера под данные фрагментов. Блоки делятся на два класса: крупный блок вмещает фрагмент полосы размером stripe_size / k и заголовок 4 КиБ, малый блок равен 2 × inline_max. См. Выбор ёмкости и размера экстента.
Версионирование¶
Обозначение: versioning.
Режим, в котором бакет хранит несколько версий объекта с одним ключом.
Вид группы¶
Сведения владельца группы о том, какие позиции блоков группы заняты объектами. Вид строится по каталогу при монтировании группы и поддерживается сверкой. Без построенного вида группа не выделяет позиций блоков.
Владелец группы¶
Обозначение: owner.
Инстанс, по запросу которого создана группа размещения. Владелец записывает в группу, заменяет её участников и перестраивает недостающие фрагменты. Участник с номером 0 находится на диске владельца.
Вывод диска¶
Обозначение: drain, состояние диска draining.
Перевод исправного диска в обслуживание: его участники переносятся на другие диски, после чего накопитель можно извлечь. См. Замена исправного диска.
Группа размещения¶
Обозначение: placement group, PG.
Упорядоченный набор дисков одной площадки с фиксированной схемой репликации или избыточного кодирования.
Дедупликация¶
Обозначение: deduplication.
Хранение одной общей копии содержимого для объектов с одинаковым содержимым. Совпадения находит индекс дедупликации по сумме SHA-256. По умолчанию выключена, включается для тенанта или бакета. См. Дедупликация.
Домен отказа¶
Обозначение: failure domain.
Метка, которой администратор сообщает кластеру, какое оборудование отказывает вместе: узел, стойка, контроллер дисков. Кластер объявленным меткам верит. См. также «Домен отказа инстанса» и «Домен отказа диска».
Домен отказа диска¶
Домен отказа инстанса без компонента dc и поддомен диска, например host=node1,hba=a. Участники одной группы размещения находятся в разных доменах отказа дисков.
Домен отказа инстанса¶
Обозначение: instance.failure_domain.
Метка в конфигурации Picodata, которая сообщает, какие инстансы отказывают вместе, например host: node1. По ней Picodata собирает репликасеты, а S3R раскладывает группы размещения.
Доступность для чтения¶
Обозначение: readability.
Возможность восстановить содержимое полосы из имеющихся фрагментов. Для чтения требуется не менее k фрагментов.
Замена участника¶
Передача места диска в группе размещения другому диску с восстановлением фрагментов на нём. Применяется, когда диск признан вышедшим из строя или выводится. См. Замена и удержание участников.
Запечатанная группа¶
Обозначение: состояние группы sealed.
Группа размещения, которая достигла предела размера или участник которой не смог выделить экстент. Новых экстентов она не получает, а запись принимает только на место, освободившееся в её экстентах. См. Состояния группы.
Заранее подписанная ссылка¶
Обозначение: presigned URL.
URL с подписью SigV4 и сроком действия, который предоставляет ограниченный доступ без передачи секретного ключа.
Идентификатор ключа доступа¶
Обозначение: Access Key ID, access_key.
Открытая часть учётных данных S3, которая указывает, каким ключом подписан запрос.
Избыточное кодирование¶
Обозначение: erasure coding, EC.
Разделение полосы на k фрагментов данных и m фрагментов чётности. Позволяет восстановить полосу при потере не более m фрагментов.
Инстанс¶
Обозначение: instance.
Экземпляр процесса Picodata. На одном физическом узле может работать несколько инстансов.
Карантин¶
Обозначение: quarantine, параметр refill_after_s.
Время, в течение которого освобождённая позиция блока не выдаётся под новую запись: запрос, начавший чтение до удаления объекта, ещё может читать прежний фрагмент.
Карта классов хранения¶
Обозначение: параметр s3r_storage.tiers.
Соответствие между классами хранения S3 и ярусами: каждому ярусу соответствует один класс, а каждому классу один ярус. См. Классы хранения S3 и ярусы.
Карта размещения объекта¶
Обозначение: placements.
Столбец строки объекта: для каждой площадки — группа размещения, в которой хранится копия содержимого.
Каталог¶
Обозначение: catalog.
Метаданные хранилища в таблицах Picodata. В описаниях контроля целостности так называют строки объектов: по ним владелец группы определяет, какие позиции блоков заняты, а процесс catalog проверяет согласованность самих строк. В названиях пула файберов и таймаута catalog слово относится к изменениям общих таблиц кластера, которые проходят через Raft, например к созданию бакета.
Кворум записи¶
Обозначение: write quorum.
Минимальное число дисков, которые должны подтвердить запись полосы.
Класс хранения¶
Обозначение: storage class, x-amz-storage-class.
Атрибут S3, который клиент выбирает при записи объекта. В S3R класс хранения сопоставляется с ярусом хранения.
Ключ объекта¶
Обозначение: object key.
Имя объекта внутри бакета. Символ / в ключе может использоваться для логического представления директорий.
Консоль управления¶
Обозначение: Console, путь /s3gateway/console/.
Веб-интерфейс администратора кластера и администраторов тенантов. Работает через API управления. См. Консоль управления.
Контроль целостности¶
Обозначение: repair.
Действие администратора «Проверить и исправить»: запрос проверки POST /v2/repair запускает сканирование каталога, сверку позиций и ресинхронизацию во всём кластере. Утраченный фрагмент по сохранившимся данным и фрагментам чётности перестраивает владелец группы: по строке очереди ресинхронизации (процесс resync_queue), по списку отстающих экстентов extents_behind (процесс resync, ресинхронизация) или при проверке целостности данных (процесс scrub).
Контур¶
Сеть одного назначения. По клиентскому контуру приходят запросы S3, по внутрикластерному узлы обмениваются фрагментами. Контуры настраиваются и шифруются независимо. См. Шифрование трафика.
Координатор кластера¶
Обозначение: coordinator.
Инстанс, на котором выполняются фоновые процессы, единственные на весь кластер, например bucketgc и tenant. Координатором служит лидер Raft, если на нём работает сервис плагина, иначе работающий инстанс с наименьшим идентификатором Raft.
Маркер удаления¶
Обозначение: delete marker.
Специальная версия, которую S3 создаёт при удалении объекта из бакета с включённым версионированием.
Мастер репликасета¶
Обозначение: master.
Инстанс репликасета, который выполняет запись в его таблицы. Остальные инстансы репликасета — реплики. См. статью «Лидер» в глоссарии Picodata.
Начальное формирование¶
Обозначение: formation.
Однократный переход нового кластера в рабочее состояние: регистрация дисков, запись шаблонов ярусов и набора площадок, создание первых групп размещения. До его завершения запись объектов отклоняется.
Несимметричная группа¶
Обозначение: asymmetric.
Группа размещения, у которой хотя бы один участник находится не на позиции плана. Сама группа на место не возвращается: это делает действие администратора «Восстановить размещение». См. Группы не на своих позициях.
Номер форматирования¶
Обозначение: generation.
Счётчик форматирований диска под одним идентификатором. Записан в суперблоке и в строке диска; накопитель с устаревшим номером не принимается.
Ограничение частоты запросов¶
Обозначение: rate limiting.
Ограничение числа запросов за единицу времени. Для ограничения объёма передаваемых данных используется термин «ограничение скорости передачи».
Отстающий экстент¶
Обозначение: extents_behind.
Экстент, который участник держит без данных группы: участник поставлен на замену и ещё не получил фрагменты, записанные до него. Отстающие экстенты проверяет процесс resync.
Очередь ресинхронизации¶
Обозначение: resync queue, s3r_t<N>_resync.
Строки о недостающих после записи фрагментах, по одной на объект, группу и окно из 64 полос объекта (см. «Кворум записи»). Отметки хранятся битовой маской в 64-разрядном числе, размер окна не настраивается.
Перестроение фрагмента¶
Обозначение: rebuild.
Вычисление недостающего или повреждённого фрагмента по k сохранившимся фрагментам полосы и запись его на участника. Выполняет владелец группы.
Площадка¶
Обозначение: site, компонент dc домена отказа.
Часть кластера, обычно один центр обработки данных, в пределах которой размещается группа размещения. Задаётся компонентом dc домена отказа инстанса. Если dc не объявлен, все инстансы относятся к площадке default. Каждая площадка хранит собственную закодированную копию объекта.
Поддомен отказа¶
Обозначение: sub-domain, hba= в списке дисков.
Метка диска, которая различает диски одного инстанса, отказывающие независимо.
Подсказка¶
Сообщение владельцу группы от инстанса, удалившего объект: позиции блоков этого объекта можно освободить. Потерянную подсказку заменяет сверка. См. Занятость и освобождение места.
Позиция¶
Обозначение: position; позиции плана группы — поле intended.
Место инстанса или диска в топологии, сопоставимое между площадками: репликасет, номер инстанса в нём и поддомен диска. Новый инстанс на месте исключённого занимает его позицию. Позиции, для которых группа создана, называются позициями её плана. Не следует смешивать с позицией блока.
Позиция блока¶
Обозначение: position.
Адрес блока в группе размещения: класс блоков и номер блока. Фрагмент объекта занимает одну или несколько позиций блоков подряд. Позиция блока бывает свободной, занятой или находится в карантине. Не следует смешивать с позицией диска в топологии, см. статью «Позиция».
Полоса¶
Обозначение: stripe.
Единица разбиения содержимого крупного объекта перед избыточным кодированием. Размер задаётся параметром stripe_size.
Приостановленная группа¶
Активная группа размещения, которой негде выделить следующий экстент: инстанс её участника недоступен, а уже выделенные экстенты заполнены. Группа остаётся в состоянии active и не запечатывается, а владелец получает новую группу.
Провайдер идентификации¶
Обозначение: identity provider, OpenID Connect.
Внешняя служба, которая проверяет пользователя при входе в консоль и API управления, например Keycloak. Без неё пользователя проверяет Picodata. См. Первый вход в консоль управления.
Пространство имён¶
Обозначение: namespace.
Совокупность бакетов, ключей, версий и связанных метаданных, доступных тенанту.
Раскладка группы¶
Обозначение: layout: instance, spread.
Способ выбора дисков группы размещения: на одном инстансе (instance) или на разных узлах площадки (spread). Определяется топологией, администратором не задаётся.
Реестр повреждённых полос¶
Обозначение: таблица s3r_t<N>_damage.
Таблица тенанта с полосами, которые не удалось привести в порядок: утраченными (lost) и рассогласованными (inconsistent). Полоса покидает реестр после восстановления. См. Реестр повреждённых полос.
Репликасет¶
Обозначение: replicaset.
Группа инстансов Picodata, которые хранят одинаковые копии строк шардированных таблиц. Число инстансов задаёт фактор репликации тира.
Репликация¶
Обозначение: replication.
Хранение нескольких полных копий данных. Не следует смешивать с избыточным кодированием.
Репликация между площадками¶
Обозначение: site replication.
Асинхронное копирование объекта между площадками одного кластера.
Ресинхронизация¶
Обозначение: resync.
Проверка того, что на каждой позиции блока каждого участника группы находится фрагмент, названный каталогом, и перестроение недостающих фрагментов. Выполняет процесс resync владельца группы. См. Ресинхронизация.
Сверка¶
Обозначение: reconcile.
Приведение вида группы в соответствие с каталогом: освобождение позиций блоков удалённых объектов и построение вида смонтированной группы. Выполняет процесс reconcile владельца группы. Сверку каталога, то есть проверку согласованности самих строк, выполняет процесс catalog.
Секретный ключ доступа¶
Обозначение: Secret Access Key, secret_key.
Закрытая часть учётных данных S3, используемая для вычисления подписи SigV4.
Слушатель¶
Обозначение: listener.
Раздел конфигурации инстанса Picodata с адресом, на котором сервис плагина принимает соединения: у s3r_api это запросы S3, у s3r_storage — обмен фрагментами между узлами. См. Конфигурация Picodata.
Составная загрузка¶
Обозначение: multipart upload, MPU.
Загрузка объекта отдельными частями с последующей операцией завершения. Названия операций CreateMultipartUpload, UploadPart и CompleteMultipartUpload не переводятся.
Сохранность данных¶
Обозначение: durability.
Вероятность того, что записанные данные не будут безвозвратно утрачены. Не следует смешивать с доступностью сервиса.
Способ хранения¶
Обозначение: encoding.
Как хранится содержимое объекта: inline в строке метаданных, replicated полными копиями, erasure-coded с избыточным кодированием или shared через общую копию при дедупликации. Записан в столбце encoding строки объекта. Не следует смешивать с классом хранения S3.
Среда выполнения Tokio¶
Обозначение: Tokio.
Пул рабочих потоков плагина, в котором выполняются разбор запросов, кодирование и обмен фрагментами. К таблицам обращается через сервис s3r_meta.
Субъект доступа¶
Обозначение: principal.
Пользователь или группа, которым правило доступа разрешает или запрещает действие.
Суперблок¶
Обозначение: superblock.
Служебная запись в директории диска с постоянным идентификатором диска, идентификатором кластера и номером форматирования. По суперблоку инстанс узнаёт свой диск; его отсутствие или несовпадение переводит диск в состояние blank, foreign или corrupt. См. Неисправность суперблока.
Схема избыточности¶
Обозначение: erasure shape, k+m.
Число фрагментов данных k и фрагментов чётности m, на которые кодируется полоса в ярусе. Схема с k = 1 означает репликацию в m + 1 копиях.
Тенант¶
Обозначение: tenant, s3r_tenant.
Изолированное пространство имён S3 в одном кластере. В именах таблиц, параметров и ролей используется английское обозначение tenant.
Тир Picodata¶
Обозначение: Picodata tier.
Группа инстансов Picodata, на которой размещаются сервисы и таблицы. Тир Picodata и ярус хранения S3R — разные понятия.
Транзакционный поток¶
Обозначение: TX.
Единственный поток инстанса Picodata, в котором выполняются операции с таблицами.
Удержание участника¶
Сохранение за недоступным диском его места в группе размещения: кластер ждёт возвращения диска и ничего не перестраивает. Пока диска нет, группа работает без одного участника. См. Замена и удержание участников.
Узел¶
Обозначение: node.
Сервер, на котором работает один или несколько инстансов Picodata с плагином S3R.
Участник группы¶
Обозначение: member.
Диск на определённом месте в группе размещения. Фрагмент с номером i каждой полосы группы хранится на участнике с номером i.
Фоновая проверка целостности¶
Обозначение: scrub.
Сопоставление данных и фрагментов чётности в группах избыточного кодирования, выполняемое независимо от клиентских чтений. Контрольные суммы страниц проверяет сам участник при каждом чтении.
Фоновый контроль целостности¶
Обозначение: repair workers, repair_mode.
Фоновые процессы scrub, resync, resync_queue и catalog. Режим repair_mode указывает, работают они (running) или приостановлены (paused).
Фрагмент полосы¶
Обозначение: shard.
Часть полосы после репликации или избыточного кодирования. Не следует смешивать с шардом vshard. В именах протокола и метрик сохранено слово shard.
Цепочка групп¶
Обозначение: поле n строки группы.
Группы размещения одного владельца в одном ярусе, пронумерованные по порядку создания: 0, 1, 2 и далее.
Шаблон яруса¶
Набор поддоменов дисков яруса, одинаковый у всех инстансов, у которых есть диски этого яруса. Диск можно добавить только в поддомен из шаблона.
Шард vshard¶
Обозначение: vshard shard.
Единица распределения строк шардированных таблиц Picodata.
Экстент¶
Обозначение: extent.
Файл фиксированного размера в хранилище фрагментов, содержащий множество записей с фрагментами.
Эпоха группы¶
Обозначение: epoch, столбец s3r_pg.epoch.
Номер в строке группы размещения, который увеличивается при смене владельца, монтировании группы и замене участника. Запрос с меньшей эпохой отклоняется: так прежний состав группы теряет к ней доступ.
Ярус хранения¶
Обозначение: storage tier, tier.
Группа дисков с одинаковыми эксплуатационными характеристиками. Ярус сопоставляется с одним классом хранения S3.