COLUMN
Azure Cosmos DBとは?特徴や対応するデータベースの種類、料金体系などを解説
AIやIoTなどを使用したデジタルトランスフォーメーション(DX)が話題になっています。
DXの具体的な方法として注目すべきなのが、AIやIoTで収集されたビッグデータの活用です。ビッグデータで業務が可視化されることにより業務の効率化や製品開発の促進などの効果が出た、という事例も紹介されるようになってきています。
ビッグデータの格納と抽出などの処理を行うのがデータベースですが、従来のリレーショナルデータベースでは、整合性には優れるものの書き込みや読み込みなどのスピードが遅いという課題がありました。
「Azure Cosmos DB」は、No SQLの仕組みを採用した低遅延なデータベースサービスとして、ビッグデータの活用に大きな力を発揮しています。また、データベースを水平分散配置させることにより、必要に応じた拡張や高可用性も実現しています。
今回は、Azure Cosmos DBの概要や特徴、料金体系などを解説します。この記事を参考に導入を検討してみてください。
【入門編】「クラウド導入を成功させるためのお役立ちマニュアル」はこちらからダウンロード!
目次:
- 1.Azure Cosmos DBとは?
- 1-2.Azure Cosmos DBが対応しているデータベースの種類
- 2.Azure Cosmos DBの特徴とメリット
- 2-1.ターンキーグローバル分散で距離が近いサーバーと通信し応答時間を短縮
- 2-2.柔軟性の高い運用が可能
- 2-3.99.999%の非常に高い可用性
- 2-4.スキーマやインデックスの管理が不要
- 3.Azure Cosmos DBの料金体系
- 4.Azure Cosmos DBの使い方
- 4-1.Azure Cosmos DBアカウントを作成
- 4-2.Azure Cosmos DB for NoSQLにコンテナーを作成
- 4-3.「.NET」を使用して Azure Cosmos DB for NoSQLへ接続
- 5.Azure Cosmos DBを使用するうえでの注意点
- 6.Microsoft Azureの導入ならぜひNTT東日本にご相談ください
- Azure Cosmos DBについてまとめ
1.Azure Cosmos DBとは?
Azure Cosmos DBは、Azureの基盤上で動作するNoSQLを採用したデータベースサービスです。1桁ミリ秒の応答時間と99.999%の可用性のサービスレベルアグリーメント(SLA)が適用されており、世界中のどこからでも高速に書き込みや読み取りが行えます。
Azure Cosmos DBを理解する上で重要なキーワードが「NoSQL」です。NoSQLとは、リレーショナルデータベース(RDB)ではないデータベースの総称を言います。あくまでも総称であり、「NoSQL」というサービスがあるわけではない点には、注意しましょう。
設計段階でスキーマを定義する必要があり、加えてスキーマの変更に手間がかかるRDBに対し、「NoSQL」は決まった構造を持たないデータを柔軟に管理できる点が特徴です。
また、NoSQLは、データベースの一貫性や入力チェック、複雑な検索などの機能を極力持たず、サーバーを水平分散配置できるようにしているため、データの処理が比較的早く、自由なリソース拡張が特徴です。
NoSQLを採用しているAzure Cosmos DBを利用することで、サーバーとの通信・応答時間の短縮を実現できたり、ユーザーの増加に合わせて通信速度やストレージ量を調整するなど、柔軟性の高い運用を行えます。
関連記事:RDB(リレーショナルデータベース)とは|NoSQLとの違いやメリットを紹介
1-2.Azure Cosmos DBが対応しているデータベースの種類
Azure Cosmos DBは以下の6種類のデータベースに対応しており、柔軟性・可用性の高い運用が可能です。
- NoSQL
- MongoDB
- Cassandra
- Gremlin
- Table
- PostgreSQL
Azure Cosmos DBは分散型データベース管理システムです。NoSQL・MongoDB・Cassandra・Gremlin・Table・PostgreSQLの6種類のデータベースに対応しています。特にNoSQLデータは99.999%と非常に高い可用性を備えており、Azure Cosmos DB NoSQLデータベース内の運用データを用いて、迅速に分析できます。
Azure Cosmos DBは、選択しているAzureリージョンで操作したNoSQLデータベースの利用・使用済みストレージ容量・オプションで利用した専用ゲートウェイに対して課金されます。Azure Cosmos DBのアカウント上で有効にしているリージョンは、好きなタイミングで追加したり削除したりできます。自社の運用に合わせて費用をコントロールできるため、データベースの管理に無駄なコストはかかりません。
2.Azure Cosmos DBの特徴とメリット
Azure Cosmos DBは以下の特徴・メリットがあります。
- ターンキーグローバル分散で距離が近いサーバーと通信し応答時間を短縮
- 柔軟性の高い運用が可能
- 99.999%の非常に高い可用性
- スキーマやインデックスの管理が不要
それぞれ詳しく解説します。
2-1.ターンキーグローバル分散で距離が近いサーバーと通信し応答時間を短縮
Azure Cosmos DBのターンキーグローバル分散機能は、データを世界中のサーバーに迅速に同期させることで、ユーザーが最も近いサーバーからデータを取得できるようにします。
「ターンキー」とは、「導入後すぐに使えるようにする」という意味で、ターンキーグローバル分散とは「導入後、すぐに使える世界的なデータ同期機能」です。
これにより、アプリケーションの応答時間が大幅に短縮されます。たとえば、世界中で展開されるスマートフォンゲームやIoTアプリケーションでは、この機能により迅速に接続できることでユーザー体験を向上させています。
2-2.柔軟性の高い運用が可能
Azure Cosmos DBは、管理画面から簡単にリージョンを跨いで通信速度とストレージ容量を調整できます。
そのため、ユーザーの増加やビジネスニーズの変化に柔軟に対応することが可能です。たとえば、世界規模でサービスを提供するインターネットゲームでは、通信速度とストレージを調整することでサーバー落ちを発生させず、安定した通信を実現できています。
2-3.99.999%の非常に高い可用性
Azure Cosmos DBは、SLAの規定により事前にCosmos DBのアカウントが関連づけられた各リージョンへのデータ同期で99.999%という非常に高い可用性を実現しています。
Cosmosアカウントとは、Azure Cosmos DBを使い始める際に作成するアカウントのことです。
Cosmosアカウントのリージョン間フェールオーバーをプログラムで呼び出す機能も提供されているため、災害が発生した場合事業を継続できます。
災害時の対応も行えるため、企業の「BCP対策」の一つとして注目されています。
2-4.スキーマやインデックスの管理が不要
NoSQLを使用するデータベースシステム全体にいえることですが、データベースエンジンがスキーマに依存しないため、スキーマ移行中のアプリケーションのダウンタイムを心配する必要がありません。
通常RDBには、スキーマとスキーマの所有するすべてのデータを一度にコピーする機能がないため、スキーマ移行の際には、新規のユーザーを作成し、移行元ユーザーのオブジェクトをすべてインポートするという作業が必要です。
この対応がAzure Cosmos DBでは不要であり、管理の負荷が軽減できます。
また、Azure Cosmos DBでは、格納されたデータはツリー形式に変換され、インデックスも手動で操作することなく付加されます。
インデックスとは、書籍などにおける一般的なインデックス(目次)と同様に、目的のデータを探しやすくするためのデータであり、データへ素早くアクセスすることを可能にするものです。
3.Azure Cosmos DBの料金体系
Azure Cosmos DBの料金体系は、ジオ冗長性の有効化と秒あたり要求ユニット(RU/s)の設定によって異なります。
ジオ冗長性を有効化すると、データベースが異なるリージョンに複製され、可用性が99.999%に向上しますが、追加リージョンの料金が発生します。
一方で、RU/sはコンテナー作成時に設定され、使用量に関わらず課金されます。初期段階では大きめのRU/sを設定し、使用量に基づいて調整することが推奨されます。
公式サイトによると、1時間あたりの利用料金は0.008〜0.016USDですが、利用状況により異なるため注意が必要です。(2024年1月時点の料金です)
詳細は公式サイトでご確認ください。
4.Azure Cosmos DBの使い方
ここからは.NET を使用して Azure Cosmos DB for NoSQL の使用を開始する方法を解説します。
手順の全体像は以下の通りです。
- Azure Cosmos DBアカウントを作成
- Azure Cosmos DB for NoSQLにコンテナーを作成
- .NET SDK を使用して Azure Cosmos DB for NoSQLへ接続
4-1.Azure Cosmos DBアカウントを作成
まずは、Azure Cosmos DBアカウントを作成しましょう。
手順は以下の通りです。
1.Azure portalにサインインする
2.Azure portal の「メニュー」もしくは「ホーム」ページから「リソースの作成」を選択
3.「新規」ページで、 「Azure Cosmos DB」を検索・選択
4.「API オプションの選択」で、「NoSQL – 推奨」セクション内の「作成」を選択
5.Azure Cosmos DB アカウントの作成画面で以下の情報を入力する
設定 | 値 | 説明 |
---|---|---|
サブスクリプション | サブスクリプション名 | この Azure Cosmos DB アカウントに使う Azure サブスクリプションを選びます。 |
リソース グループ | リソース グループ名 | リソース グループを選択するか、 [新規作成]を選択し、新しいリソース グループの一意の名前を入力します。 |
アカウント名 | 一意の名前 | 自分の Azure Cosmos DB アカウントを識別するための名前を入力します。 名前は、サフィックスが documents.azure.comの完全修飾ドメイン名 (FQDN) の一部として使用されるため、グローバルに一意である必要があります。 名前に含めることができるのは、英小文字、数字、ハイフン (-) のみです。 また、名前の長さは 3 文字から 44 文字である必要があります。 |
場所 | ユーザーに最も近いリージョン | Azure Cosmos DBアカウントをホストする地理的な場所を選択します。 データに最も高速にアクセスできるよう、お客さまのユーザーに最も近い場所を使用します。 |
容量モード | プロビジョニン スループットまたはサーバーレス | プロビジョニング スループット モードでアカウントを作成するには、 [Provisioned throughput](プロビジョニング スループット)を選択します。 サーバーレスモードでアカウントを作成するには、 [サーバーレス]を選択します。 |
Apply Azure Cosmos DB free tier discount(Azure Cosmos DB Freレベル割引を適用する) | [適用]または[適用しない] | Azure Cosmos DB Freeレベルのアカウントでは、最初の1,000RU/sと25GBのストレージを無料でご利用いただけます。 Free レベルの詳細を確認してください。 |
引用:Azure Cosmos DB for NoSQL アカウントを作成する
上記の入力が完了したら、画面に沿って「作成」を行えば完了です。
4-2.Azure Cosmos DB for NoSQLにコンテナーを作成
Azure portalを使用してコンテナーを作成する方法を紹介します。
手順は以下の通りです。
1.Azure portalにサインインする
2.新しい Azure Cosmos DBアカウントを作成するか、既存のアカウントを選択
3.「データ エクスプローラー」ウィンドウを開いて 「新しいコンテナー」を選択
4.以下の詳細を指定
- 新しいデータベースを作成するか、既存のデータベースを使用するかを指定する
- コンテナーIDを入力する
- パーティション キーの値を入力する。(例:/ItemID)
- 自動スケーリングまたは手動スループットを選択し、必要なコンテナー スループットを入力する。(例:1,000RU/秒)
- プロビジョニングするスループットを入力する。(例:1,000RU)
上記の入力が完了したら、画面のガイドに従って「OK」を入力しましょう。
詳しくは公式サイトをご確認ください。
参考:Azure Cosmos DB for NoSQL にコンテナーを作成する
4-3.「.NET」を使用して Azure Cosmos DB for NoSQLへ接続
Azure Cosmos DBのNoSQL用APIに接続するには、CosmosClientクラスのインスタンスを作成します。 このクラスは、データベースに対するすべての操作を実行するために必要です。
今回はエンドポイントとキーを使用して接続する方法について解説します。手順は以下の通りです。
1.Azure portalにサインイン
2.既存のAzure Cosmos DB for NoSQLアカウント ページに移動
3.Azure Cosmos DB for NoSQLアカウントページで、[キー]ナビゲーションメニューオプションを選択
4.URIフィールドとPRIMARY KEYフィールドの値を記録します。 これらの値は、後の手順で使用
URLフィールドとPRIMARY KEY フィールドには以下の値を入力します。
- $env:COSMOS_ENDPOINT = “<cosmos-account-URI>”
- $env:COSMOS_KEY = “<cosmos-account-PRIMARY-KEY>”
上記に対応すれば接続可能です。
5.Azure Cosmos DBを使用するうえでの注意点
Azure Cosmos DBを使用する際には、リソースの削除とフェールオーバー設定に特に注意が必要です。
サーバーやその他のリソースを削除すると、関連するすべての情報が完全に失われ、復元は不可能になります。このため、リソースを削除する前には、必要に応じてデータのバックアップを取る必要があります。
また、手動フェールオーバーでは、障害発生時に整合性チェックが完了していない場合、データベースへの接続が失われるリスクがあります。
これに対して、自動フェールオーバーを有効にしておけば、プライマリリージョンに障害が発生した際にも、システムは自動的にセカンダリリージョンに切り替わり、データベースの可用性を維持します。要するに、サーバーダウンやトラブルを未然に防ぐことができるということです。
Azure Cosmos DBを利用する際は上記2点に気をつけてください。
6.Microsoft Azureの導入ならぜひNTT東日本にご相談ください
NTT東日本のクラウド導入・運用サービスは、お客さまのニーズに合わせたカスタマイズが可能です。NTT東日本では、Azureの導入プロセスを簡素化し、効率的なクラウド環境を構築します。また、セキュリティ、コンプライアンス、パフォーマンスの最適化といった重要な側面にも注力しています。
NTT東日本の提供するクラウドコンサルティングサービスの特徴は以下の通りです。
- 専門知識を持ったチームによるフルサポート
- ビジネス要件に基づいたカスタマイズされたクラウドソリューション
- セキュリティとコンプライアンスの厳格な管理
- 継続的なサポートと運用管理
Azureの導入を成功させるためには、適切な計画と専門的なサポートが不可欠です。NTT東日本は、その両方を提供することで、お客さまのクラウド移行をスムーズかつ効果的にサポートします。
Azure Cosmos DBについてまとめ
Azure Cosmos DBは、デジタルトランスフォーメーションの中核を担うデータベースサービスです。
NoSQLを採用し、1桁ミリ秒の応答時間と99.999%の高可用性を実現しています。特に、ターンキーグローバル分散機能により、世界中のサーバーとの通信時間を短縮し、ユーザー体験を向上させている点は魅力の一つです。
また、柔軟な運用が可能で、スキーマやインデックスの管理が不要な点も大きなメリットです。
NTT東日本では、導入前の企画から実行、運用から保守運営まで一貫したサポートを提供しています。「Azure Cosmos DBが気になっているけど、料金体系がわかりにくい」「導入方法がわからない」とお困りの方は、NTT東日本までお気軽にご相談ください。
無料ダウンロード
自社のクラウド導入に必要な知識、ポイントを
この1冊に総まとめ!
あなたはクラウド化の
何の情報を知りたいですか?
- そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
- 【AWS・Azure・Google Cloud】
どれが自社に最もマッチするの? - 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
- 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?
初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。
NTT東日本では
そんなあなたにクラウド導入に必要な情報を
1冊の冊子にまとめました!
クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・
- システムインフラの維持にかかるトータルコストがあまり変わらない。。
- 情シス担当者の負担が減らない。。
- セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
-
そもそも”クラウド化”とは?
その本質的なメリット・デメリット - 自社にとって
最適なクラウド環境構築のポイント - コストを抑えるための
具体的なコツ - 既存環境からスムーズにクラウド化を
実現するためのロードマップ
など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。
面倒でお困りのあなたへ
クラウドのご相談できます!
無料オンライン相談窓口
NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!
NTT東日本が選ばれる5つの理由
- クラウド導入を
0からワンストップでサポート可能! - 全体最適におけるコスト効率・業務効率の改善を
中立的にご提案 - クラウド環境に問題がないか、
第3者目線でチェック
してもらいたい - 安心の24時間・365日の対応・保守
- NTT東日本が保有する豊富なサービスの組み合わせで
”課題解決”と”コスト軽減”を両立
特に以下に当てはまる方はお気軽に
ご相談ください。
- さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
- オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
- オンプレミスとクラウド移行した際のコスト比較を行いたい
- AWSとAzure、どちらのクラウドが自社に適切かわからない
- クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
- クラウド利用中、ネットワークの速度が遅くて業務に支障がでている
クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。
相談無料!プロが中立的にアドバイスいたします
クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。