Azure Cosmos DBを試してみた
背景的なこと 最近私の興味で、データの蓄積や活用について調べています。 データの蓄積と言えばデータベースですが、超ざっくり分類すると RDB (Relaytional Database) NoSQL (Not Only SQL) に分かれるようです。 歴史が古く世の中のシェアで言えば圧倒的にRDBですが、それ以外の比較的新しいものがNoSQLという感じ(適当)。 NoSQLについて NoSQLと言っても、またさらに色々種類はあります。 キーバリュー型 ワイドカラム型 ドキュメント型 グラフ型 それぞれ代表的なDBを当てはめるとこんな感じ。※Redisは少し異なるという見方あり 種類 説明 代表例 キーバリュー 1つのキーに対して1つの値をとる Redis ワイドカラム 1つのキーに対して複数の列をとる Cassandra ドキュメント JSON形式のデータを格納できる MongoDB グラフ ノード・エッジ・プロパティで関係性を表す Neo4j 各DBの特徴について詳細は割愛しますが… これらはビッグデータにおけるRDBでは不得意なスケールアウトや、テーブル定義が困難な多様なデータの扱いなどに適しています。 今回はドキュメント型のDBを構成して、簡単にデータを参照するところまでやってみたいと思います。 Azure Cosmos DBでやってみた さて私が触っていくのは、AzureのCosmos DBです。 PaaSなので基盤側の構成はほぼ何もいらないため、お試しで使うには手軽で良いと思いチョイスしました。 1. Cosmos DBアカウントの作成 Cosmos DBでは前述のすべての型(データモデル)に対応していますが、どの型で構成するかを決めます。 具体的には最初に 「アカウント」 を作成するのですが、この際にどの型のAPIを利用するかを選択します。 Azure Portalにログインし、[すべてのサービス] > [データベース] から"Azure Cosmos DB"を選びます。 今回は "コア (SQL)" でアカウントを作成していきます。そ...