全5439文字
PR

 Azure Cosmos DBは米Microsoft(マイクロソフト)の「Microsoft Azure」上のサービスとして提供されているNoSQLをサポートするPaaS(プラットフォーム・アズ・ア・サービス)です。以前はAzure DocumentDBという名称で呼ばれていました。

 Azure Cosmos DBの特徴として挙げられるのが、NoSQLの4データモデルを1つのサービスでまとめて利用できる点です。DXの進展に応じて、複数種類のNoSQLデータを併用するようになると、設計・運用が複雑になる恐れがあります。Azure Cosmos DBはNoSQLの管理をシンプルにできるサービスとして、Azure上でデジタルトランスフォーメーション(DX)に取り組む際に検討したいサービスです。

 Azure Cosmos DBの特徴とメリット、どのように複数のNoSQLデータを利用するのかを説明していきます。

データモデルをサポートする5つのAPI

 Cosmos DBはNoSQLの4つのデータモデルを5つのAPI(アプリケーション・プログラミング・インターフェース)でサポートしています。キーバリュー型は「Table API」、ワイドカラム(列指向)型は「Cassandra API」、ドキュメント型は「SQL/Core API」「Azure Cosmos DB API for MongoDB」、グラフ型は「Gremlin API」です。

 Cosmos DBを新規に利用する場合、まずCosmos DBアカウントを作成します。DBアカウントを作成する際、データモデルに対応するAPIを指定する必要があります。選択したAPIは後から変更できません。ここではJSON形式のデータを格納するSQL/Core APIを紹介します。

 DBアカウントの下には、1つまたは複数の「データベース」を作成できます。データベースはデータを格納する「コンテナ」を管理する単位になります。コンテナとはRDB(リレーショナルデータベース)のテーブルに近いイメージです。一つひとつのデータは「アイテム」と呼びます。

DBアカウント下に「データベース」を作成
DBアカウント下に「データベース」を作成
アカウントとデータベース、コンテナの関係(SQL/Core APIの例)
[画像のクリックで拡大表示]

 DBアカウント、そしてデータベースを作成後、コンテナにデータを格納します。.NET SDKやNode.jsなどを使ってデータを格納できますが、サンプルデータを数件格納するだけの場合は「Azure Portal」から入力するほうが容易です。