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

ПРИМЕНИМО К: Azure Cosmos DB для PostgreSQL (на базе расширения базы данных Citus для PostgreSQL)

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

Дополнительные сведения о других вариантах хранения данных в Azure см. в статье Выбор подходящего хранилища данных в Центре архитектуры Azure.

Сложности

Во многих случаях, когда вы читаете о больших или больших транзакционных рабочих нагрузках, легко подумать, что эти рабочие нагрузки гораздо больше, чем любые другие, с которыми может столкнуться ваше приложение. Предположение о том, что рабочая нагрузка будет оставаться небольшой, может быть безопасным предположением в начале проекта, идеи или организации. Однако это предположение может быстро привести к сценарию, в котором рабочая нагрузка приложения будет расти гораздо больше, чем любые сделанные вами прогнозы. Нередко можно услышать рассказы о рабочих нагрузках, которые соответствуют максимальной пропускной способности или вычислительной мощности базы данных с одним экземпляром, которая была экономичной и производительной в начале проекта.

Реляционные базы данных

Реляционные базы данных упорядочивают данные в табличном формате (строки или столбца) с отношениями между разными таблицами в базах данных. Реляционные базы данных являются общими для различных предприятий. Эти предприятия часто имеют множество разработчиков программного обеспечения, которые написали код для реляционной базы данных, или администраторов, которые разрабатывают схемы и управляют платформами реляционных баз данных. Реляционные базы данных также часто поддерживают транзакции с гарантиями ACID.

К сожалению, многие системы реляционных баз данных изначально настраиваются организациями с одним узлом с верхними ограничениями на вычислительные ресурсы, память и сетевые ресурсы. Этот контекст может привести к неправильному предположению, что все реляционные базы данных являются одним узлом по своей природе.

Распределенные базы данных

Многие технические документы, ориентированные на облако, часто слышат о преимуществах баз данных NoSQL, поэтому реляционные базы данных не являются разумным выбором для крупномасштабных баз данных или распределенных рабочих нагрузок. Хотя многие распределенные базы данных являются нереляционными, эти варианты доступны для рабочих нагрузок распределенных реляционных баз данных.

Многие из этих вариантов для распределенных реляционных баз данных требуют, чтобы ваша организация планировала крупномасштабное распространение и распространение с начала проекта. Это требование планирования может значительно усложнить работу в начале проекта, чтобы убедиться, что все соответствующие серверные узлы настроены, управляются и обслуживаются вашей командой. Требования к планированию, реализации и сети для глобально распределенной реляционной базы данных могут быть гораздо сложнее, чем стоять на одном экземпляре (или узле).

Azure Cosmos DB

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

Citus — это расширение PostgreSQL, которое добавляет поддержку Postgres для распространения данных и транзакций. Azure Cosmos DB для PostgreSQL — это полностью управляемая служба с использованием Citus, которая автоматически обеспечивает высокий уровень доступности без необходимости вручную планировать, администрировать и обслуживать отдельные серверные узлы. С помощью API для PostgreSQL можно начать с полностью управляемого кластера с одним узлом, создать решение для базы данных, а затем масштабировать его по мере роста потребностей приложения со временем. С помощью API для PostgreSQL нет необходимости заранее планировать сложный проект распространения или планировать проект для переноса данных из одного узла в распределенную базу данных.

Дальнейшие действия

Хотите приступить к работе с Azure Cosmos DB?