Azure #DocumentDB のサービス レベル アグリーメント
執筆者: Arnaud Comet (Senior Program Manager)
このポストは、4 月 11 日に投稿された Azure #DocumentDB Service Level Agreements の翻訳です。
マイクロソフトがエンタープライズの皆様に世界規模の分散型アプリを構築するためのソリューションとして信頼されているのはなぜでしょうか?
エンタープライズ アプリケーションや大規模なアプリケーションでは、無制限のスケーリング、地理的なアクセス性、高速性、高いパフォーマンスを備えた世界規模の分散データ ストアが求められます。また、エンタープライズ クラスのセキュリティやコンプライアンスだけでなく、データベースで保証される可用性、パフォーマンス、耐久性などのサービス レベルも重要となります。マイクロソフトの分散型データベース サービスである Azure DocumentDB では、世界規模のアプリケーションを構築し、あらゆる地理的リージョンでスループットとストレージの両方を弾力的にスケーリングできます。このサービスでは、99 パーセンタイルの処理での 10 ミリ秒未満の低待機時間、99.99% の高可用性、予測可能なスループット、明確に定義された複数の一貫性モデルが保証されます。
マイクロソフトは先日、サービス レベル アグリーメント (SLA) を更新し、待機時間、可用性、スループット、一貫性の項目に包括的に対応しました。DocumentDB では、スキーマに依存せず、書き込みに最適化されたデータベース エンジンにより、取り込むデータすべてに自動でインデックスを作成するようになっており、規模にかかわらず SQL、MongoDB、JavaScript 統合言語クエリを利用できます。Azure の基本サービスである DocumentDB は、マイクロソフト サービスのバックエンドとして長年広く活用されており、2015 年の提供開始以来、Azure の中でも特に成長が著しいサービスです。
業界をリードする包括的な SLA
Azure DocumentDB は、当初から 99.99% の可用性を保証する業界最高レベルの SLA を提供しています。今回の更新により、クラウド サービスにおける業界唯一の包括的な SLA となりました。
- 可用性: 初期の SLA から変わらず、稼働時間の 99.99% の可用性が保証されており、達成されない場合は返金されます。
- スループット: プロビジョニングされた最大スループットに従って、実行中のデータベース コレクションのスループットがコレクション レベルで常時保証されます。
- 待機時間: 速度を重視し、要求の 99% について、ドキュメントの読み取りに 10 ミリ秒未満、書き込みに 15 ミリ秒未満の待機時間が保証されます。
- 一貫性: ニーズに応じて選択した一貫性レベルが保証されます。
可用性や稼働時間が SLA に含まれるのは一般的ですが、スループット、待機時間、一貫性を料金で保証する SLA は業界でも初となります。これは、実装だけでなく数値化することが困難なためです。今回 Azure ポータルでは、稼働時間、待機時間、スループット、要求数、エラー発生数の完全な可視化に成功しました。万一 SLA の条件のいずれかが達成されなかった場合、月額料金の 10 ~ 25% が返金されます。
可用性の SLA: 99.99%
1 か月を 744 時間とした場合、次の式が可用性の SLA の基準となります。
失敗した要求は、ポータルに HTTP コード 5xx または 408 として示されます (ドキュメントの読み取り/書き込み/クエリ操作の場合)。
スループットの SLA: 99.99%
1 か月を 744 時間とした場合、次の式がスループットの SLA の基準となります。
「スループット失敗要求」とは、1 秒間にコレクション内の 1 つのパーティションにおいて使用 RU 数がプロビジョニング RU 数を超える前に、DocumentDB コレクションによって調整され、エラー コードに終わった要求を意味します。誤った使用方法による調整を防止するために、DocumentDB のパーティション分割とスケーリングに関するベスト プラクティスを確認することを強くお勧めします。
一貫性の SLA: 99.99%
「一貫性レベル」とは、一貫性を保証する特定の読み取り要求の設定です。一貫性の SLA は Azure ポータルで監視できます。
注: このスクリーンショットでは、SLA と実際の値が一致しています。
次の表は、一貫性レベルの保証内容をまとめたものです。定数の定義は以下のとおりです。
- K は、書き込みに対して読み取りが遅延した所定のドキュメントのバージョンの数を表します。
- T は、所定の期間を表します。
一貫性レベル | 一貫性保証 |
Strong | 厳密 |
Session | 自己の書き込みの読み取り |
モノトニックな読み取り | |
一貫性のあるプレフィックス | |
Bounded Staleness | 自己の書き込みの読み取り (書き込みリージョン内) |
モノトニックな読み取り (リージョン内) | |
一貫性のあるプレフィックス | |
有界整合性制約 < K、T | |
Consistent Prefix | 一貫性のあるプレフィックス |
Eventual | 最終的 |
1 か月を 744 時間とした場合、次の式が一貫性の SLA の基準となります。
待機時間の SLA: P99
ローカル Azure リージョンにデプロイされている特定のアプリケーションにより送信された成功した要求のうち、99 パーセンタイルの処理において、ドキュメントの読み取りは 10 ミリ秒未満、書き込みは 15 ミリ秒未満の待機時間が SLA で保証されます。この待機時間保証が守られたかどうかを 1 時間ごとに判定し、1 か月間に違反があった時間数の合計を「過剰待機時間」と呼びます。
月間 P99 待機時間達成率が 99% 未満の場合は、SLA に違反したとして最大で月額料金の 25% が返金されます。
ここまで見てきたとおり、企業向け SLA の保証範囲が大幅に拡大されました。
基幹業務アプリケーションのホストに最適な Azure DocumentDB
Azure DocumentDB でホストする基幹業務アプリケーションの数は増え続け、金融、専門サービス、組立製造、健康医療などのさまざまな業界やスタートアップ企業で利用されています。どの企業でも世界規模のスケーリングに対応する必要がありながら、速度や可用性も妥協できないという共通のニーズがあります。Azure DocumentDB では、世界最高クラスのアーキテクチャにより低コストでこのようなニーズに対応します。
世界規模の分散型アプリケーション構築を開始する
マイクロソフトは、あらゆる最新アプリケーションに対応するデータベースを提供したいと考えています。DocumentDB の個々の機能を充実させることも重要ですが、世界を変革するようなアプリを皆様が開発できるようにすることが目標です。アプリケーション開発は簡単ではありません。高速性、スケーラビリティ、弾力性、可用性を兼ね備えたシンプルな世界規模の分散型アプリケーションとなれば、さらにハードルが上がります。しかしこの条件に対応することは、今日の世界中の人々の期待に応えるためには不可欠です。マイクロソフトでは、お客様の意見を DocumentDB に反映し、スムーズで優れたエクスペリエンスを提供するために全力で取り組んでいます。
開発に着手する際、以下のような手順に沿っていただくことをお勧めします。
- Azure DocumentDB の主な概念を理解する
- エミュレーターをダウンロードし、ローカルで開発を開始する
- 簡単な Web アプリやモバイル アプリを作成する (以下のようなさまざまな選択肢があります)
サポートが必要な場合やご意見やご質問がある場合は、Stack Overflow の開発者フォーラム (英語) をご利用ください。また、DocumentDB の最新情報を入手するには、Twitter アカウント (@DocumentDB) をフォローするか LinkedIn グループにご参加ください。