Общие сведения о распределенных базах данных 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?