Глобальное распределение данных с помощью Azure Cosmos DB
Область применения: Nosql Mongodb Кассандра Гремлин Таблица
Современные приложения должны мгновенно реагировать на запросы и всегда иметь подключение к Интернету. Чтобы обеспечить низкую задержку и высокий уровень доступности, экземпляры этих приложений нужно развернуть в ближайших к пользователям центрах обработки данных. Такие приложения обычно развертываются в нескольких центрах обработки данных и называются глобально распределенными. Глобально распределенные приложения требуют глобально распределенной базы данных, которая обеспечивает прозрачную репликацию данных в любую точку мира. Это позволит приложениям работать с копией данных, которая размещена в ближайшем к пользователям расположении.
Azure Cosmos DB — это глобально распределенная система базы данных, которая позволяет считывать и записывать данные из локальных реплик базы данных. Azure Cosmos DB прозрачно реплицирует данные во все регионы, связанные с учетной записью Azure Cosmos DB. Он предназначен для обеспечения низкой задержки, эластичной масштабируемости пропускной способности, четко определенной семантики для согласованности данных и высокой доступности. Вкратце, если вашему приложению требуется быстрое время отклика в любой точке мира, если оно всегда должно быть в сети и иметь неограниченные и эластично масштабируемые ресурсы пропускной способности и хранения, создавайте такое приложение на базе Azure Cosmos DB.
Можно настраивать базы данных для глобального распределения и доступности в любом из регионов Azure. Чтобы уменьшить задержку, перенесите данные ближе к расположению пользователя. Выбор необходимых регионов зависит от глобального охвата приложения и расположения пользователя. Azure Cosmos DB предоставляет единый системный образ глобально распределенной базы данных Azure Cosmos DB и контейнеров, в которые приложение может читать и записывать данные локально.
Примечание.
Бессерверные учетные записи для Azure Cosmos DB могут выполняться только в одном регионе Azure. Дополнительные сведения см. в статье об использовании бессерверных ресурсов.
С помощью Azure Cosmos DB можно в любое время добавлять или удалять регионы, связанные с учетной записью. Вам не нужно приостанавливать или повторно развертывать приложение, чтобы добавить или удалить регион. Azure Cosmos DB доступен во всех пяти разных облачных средах Azure, доступных клиентам:
Общедоступный пиринг Azure — облако, которое доступно по всему миру.
Microsoft Azure, обслуживаемая 21Vianet, доступна благодаря уникальному партнерству между Корпорацией Майкрософт и 21Vianet , одним из крупнейших интернет-поставщиков в стране в Китае.
Azure для Германии — предоставляет службы по модели доверенного лица по вопросам данных. Это означает, что данные клиента хранятся в Германии в T-Systems International GmbH, дочернем подразделении компании Deutsche Telekom, выступающем в роли доверенного лица по вопросам данных в Германии.
Azure для государственных организаций — доступна в четырех регионах в Соединенных Штатах для государственных организаций США и их партнеров.
Azure для государственных организаций для министерства обороны (DoD) — доступна в двух регионах Соединенных Штатов для Министерства обороны США.
Ключевые преимущества глобального распределения
Создание глобальных приложений по шаблону "активный — активный". При использовании нового протокола репликации с поддержкой записи в нескольких регионах операции записи и чтения поддерживаются во всех регионах. Возможность записи в нескольких регионах также обеспечивает следующее:
- неограниченная эластичная масштабируемость операций записи и чтения;
- доступность для чтения и записи на 99,999 % по всему миру;
- гарантированные операции чтения или записи, обслуживаемые менее чем за 10 миллисекунд в 99-м процентиле.
При добавлении и удалении регионов в учетную запись Azure Cosmos DB приложение не требует повторного развертывания или приостановки, оно все время остается высокодоступным.
Создание быстродействующих приложений. Приложение сможет выполнять операции чтения и записи почти в реальном времени в любом регионе, выбранном для вашей базы данных. Azure Cosmos DB самостоятельно обрабатывает все операции для репликации данных между регионами в соответствии с выбранным вами уровнем согласованности.
Создание приложений высокой доступности. Работа базы данных в нескольких регионах по всему миру повышает ее уровень доступности. В случае, когда один из регионов недоступен, запросы приложений обрабатываются в других регионах автоматически. Azure Cosmos DB предлагает возможность чтения и записи на уровне 99,999 % для баз данных, распределенных по нескольким регионам.
Сохранение непрерывности бизнес-процессов во время региональных сбоев. Во время региональных сбоев Azure Cosmos DB поддерживает отработку отказа под управлением службы. Во время регионального сбоя Azure Cosmos DB будет продолжать управлять пропускной способностью, доступностью, согласованностью и соглашением об уровне обслуживания в части пропускной способности. Чтобы убедиться, что целое приложение обладает высокой доступностью, Azure Cosmos DB предлагает API переход вручную на другой ресурс, с помощью которого можно имитировать региональный сбой. При использовании этого API можно регулярно выполнять тренировки непрерывности бизнеса.
Глобальное масштабирование пропускной способности для операций чтения и записи. Вы можете разрешить запись для каждого региона, а также настроить эластичное масштабирование операций чтения и записи по всему миру. Пропускная способность, настраиваемая приложением в базе данных Azure Cosmos DB или контейнере, подготавливается во всех регионах, связанных с учетной записью Azure Cosmos DB. Подготовленная пропускная способность гарантируется финансовыми соглашениями об уровне обслуживания.
Выбор из нескольких четко определенных моделей согласованности. Протокол репликации Azure Cosmos DB предлагает пять четко определенных, практических и интуитивно понятных моделей согласованности. В каждой модели предусмотрен компромисс между согласованностью и производительностью. Эти модели согласованности позволяют с легкостью создавать правильные глобально распределенные приложения.
Следующие шаги
Дополнительные сведения о глобальном распределении см. в следующих статьях.
- Глобальное распределение (взгляд изнутри)
- Как настроить приложение для записи в нескольких регионах
- Настройка клиентов для поддержки нескольких веб-сайтов
- Добавление и удаление регионов из учетной записи Azure Cosmos DB
- Создание настраиваемой политики разрешения конфликтов для учетных записей API для NoSQL
- Программируемые модели согласованности в Azure Cosmos DB
- Выбор правильного уровня согласованности для приложения
- Уровни согласованности и API для Azure Cosmos DB
- Достижение компромисса между доступностью и быстродействием для разных уровней согласованности