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

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

Azure Cosmos DB の仕組みに迷う社会人
「Azure Cosmos DBって、結局どんなデータベースなの?」
「NoSQLってよく聞くけど、普通のデータベースと何が違うの?」
「DP-900の試験でどう問われるのか分からない…」

そんな疑問を抱える、Azureとデータの基礎を学び始めたあなたへ。

結論から言えば、
Azure Cosmos DBとは、世界中に分散して使える、フルマネージドのNoSQL(非リレーショナル)データベースです
と説明されます。

 

この記事では、Azure Cosmos DBの基本、NoSQLの仕組み、グローバル分散や水平スケール、リレーショナルとの使い分け、DP-900での問われ方を、初心者のあなた向けにやさしくまとめました。

 

1. Azure Cosmos DB(NoSQLデータベース)とは

世界中に分散して使うNoSQLデータベースのイメージ

あなたが「Azure Cosmos DB」に出会ったとき、まず押さえたいのは世界中に分散して使えるNoSQLのデータベースという基本定義です。

 

データベースとは、データを整理して保存・検索できる仕組みです。基礎はデータベースとはでおさらいしておくと、この記事が入りやすくなります。

 

Cosmos DBはその中のNoSQLタイプです。NoSQLは「Not only SQL」の略で、表で管理する従来型と違い、項目がそろわなくても柔軟に保存できるデータベースの総称とされています。加えてサーバー管理が不要なフルマネージドなサービスです。

 

イメージは、ノートの取り方の違いです。同じ書式でそろえる表に対し、Cosmos DBは必要な項目だけ自由に書き足せる自由帳に近いと言われ、形がバラバラなデータも受け止めやすいのが特徴です。

 

Cosmos DBの要点は、「決まった表の形にしばられず、柔軟なデータを世界規模で扱える」発想です。データの形や量が読みにくいサービスと相性がよいとされます。

 

2. グローバル分散と低遅延という仕組み

データを各地のデータセンターに分散して配置するイメージ

Cosmos DBの個性を一言で掴むなら、データを世界各地に置き、近くから素早く読み書きできる点です。

 

Cosmos DBは、データを複数のAzureリージョン(地域)へ複製配置でき、これをグローバル分散と呼びます。管理画面の操作だけで配置先を追加でき、各地の利用者が近いデータセンターにアクセスできます。

 

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

 

イメージは、人気店のチェーン展開です。1店舗に客を集めず各地に同じ店を出すように、Cosmos DBも同じデータを各地に置いて近くから手早く受け取れるようにする、と考えると分かりやすいです。

 

補足として、Cosmos DBには「整合性レベル」があり、データの新しさと速さのバランスを選べます。公式ではStrong(強い整合性)からEventual(結果整合性)まで5段階あるとされています。

 

3. 柔軟なデータと水平スケールの具体例

柔軟なデータを扱い処理能力を横に広げるイメージ

Cosmos DBの便利さを実感しやすいのは、形のそろわないデータを、量が増えても扱い続けられる場面です。

 

たとえばゲームのプレイ記録、商品ごと項目が違うECのカタログ、刻々と届くIoTのデータ。こうした「形が一定でない」データは表形式よりNoSQLが扱いやすく、Cosmos DBは文書・キーと値・グラフ・テーブルなど複数のデータモデルに対応します。

 

広げ方も強みです。1台を強くするのではなく処理を横に分けて全体の能力を上げる水平スケールを前提に設計され、急な増減にも容量を自動調整できるとされています。

 

Cosmos DBが選ばれる代表例は、世界規模で多くの読み書きが発生し、素早い応答が求められるアプリです。EC・ゲーム・IoT・リアルタイムの個別おすすめ表示などが向きます。

 

4. リレーショナル(Azure SQL)との使い分け

非リレーショナルとリレーショナルの使い分けを比べるイメージ

あなたが学ぶ中でよく出てくるのが、「リレーショナルと非リレーショナル、どっちを使えばいいの?」という問いです。

 

リレーショナルデータベースは、行と列の表でデータを管理し、表どうしの関係性を厳密に扱うのが得意です。Azureでこの役割を担うのがAzure SQL Databaseとはのマネージドサービスで、Cosmos DBとよく対比されます。

 

一方のCosmos DBは、形のそろわないデータや世界規模の分散・水平スケールが得意です。Microsoftも、関係性が強く厳密さが要るアプリにはリレーショナルを、柔軟さと大規模分散が要るアプリにはCosmos DBを、という方向性を示しているとされています。

 

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

 

どちらが優れているかではなく、データの形と使い方で選ぶのが正解です。違いを掴むと、Azureのデータ系サービス全体が見通しやすくなります。

 

どちらも「サーバー管理を任せられるマネージドサービス」という点は共通です。PaaSの位置づけが曖昧ならSaaS・PaaS・IaaSとはで土台を整理すると、共通点が腑に落ちます。

 

5. DP-900「非リレーショナルデータ」での問われ方

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

ここまでで、Cosmos DBの輪郭は押さえられたはずです。試験での問われ方も確認しておきましょう。

 

DP-900では、「非リレーショナルデータ」の領域でCosmos DBが中心的に問われます。よく問われる切り口は次のとおりです。

 

  • Cosmos DBが非リレーショナル(NoSQL)に分類される
  • グローバル分散・低遅延・水平スケールという特徴
  • 柔軟なデータや大規模なアプリに向く
  • リレーショナル(Azure SQL)との使い分け

 

試験対策のコツは、「この用途ならリレーショナル? 非リレーショナル?」と一言で選べる状態を作ることです。Cosmos DBは「柔軟・世界規模・NoSQL」の代表と覚えると選択肢を絞りやすくなります。

 

あなたが今日からできる最初の一歩を3つ用意しました。

 

  1. 用語整理: 「NoSQL」「グローバル分散」「水平スケール」を1行メモに(3分)
  2. 対比理解: Azure SQL Databaseの記事でリレーショナルとの違いを押さえる(5分)
  3. 言い換え練習: 「Cosmos DBはどんなとき選ぶ?」に自分の言葉で答える(2分)

 

たった10分で、Azure Cosmos DBは輪郭のある概念に変わります。まず対になるAzure SQLと並べて読む。それが、あなたにいちばん速い学び方です。

 

次のステップ

次のステップ

リレーショナルとの違いを固めたいなら、対になるAzure SQL Databaseとはを続けて読むのが近道です。両者を並べると、DP-900の使い分け問題に強くなります。

Cosmos DBはDP-900出題範囲の一部です。試験範囲と進め方は DP-900とは(試験範囲・勉強の進め方) で俯瞰できます。

 

分野ごとに進めるなら、DP-900 学習ロードマップ で全体像と次の問題集を確認できます。