ゼロからはじめるAzure 第15回 AzureのNoSQLデータベース「Cosmos DB」を使ってみよう

マイナビニュース / 2018年4月25日 10時56分

写真

画像提供:マイナビニュース

○はじめに

本連載ではこれまでAzureの提供するデータストアサービスとして、Azure StorageやSQLデータベースを紹介してきました。今回は、NoSQLデータベースサービスであるCosmos DBについて紹介していきます。
○Azure Cosmos DBとは

Cosmos DBはAzureのデータベースサービスのうち、NoSQLデータベースを扱うサービスです。NoSQLは主にビッグデータを取り扱う際に使用される傾向にあります。ビッグデータを扱う際は3つの「V」、「Volume(膨大なデータ量)」、「Velocity(高速な処理)」、「Variety(多様なデータ形式)」に対応する必要があると言われていますが、これらを従来のRDB(SQL)を使用して処理しようすると、性能やコスト、スキーマ変更への柔軟な対応といった面への対応に多大な労力が必要となってしまいます。

NoSQLはビッグデータをいかに効率的に処理するかに主眼を置いて開発されたデータベースのため、高速なデータアクセスや高いスケーラビリティ、スキーマレスなデータ構造などの機能を有しています。また、NoSQLは「Not Only SQL」の略であることから、SQLと補完的な立場であるとも言われています。前述の通りビッグデータ対応に特化している反面、SQLが持つテーブル間のリレーションやトランザクション処理におけるACID特性などの概念や機能が存在しないNoSQLデータベース製品が多く、SQLとNoSQLとでユースケースによって住み分けをすべきだと考えられています。以下の表はRDB(SQL)とNoSQLの長短所についてまとめたものです。

RDBとNoSQLの比較

Cosmos DBも同様にNoSQLデータベースとしての特徴を持っています。また、他のNoSQLデータベースにはないCosmos DBならではの特徴も存在します。
○Cosmos DBの特徴

Cosmos DBの大きな特徴には「グローバル分散」と「マルチモデルのデータベース」の2つが挙げられます。
まず「グローバル分散」ですが、これはAzureが世界中に展開するリージョン(データセンター)へのデータのレプリケーションをサポートし、データを世界中に分散して保持することを可能としています。世界中に分散してデータを保持することでアプリケーションのユーザは自身の現在地と地理的に近いリージョンのCosmos DBからデータを取得できるようになり、ネットワーク遅延による待機時間も削減できます。またデータの複製を保存するため高可用性も保証されます。Cosmos DBはグローバル分散を念頭に置いて開発されたデータベースのため、容易にデータベースをグローバル分散させることが可能となっています。

マイナビニュース

トピックスRSS

ランキング