Команда Azure Cosmos DB объявляет о запуске 3-й версии Azure Cosmos DB.NET SDK, разработанной в июле, и благодарит всех, кто оставил отзыв во время работы в тестовом режиме.

Что такое Azure Cosmos DB?

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

Новинки для разработчиков: стал доступен Azure Cosmos DB .NET SDK v3

Что нового в Azure Cosmos DB .NET SDK версии 3?

Версия 3 SDK содержит многочисленные улучшения, которые коснулись удобства использования и производительности, включая:

  • новую интуитивно понятную модель программирования;
  • поддержку потоковых API;
  • поддержку API-интерфейсов процессора;
  • возможность масштабирования недекларированных контейнеров и многое другое.

SDK предназначен для .NET Standard 2.0 и открыт на GitHub.

Для создания новых рабочих нагрузок мы рекомендуем начать с последней версии 3.x SDK. Кроме того, не планируется удалять версию 2.x .NET SDK в ближайшем будущем.

Цели .NET Standard 2.0

Разработчики объединили существующие Azure Cosmos DB .NET Framework и .NET Core SDK в один SDK, предназначенный для .NET Standard 2.0. Теперь вы можете использовать .NET SDK на любой платформе, которая реализует .NET Standard 2.0, включая ваши приложения .NET Framework 4.6.1+ и .NET Core 2.0+.

Открытый исходный код на GitHub

Пакет Azure Cosmos DB .NET v3 имеет открытый исходный код и команда планирует вести его дальнейшую разработку в открытом виде. Поэтому разработчики приветствуют любые пожелания приобщится к процессу. Мы будем учитывать возникающие проблемы и отслеживать отзывы на GitHub.

Новая модель программирования с текучим интерфейсом

После запуска в тестовом режиме мы продолжили улучшать объектную модель, чтобы обеспечить наилучшее взаимодействие с разработчиками. Был создан новый класс Cosmos Client, чтобы заменить Document Client и разделить его методы на классы модульной базы данных и контейнера. Из исследований мы увидели, что такой тип иерархии облегчает разработчикам изучение API.

Новинки для разработчиков: стал доступен Azure Cosmos DB .NET SDK v3

Stream APIs для высокой производительности

Теперь благодаря новому стриминговому API при чтении элемента или запроса вы можете получить поток и отправить его в ответ без десериализации, используя новые службы Get Item Query Stream Iterator и Read Item Stream Async.

Простота в тестировании  и расширенные возможности

В .NET SDK версии 3 все API-интерфейсы являются «имитацией», что упрощает модульное тестирование. Мы также представили расширяемый пайплайн, чтобы вы могли передавать пользовательские обработчики, которые будут запускаться при отправке запросов в службу. Например, их можно использовать для регистрации информации о запросах в Azure Application Insights, определения пользовательских политик повторных попыток и многого другого. Теперь вы также можете передать пользовательский сериализатор – еще одну часто запрашиваемую функцию разработчика.

Используйте API Change Feed Processor непосредственно из SDK

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

Возможность масштабирования неразделенных контейнеров

Мы слышали от многих клиентов, у которых нет разделенных или «фиксированных» контейнеров, что они хотят масштабировать их за пределы своего хранилища объемом 10 ГБ и предельной пропускной способности 10 000 RU/s. С третьей версией SDK вы можете сделать это, не создавая новый контейнер и не перемещая данные.

Все однораздельные контейнеры теперь имеют системный ключ раздела «partitionKey», который можно внести при записи новых элементов. Как только вы начнете использовать значение partitionKey, Azure Cosmos DB будет масштабировать контейнер, так как его объем хранения превышает 10 ГБ. Если вы хотите сохранить свой контейнер в первоначальном виде, вы можете использовать значение PartitionKey.None для чтения и записи существующих данных без ключа раздела.

Отправьте запрос на обратный звонок

Попросите эксперта по Microsoft сервисам связаться с вами.

 

You have Successfully Subscribed!