Общие сведения о записи в нескольких регионах в Azure Cosmos DB
Область применения: Nosql
Mongodb
Кассандра
Гремлин
Таблица
Лучший способ достичь почти нулевого простоя в частичном или общем сценарии сбоя, где согласованность операций чтения не требуется гарантировать, — настроить учетную запись для записи в нескольких регионах. В этой статье рассматриваются основные понятия, которые следует учитывать при настройке учетной записи записи с несколькими регионами.
Регион концентратора
В учетной записи базы данных с несколькими регионами с двумя или более регионами первый регион, в котором была создана учетная запись, называется "концентратор". Все остальные регионы, которые затем добавляются в учетную запись, называются "вспомогательными" регионами. Если концентратор удаляется из учетной записи, следующий регион в порядке их добавления автоматически выбирается в качестве центрального региона.
Все записи, поступающие в вспомогательные регионы, фиксируются в локальном регионе, а затем отправляются в центральный регион для разрешения конфликтов асинхронно. После того как запись переходит в центральный регион и получает разрешение конфликтов, она становится "подтвержденной" записью. До тех пор это называется "предварительной" записью или "неподтвержденной" записью. Любая запись, обслуживаемая из центрального региона, сразу же становится подтвержденной записью.
Общие сведения о метках времени
Одним из основных различий в учетной записи с несколькими регионами является наличие двух значений метки времени сервера, связанных с каждой сущностью. Первым является эпоха сервера, в которой сущность была написана в этом регионе. Эта метка времени доступна как в учетных записях записи в одном регионе, так и в нескольких регионах. Значение метки времени второго сервера связано с эпохой, в которой не было подтверждено отсутствие конфликта, или конфликт был разрешен в концентраторе. Подтвержденный или разрешенный конфликт записи имеет метку времени разрешения конфликтов () вcrts
то время как неподтвержденная или предварительная запись не имеет crts
. Существует две метки времени в Cosmos DB, заданные сервером. Основное различие заключается в том, является ли конфигурация региона учетной записи одной записью или несколькими записями.
Метка времени | Значение | Когда предоставляется |
---|---|---|
_ts |
Эпоха сервера, в которой была записана сущность. | Всегда предоставляется всеми API чтения и запроса. |
crts |
Эпоха, в которой был разрешен конфликт с несколькими записью, или отсутствие конфликта было подтверждено. Для конфигурации региона с несколькими записями этот метка времени определяет порядок изменений для канала изменений:
|
Предоставляется в ответ на запросы канала изменений и только в том случае, если функция New Wire Model включена запросом. Это значение по умолчанию для всех версий и удаляет режим канала изменений. |
Следующие шаги
Далее можно ознакомиться со следующими статьями: