Microsoft представила Cosmos DB — первый глобально-распределённый сервис баз данных

Cosmos DB

На конференции Microsoft Build 2017 компания представила Azure Cosmos DB — первый глобально-распределённый сервис баз данных, обеспечивающий горизонтальное масштабирование и позволяющий хранить данные практически в любом географическом регионе. При этом обеспечивается минимальная задержка, высокая доступность и стабильность. Cosmos DB был разработан для поддержки технологий Интернета вещей, мобильной разработки и искусственного интеллекта. 

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

На создание такой базы с пятью уровнями согласованности и целым набором возможностей ушли десятилетия исследований распределённых систем и баз данных. В них принимал участие обладатель премии Тьюринга, исследователь Microsoft, разработчик распределённых систем Лесли Лэмпорт. Кстати, вы можете посмотреть интервью, в котором он рассказывает о создании Cosmos DB:

Azure Cosmos DB — революционный шаг в разработке облачных приложений

По словам Microsoft, Azure Cosmos DB может кардинальным образом изменить технологию разработки облачных приложений. Появляются следующие возможности:

1. Создавайте глобально-распределённые приложения станет проще

В Azure Cosmos DB уже встроено такое свойство. Кликнув мышкой, вы можете добавлять и убирать любое количество регионов Azure в вашу базу данных в Cosmos DB. Сервис без особых усилий скопирует данные, независимо от географического положения пользователей.

2. Регулируйте пропускную способность и объёмы хранения в любое время, по первому запросу, по всему миру

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

3. Создавайте отзывчивые приложения

Cosmos DB гарантирует задержку всего в миллисекунду в 99% случаев. Процессор баз данных оптимизирован и логически структурирован, благодаря чему он обеспечивает мгновенную непрерывную обработку данных и запросов. Пользователи оценят отзывчивость вашего приложения!

4. Создавайте приложения, которые доступны всегда

С Azure Cosmos DB ваше приложение будет в режиме работы автоматически. Разработчики Cosmos DB гарантируют высокую доступность вашей базы данных в любом регионе по всему миру благодаря распределению. Таким образом, приложения будут доступны даже в случаях региональных ЧП без необходимости перемещать приложение.

5. Выбирайте модель согласованности, которая лучше всего подходит для конкретного приложения

Благодаря свойствам Azure Cosmos DB, у разработчиков есть больший выбор, чем только между сильной согласованностью и согласованностью в конечном счёте. Предлагается пять тщательно кодифицированных моделей согласованности: строгая согласованность, модель ограниченного устаревания, согласованность уровня сеанса и согласованность префиксов. Так что вы можете выбрать ту модель, которая подходит именно вам.

6. Быстро перезагружайте приложение, не беспокоясь о схемах и индексах

Поддерживать схемы и индексы базы данных в синхронизации со схемой приложения особенно сложно для глобально-распределённых приложений. Azure Cosmos DB устраняет такую необходимость. А поскольку управление схемами и индексами не требуется, также можно не беспокоиться о перебоях в работе приложения во время переноса схем. Вся информация маркируется автоматически, и запросы обрабатываются мгновенно.

7. Используйте подходящий тип данных для вашего приложения

Движок базы данных Cosmos DB разработан с встроенной поддержкой практически любой модели данных. В этой версии существует поддержка типов «ключ-значение», «документ» и «граф». Однако движок расширяем, поэтому скоро он сможет поддерживать и другие модели данных. Следите за обновлениями.

8. Используйте API на ваш выбор

Microsoft стремится упростить процесс создания глобально-распределённых приложений, чтобы разработчики могли при этом использовать те инструменты и API, с которыми им удобно работать. Azure Cosmos DB поддерживает диалект SQL, использовавшийся в Document DB, MongoDB API, Gremlin API и Azure Table Storage API. В будущем компания планирует расширить нативную поддержку и других интерфейсов, предоставляя ещё больший выбор.

9. Получите гарантии по соглашению об уровне обслуживания

Azure Cosmos DB — это первый и единственный глобально-распределённый сервис баз данных, предлагающий финансируемое соглашение об уровне обслуживания. Оно гарантирует высокий уровень доступности, минимальные показатели задержки, высокий уровень согласованности и обработки информации.

Если вам интересны технические подробности о новом сервисе, вы можете почерпнуть сведения из этого подробного обзора.

Источник: блог Microsoft Azure