このページの本文へ

“惑星規模”でスケール!? デプロイ王子が解説

謎の分散データベース「Azure Cosmos DB」一問一答

2017年05月23日 07時00分更新

文● 羽野三千世/TECH.ASCII.jp 写真●曽根田元

  • この記事をはてなブックマークに追加
  • 本文印刷

 米マイクロソフトが「Build 2017」で発表した新しいクラウドNoSQLデータベース「Azure Cosmos DB」。Microsoft Azureの世界40リージョン(計画中6カ所を含む)にデータを分散保存し、分散された各リージョンのデータが一貫性を保って利用できるように設計されている。

 もともとは、マイクロソフトが自社のアプリケーションをグローバルに提供するために、社内向けに2010年頃から開発してきたものだ。世界中のリージョンから同時に書き込まれたデータに、最寄りのリージョンからアクセスできるため、応答性の高いアプリケーションを構築することができる。

 Build 2017で紹介されたCosmos DBの次の特徴について、日本マイクロソフトクラウドプラットフォーム技術部 テクノロジースペシャリストの廣瀬一海氏(デプロイ王子)に一問一答形式で教えてもらった。

  • 惑星規模でスケール
  • マルチモデル、マルチAPI
  • Turn-key global distribution
  • 5つの一貫性モデル
  • 大規模アプリケーションの開発を支援

日本マイクロソフトクラウドプラットフォーム技術部 テクノロジースペシャリストの廣瀬一海氏(デプロイ王子)

“惑星規模”でスケールするデータベースとは?

 この惑星(地球)にあるAzureリージョンで、データを分散保存するデータベース基盤という意味です。

 ユーザーは、どのリージョンにデータを分散配置するか、Azure Cosmos DBでデータベースを作成する際に選択でき、いつでも追加・変更することができます。Cosmos DBは現在、25リージョンへのレプリケーションが可能です。まだAzureの全リージョンには対応していませんが、理論上、すべてのリージョンに分散することができます。日本の東西リージョンは対応済みで、今後、利用できるリージョンが順次拡大することを期待しています。

マルチモデル、マルチAPIとは?

 Cosmos DBは、「データの保存方式とAPIを選べる」分散データベース基盤です。この特徴をマルチモデル、マルチAPIと表現しています。

 保存方式は、Document、Graph、Key-Valueの3つのNoSQLデータモデルから選択できます。そして、それぞれのデータモデルで利用できるAPIを提供しています。DocumentではDocumentDB APIとオープンソースのMongoDB API、GraphではオープンソースのGremlin API、Key-ValueではTable APIというように対応します。

 これまで、分散NoSQLデータベースサービス「DocumentDB」として提供されていたものは、Cosmos DB分散データベース基盤上で構築され、今後DocumentDBはCosmos DBに統合され、選択肢の1つとして提供されます。

 データの保存方式とAPIは、Cosmos DBでデータベースを作成する際に指定します。現状は作成後の変更はできません。

Cosmos DBではデータベース作成時にデータモデルを選択

Turn-key global distributionとは?

 Cosmos DBは、Azureポータルの地図上でリージョンをポチポチとクリックするだけで、データを分散保存するリージョンの選択が完了します。新しいリージョンを追加している間も、Cosmos DBは停止しませんし、スループットも維持されます。これをTurn-key global distributionと呼んでいます。

データを分散保存するAzureリージョンをクリックで選択

5つの一貫性モデルとは?

 分散データベース全般の話ですが、「データの一貫性」と「パフォーマンス」はトレードオフの関係にあります。日本と米国に分散されたデータベースがあるとして、日本からデータが書き込まれたとき、データの一貫性を確実に保証するためには、日本と米国のデータベースの同期が完了するのを待つ必要があります。同期完了を待ってから次の処理が実行されるため、当然パフォーマンスが落ちます。スピードを重視したいシステムでは、一貫性の条件を少し緩めて、例えば何ミリ秒まではデータの不整合を認めるといった調整によって、性能を高めることができます。

 Cosmos DBでは、この一貫性の強弱のレベルを、5段階から選択できるようになっています。確実に一貫性を保証する「Strong」から、t秒以降はk世代以内のデータが読めることを保証する(tとkはユーザーが指定)「Bounded Staleness」、書き込み終了後に書き込んだリージョンではデータが読める「Session」、読めない場合もある「Consistent Prefix」、読めない「Eventual」まで提供しています(日本語画面では強固、有界整合性制約、セッション、CONSISTENTPREFIX、最終的)。

データの一貫性の強弱レベルを5段階から選択

 一貫性が強いほどパフォーマンスは悪くなり、逆に弱いほどパフォーマンスは向上します。このように、パフォーマンスと可用性をアルゴリズムで管理できるのが、Cosmos DBの大きな特徴です。

大規模アプリケーションの開発を支援とは?

 例えば、世界中に同じアプリケーションを展開して、それをブラジルから使うケースを考えてみてください。このアプリのデータベースAPIのアクセス先が日本だったら、アプリからデータベースへのアクセスは相当の時間がかかっていました。

 ひとつの解決方法として、従来は、各国に個別にデータベースを設置して、個別に運用したりしてきたわけです。

 モバイルファースト、クラウドファーストの時代になり、開発者が世界の市場を対象にしてアプリケーションを構築することが増えてきました。IoTのシステムを例にとると、自動車や航空機に搭載されたデバイスなどは、それこそ世界中を移動して、世界中からデータベースへアクセスします。Cosmos DBによって、これら世界中から届くデータを1つのデータベースとして統合的に管理できるようになります。

■関連サイト

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

アクセスランキング

  1. 1位

    ITトピック

    実用化が楽しみすぎるスマート技術たち 「長距離ワイヤレス給電」から「室内向け太陽電池」「超音波センサー」まで

  2. 2位

    sponsored

    AIインフラ市場“一強体制”を崩せるか AMDが「Helios」で体現するオープン戦略とフィジカルAIのラストマイル

  3. 3位

    ITトピック

    IT技術者の約半数が「AIの進化で転職を意識」/これから起きるのは「SaaSの死ではなく変容」/バックアップ市場は堅調に成長、ほか

  4. 4位

    ITトピック

    6.4万人の熱狂をAIが導く FIFA W杯全スタジアム「デジタルツイン」化が変えた観戦体験

  5. 5位

    デジタル

    買い切り型クラウド「pCloud」がDX総合EXPOへ CEO来日で日本展開を加速

  6. 6位

    sponsored

    「IT機器が高すぎる」「熟練メンバー不在で分からない」… 情シスさんの“現場の悩み”をエンジニア3人に聞いてみた

  7. 7位

    デジタル

    kintone MCP Server とは?現在提供されている3つの選択肢をフラットに比較

  8. 8位

    データセンター

    IOWNによるGPU分散インフラ「GPU over APN」実証環境を開放 NTTドコビジが全国8拠点をつなぎ提供

  9. 9位

    Team Leaders

    SharePointリストへの登録データを、CSVファイル形式に成形/変換して自動保存する方法

  10. 10位

    TECH

    攻撃するAIと防御するAI 日本企業のセキュリティ対策にいま何が必要か?

集計期間:
2026年07月14日~2026年07月20日
  • 角川アスキー総合研究所