Общие сведения о распределенных базах данных NoSQL
ПРИМЕНИМО К: Nosql Mongodb Кассандра Гремлин Таблица
Azure Cosmos DB — это глобально распределенная платформа баз данных для NoSQL и реляционных баз данных любого масштаба. В этой статье рассматриваются распределенные базы данных NoSQL в контексте различных параметров API NoSQL в Azure Cosmos DB.
Дополнительные сведения о других вариантах хранения данных в Azure см. в статье Выбор правильного хранилища данных в Центре архитектуры Azure.
Сложности
Одна из проблем при обслуживании системы баз данных заключается в том, что многие ядра СУБД применяют блокировки и кратковременные блокировки для применения строгой семантики ACID. Этот подход полезен в сценариях, когда базам данных требуется высокая согласованность состояния данных независимо от способа доступа к ним. Хотя этот подход обещает высокую согласованность, он дает большие компромиссы в отношении параллелизма, задержки и доступности. Это ограничение по сути является ограничением архитектуры и заставит любую команду с высокой транзакционной рабочей нагрузкой найти обходные пути, такие как ручное распределение или сегментирование данных по множеству разных баз данных или узлов баз данных. Эти обходные пути могут быть трудоемкими и сложными для реализации.
Базы данных NoSQL
Базы данных NoSQL — это базы данных, разработанные для упрощения горизонтального масштабирования путем настройки согласованности, чтобы свести к минимуму компромиссы параллелизма, задержки и доступности. Базы данных NoSQL предлагают настраиваемые уровни согласованности, что позволяет масштабировать данные на нескольких узлах и обеспечивать скорость или доступность, которые лучше сопоставляются с потребностями приложения.
Распределенные базы данных
Распределенные базы данных — это базы данных, масштабируемые в разных экземплярах или расположениях. Хотя многие базы данных NoSQL предназначены для масштабирования, не все они обязательно являются распределенными базами данных. Более того, многие базы данных NoSQL требуют времени и усилий для распределения между избыточными узлами для обеспечения локальной избыточности или глобальной геоизбыточности. Требования к планированию, реализации и сети для глобально распределенной базы данных могут быть сложными.
Azure Cosmos DB
С распределенной базой данных, которая также является базой данных NoSQL, большие транзакционные рабочие нагрузки внезапно стали проще создавать и администрировать. Azure Cosmos DB — это платформа баз данных, которая предлагает API распределенных данных как в NoSQL, так и в реляционных вариантах. В частности, многие API NoSQL предлагают различные варианты согласованности, которые позволяют точно настроить уровень согласованности или доступности, соответствующий требованиям реального приложения. База данных может быть настроена так, чтобы обеспечить высокую согласованность с компромиссами по скорости и доступности. Аналогичным образом можно настроить базу данных, чтобы обеспечить наилучшую производительность с прогнозируемыми компромиссами в отношении согласованности и задержки реплицированных данных. Azure Cosmos DB автоматически и динамически распределяет данные между локальными экземплярами или глобально. Azure Cosmos DB также может предоставлять гарантии ACID и масштабировать пропускную способность в соответствии с требованиями приложения.
Дальнейшие действия
Хотите приступить к работе с Azure Cosmos DB?