Azure Cosmos DBとは?NoSQLをやさしく解説

Azure Cosmos DBとは?NoSQLをやさしく解説

Azure Cosmos DBとNoSQLの位置づけに迷う社会人のイメージ
「Cosmos DBって、どんなデータベース?」
「NoSQLは普通のDBの下位互換?」
「DP-900では、どう問われる?」

「NoSQLは、表が使えない人向けの簡易版でしょ?」——この誤解を先にほどきましょう。Cosmos DBは、劣った代替品ではありません。

Azure Cosmos DBとは、世界中に分散して使える、フルマネージドのNoSQL(非リレーショナル)データベースです。表の形にしばられず、柔軟なデータを世界規模で高速にさばくことに特化しています。

 

この記事では、NoSQLへの誤解を解き、世界に散らす仕組みと速さの正体をつかみ、リレーショナルとの使い分けを対応表で並べます。最後にDP-900での問われ方まで、あなた向けに整理します。

 

1. 「NoSQL=劣った代替品」という誤解を解く

NoSQLとリレーショナルは優劣でなく役割の違いというイメージ

NoSQLは「Not only SQL」の略です。ここで多くの人が、「表を使わない=機能が足りない」と誤解します。実際は逆で、表の形をあえて外したからこそ得られる柔軟さと拡張性を狙った設計です。優劣ではなく、役割の違いだと捉えてください。

 

そもそもデータベースとは、データを整理して保存・検索できる仕組みです。土台は データベースとは でおさらいしておくと、この記事が入りやすくなります。Cosmos DBはその中でNoSQLに属し、加えてサーバー管理が不要なフルマネージドなサービスとして提供されます。あなたは容量やパッチ当ての世話をせず、データの中身に集中できます。

 

たとえるなら、世界各地に構えた同じ品ぞろえの支店です。旅行者は母国の一店舗に問い合わせるのではなく、いちばん近い支店ですぐ用が足ります。Cosmos DBも、同じデータを各地に置き、利用者の近くの拠点が即座に応じる——この「近くで、すぐ」を世界規模でやってのけます。

 

2. 世界に散らして、近くから速く返す

データを各地のリージョンに複製配置するイメージ

Cosmos DBの個性を一言で言えば、データを世界各地に置き、近くから素早く読み書きできる点です。データを複数のAzureリージョン(地域)へ複製配置でき、これをグローバル分散と呼びます。管理画面の操作だけで配置先を増やせ、各地の利用者が近いデータセンターにアクセスします。

 

近くにデータがあるほど、応答は速くなります。Microsoftは、Cosmos DBが1桁ミリ秒台の応答を実現すると案内し、複数リージョン構成では99.999%という高い可用性SLAを示しています。数値の前提は構成で変わるため、正確な条件は公式ドキュメントで確認してください。

 

補足として、Cosmos DBには整合性レベルがあり、データの新しさと速さのバランスを5段階から選べます。強い整合性(Strong)ほど「その時点の最新」を保証する代わりに待ち時間が増え、結果整合性(Eventual)ほど速い代わりに一瞬古い値が見えます。あなたは用途に応じてこのつまみを回せる——ここがCosmos DBの細かな強みです。

 

3. 形のそろわないデータを、量が増えても扱える

柔軟なデータを水平スケールで扱うイメージ

Cosmos DBの便利さが際立つのは、形のそろわないデータを、量が増えても扱い続けられる場面です。ゲームのプレイ記録、商品ごとに項目が違うECのカタログ、刻々と届くIoTのデータ。こうした「形が一定でない」データは、表形式よりNoSQLが向きます。

 

そもそも「形のそろったデータ」と「そろわないデータ」の区別があいまいなら、構造化・半構造化・非構造化データとは で整理しておくと、Cosmos DBが何を得意とするかが鮮明になります。広げ方も強みで、1台を強くするのではなく処理を横に分けて全体の能力を上げる水平スケールを前提に設計され、急な増減にも容量を調整できます。

 

Cosmos DBが選ばれる典型は、世界規模で多くの読み書きが起き、素早い応答が求められるアプリです。ECの在庫やゲームのスコア、IoTのセンサー値のように、量も形も読みにくいデータほど、あなたはこのNoSQLの受け皿の恩恵を受けられます。逆に、件数が限られ関係が厳密な社内の台帳なら、無理にCosmos DBを選ぶ理由はありません。

 

4. Cosmos DB と Azure SQL の使い分け(対応表)

非リレーショナルとリレーショナルを対応表で比べるイメージ

学ぶ中でよく出るのが、「リレーショナルと非リレーショナル、どちらを使う?」という問いです。答えは優劣ではなく、データの形と使い方で決まります。Azureでリレーショナルを担う Azure SQL Databaseとは と並べると、あなたの中で線が引けます。

 

観点 Azure Cosmos DB Azure SQL Database
種類 非リレーショナル(NoSQL) リレーショナル
データの形 柔軟(項目がそろわなくてよい) 表形式(行と列で厳密)
広げ方 水平スケール(横に分ける) 性能の増強が中心
向く用途 世界規模・大量・柔軟なデータ 関係性が強く厳密な業務データ

 

表の関係性を厳密に扱いたい会計や在庫はリレーショナル、世界規模で柔軟なデータをさばくECやゲームはCosmos DB。あなたが「関係の厳密さ」と「規模・柔軟さ」のどちらを優先するかで選べば、迷いません。どちらもサーバー管理を任せられるマネージドサービスである点は共通です。

 

5. DP-900での問われ方と、選び分けの一覧

DP-900での問われ方を確認するイメージ

DP-900では、「非リレーショナルデータ」の領域でCosmos DBが中心的に問われます。狙われやすい切り口は、Cosmos DB=NoSQLの分類、グローバル分散・低遅延・水平スケールという特徴、そしてAzure SQLとの使い分けです。

 

最後に、選び分けを一覧で言い切ります。柔軟な形・世界規模・素早い応答が要るならCosmos DB、厳密な関係と一貫した整合が要るならAzure SQL。この一文が頭に入っていれば、「このアプリにはどちらが向くか」という定番の出題は、選択肢に振り回されずに解けます。用途を先に読み、形と規模で振り分ける。あなたが持つべきなのは、暗記した特徴のリストではなく、この振り分けの物差し1本です。

 

次のステップ

Cosmos DBがDP-900のどこで問われるかは、DP-900の試験範囲と勉強の進め方ガイド とあわせて確認できます。学ぶ順番が見えると、対になる領域も迷わず進みます。

使い分けが定着したか試すなら、DP-900 非リレーショナルデータの問題集 で、Cosmos DBの使い分けを問う設問で腕試しができます。