さとうなおきの「週刊アジュール」 第38回
「Build 2018」アップデート データ編:Azure Cosmos DBがマルチマスター書き込み対応
教室でAzureを使うのに便利な新機能「Azure Lab Services」
2018年05月21日 14時00分更新
こんにちは、さとうなおきです。「週刊アジュール」では、先週の1週間に発表されたMicrosoft Azureの新機能から、筆者の独断と偏見で選んだトピックについて紹介していきます。
2018年5月7日から9日の3日間、米国シアトルでMicrosoftの年次開発者カンファレンス「Build 2018」が開催されました。5月8日に公開した「『Build 2018』特別号外:1日目基調講演のAzure新発表まとめ」に続いて、Build 2018でのアップデートのまとめを、IoT編、AI編、アプリ開発(コンテナー/サーバーレスなど)編、データ編の4回に分けてお送りします。
本稿はデータ編です。Azureのデータプラットフォームやビッグデータ関連のアップデートをまとめて紹介します。
Azure Cosmos DB:マルチマスター書き込み、VNETサービスエンドポイント、スループット共有
Azure Cosmos DBは、複数のデータモデル/APIをサポートしたグローバル分散型のNoSQLデータベースサービスです。
Azure Cosmos DBのAzureリージョン間レプリケーションでは、これまでは、読み書き可能な単一の書き込みリージョンと、複数の読み取り専用の読み取りリージョンの構成を取ることができました。
今回、マルチマスター書き込みのプライベートプレビューが発表され、複数のAzureリージョンで読み取りに加えて書き込みも可能になりました。
Azure Cosmos DBのSLAでは、これまで、複数リージョン間のレプリケーションが構成されている場合に、99.999%の読み取りの可用性SLAを提供していました。マルチマスター書き込みがGAになった際には、これに加えて、99.999%の書き込みの可用性SLAも提供される予定です。
詳細は、ブログポスト「Microsoftデータ プラットフォームが、クラウド スケールの革新と移行への勢いを継続」、「Azure #CosmosDB @ Build 2018: The catalyst for next generation apps」、記事「NoSQLデータベース『Azure Cosmos DB』がマルチマスターの書き込みに対応」をご覧ください。
仮想ネットワーク機能を提供するAzure Virtual Networkは、Azureサービスへのアクセスを特定の仮想ネットワーク(VNET)からのみに制限し、インターネット経由のアクセスを遮断することができる、「仮想ネットワークサービスエンドポイント」を提供しています。
仮想ネットワークサービスエンドポイントのAzureサービスのサポートについては、1月にAzure StorageでGAに、2月にAzure SQL DatabaseでGAになってました。Azure SQL Data Warehouseでは、パブリックプレビュー中です。
今回、仮想ネットワークサービスエンドポイントのAzure Cosmos DBサポートが発表され、GAになりました。
詳細は、更新情報「General availability: Azure Cosmos DB Virtual Network Service Endpoints」、ブログポスト「Microsoftデータ プラットフォームが、クラウド スケールの革新と移行への勢いを継続」、「Azure #CosmosDB @ Build 2018: The catalyst for next generation apps」、「Azure Networking May 2018 announcements」、「Virtual Network Service Endpoints for Azure #CosmosDB is now generally available」、ドキュメントをご覧ください。
Azure Cosmos DBでは、 RU(要求ユニット)の形でスループットをプロビジョニングするモデルを採用しています。これまでは、特定のコンテナー(コレクション、テーブル、グラフ)に対してスループットをプロビジョニングしていました。
今回、既存のコンテナーに対するスループットのプロビジョニングに加えて、(複数のコンテナーを含んでいる)データベース(キースペース)に対してスループットをプロビジョニングし、そのデータベース内の複数のコンテナーでスループットを共有できるようになりました。
詳細は、ブログポスト「Azure #CosmosDB @ Build 2018: The catalyst for next generation apps」、「Sharing provisioned throughput across multiple containers in Azure #CosmosDB」をご覧ください。
「Azure Cosmos DB BulkExecutor library for .NET」、「Azure Cosmos DB BulkExecutor library for Java」がリリースされました。BulkExecutor libraryは、クライアント側のコンピューティングリソースの消費を抑え、効率的にバルク操作(インポート、更新)を実行するための.NET、Java向けのクライアントライブラリです。
シングルスレッドでBulkExecutor libraryのバルクインポートAPIを使って書き込みを行うと、クライアントマシンからマルチスレッドでAzure Cosmos DBに書き込みを行う場合に比べて、10倍の書き込みスループットを達成できます。
BulkExecutor libraryは、パーティションキー範囲ごとに毎秒送信するデータ量を増やし、スロットリングが発生するとデータ量を減らす輻輳制御を行うことで、スループットを最適化しています。
詳細は、ブログポスト「Microsoftデータ プラットフォームが、クラウド スケールの革新と移行への勢いを継続」、「Azure #CosmosDB @ Build 2018: The catalyst for next generation apps」、「Introducing the #Azure #CosmosDB Bulk Executor library」をご覧ください。
「Azure Cosmos DB Async Java SDK for SQL API」がリリースされ、GAになりました。これは、RxJavaライブラリを活用して、非同期APIを提供しています、
詳細は、ブログポスト「Azure #CosmosDB @ Build 2018: The catalyst for next generation apps」をご覧ください。
この連載の記事
-
第155回
TECH
「Ignite 2021」で発表されたAzureアップデート《AI/IoT編》 -
第154回
TECH
「Ignite 2021」で発表されたAzureアップデート《データ編》 -
第153回
TECH
「Ignite 2021」で発表されたAzureアップデート《アプリ開発編》 -
第152回
TECH
「Ignite 2021」で発表されたAzureアップデート《インフラ編》 -
第151回
TECH
「Ignite 2021」で発表されたAzureアップデート《ハイブリッド/セキュリティ編》 -
第150回
TECH
Azure CDNが準リアルタイムのログ/メトリックをサポート -
第149回
TECH
「Ignite 2020」で発表されたAzureアップデート《AI/IoT編》 -
第148回
TECH
「Ignite 2020」で発表されたAzureアップデート《データ編》 -
第147回
TECH
「Ignite 2020」で発表されたAzureアップデート《アプリ開発編》 -
第146回
TECH
「Ignite 2020」で発表されたAzureアップデート《インフラ編》 -
第145回
TECH
「Ignite 2020」で発表されたAzureアップデート《ハイブリッド/セキュリティ編》 - この連載の一覧へ