あれれ、SQL回帰? 複数のデータモデルに対応していく「NoSQLデータベース」の今Database Watch(2017年6月版)(2/2 ページ)

» 2017年07月12日 05時00分 公開
[加山恵美@IT]
前のページへ 1|2       

グローバル分散型でマルチモデルのデータベースサービス「Azure Cosmos DB」

photo 日本マイクロソフトの佐藤直生氏

 Microsoftは、2017年5月に開催された「Build 2017」で、新しいNoSQLデータベース「Azure Cosmos DB」を発表しました。同月、日本マイクロソフトが開催した「de:code 2017」では同社エバンジェリストの佐藤直生氏が登壇し、Azure Cosmos DBを「プラネットスケール(地球規模)のNoSQLサービス。高可用性、レイテンシ、スループット、データ一貫性、4つの包括的なSLA(Service Level Agreement:サービス品質保証)を備えた唯一のデータベースです」と説明していました。

 Azure Cosmos DBは、Microsoft Azure上でフルマネージド型のデータベースサービスとして提供されます。料金は他のサービスと同様に、使った分だけ支払うサブスクリプション型となります。

 Azure Cosmos DBはNoSQLデータベースとしては後発のように思えますが、実は歴史は意外と長いのです。2010年にMicrosoft社内で「Project Florence」として始まり、いったん「Azure DocumentDB」として提供されています。今回リリースされたAzure Cosmos DBは、Azure DocumentDBに機能を拡張した更新版という位置付けです。既存のAzure DocumentDBのユーザーは自動的にAzure Cosmos DBへと移行されるそうです。


photo 「Azure Cosmos DB」のWebサイト

 大きな特長は、地球規模と称されるように「グローバル規模で分散すること」と「マルチモデルであること」、そして「整合性レベルを選べること」です。

 まずは前者ですが、Azure Cosmos DBは「アプリケーションを世界展開する規模のサービス」を主なターゲットに据えています。昨今、Webサービスをグローバル展開する事業は珍しくありません。しかし、世界中にアプリケーションを展開するとなれば、データを分散管理しつつも“いかにデータの整合性を保つか”が重要になります。併せて、スループットを維持し、かつ常時稼働も条件になります。Azure Cosmos DBは、こうした課題を解決するために開発されました。

 Azure Cosmos DBは「ターンキー(導入後、すぐ使えるようにする)」でのグローバル分散を可能にします。複数のAzureリージョンにデータを自動的にレプリケートし、ストレージとスループットもそれぞれ個別でスケールできます。時間帯によって負荷の高いサーバが移っていくようなワークロードでも柔軟にスケールできるとMicrosoftは述べています。ここは、データベースサービスというよりは、パブリッククラウドとしてのMicrosoft Azureの性能の高さが大きく寄与しているといえるでしょう。

 それに加えて、「マルチモデル」と「マルチAPI(Application Programming Interface)」の特長も備えています。前述したMarkLogicと同様に、Azure Cosmos DBも複数のデータモデルに対応しています。2017年7月時点ではKVS型、ドキュメント型、グラフ型、列指向型の4つのデータモデルをネイティブでサポートしています。APIでアクセスするならば、「Table API(2017年7月現在はプレビュー版)」「MongoDB向けAPI」「SQL構文が使えるDocumentDB API」「Graph API(Gremlin、2017年7月現在はプレビュー版)」が使えます。対応するデータモデルは今後さらに増える見込みです。

photo Azure Cosmos DBの主な特長

 Azure Cosmos DBはまた、「整合性のレベルを選べる」ようにもなっています。データを分散管理すると、データの整合性が課題になってくるのは皆さんも承知していると思います。ただし昨今、パフォーマンスなどが多少犠牲になるとしても「とにかく整合性を完全に確保する」のか、それともパフォーマンスを重視して「結果的に合っていればいい」のか、製品、業務、サービス、コストなどによってデータ管理レベルやポリシーが異なるシステムも増えています。Azure Cosmos DBではこのニーズに沿い、「全5段階」で整合性のレベルを選べるようになっています。アプリケーションの要件に合わせて柔軟に選択できるということですね。



 以上のように、企業や開発者のニーズに沿い、マルチモデル対応のNoSQLデータベースが普及しつつあります。ただし同じマルチモデル対応のNoSQLデータベースでも、今回紹介した2つは対照的といえます。雑な言い方ながら違いを強調するならば、「ぎゅっと集めるMarkLogic」と「どばっと広げるAzure Cosmos DB」という感じでしょうか。

 いずれにしても将来を見据えた統合データ基盤として、「多様なデータモデルに対応できる」仕様は今後重視されていきそうです。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。