Поделиться через


Общие сведения о распределенных базах данных NoSQL

Область применения: NoSQL Mongodb Кассандра Гремлин Таблица

Azure Cosmos DB — это глобально распределенная платформа баз данных для NoSQL и реляционных баз данных любого масштаба. В этой статье рассматриваются распределенные базы данных NoSQL в контексте различных вариантов API NoSQL в Azure Cosmos DB.

Дополнительные сведения о других вариантах хранения данных в 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?