Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

リレーショナルとNoSQLのいいとこどり、Azure DocumentDBとは

2017/05/26 06:00

 パブリッククラウドのPaaSにおいて、システム構築の鍵となるのはデータベースだろう。各クラウドベンダーはオンプレミスの世界で既に実績のあるデータベースだけでなく、独自のリレーショナル、NoSQLのデータベースを提供している。マイクロソフトもSQL ServerをIaaSの上で動かすだけでなく、SQL Serverと同様なリレーショナルデータベース「Azure SQL Database」をPaaSで提供している。そしてもう1つNoSQLのデータベース・サービスとして提供しているのが「Azure DocumentDB」だ。DocumentDBは高度な拡張性を持ち、NoSQLの特徴でもあるスキーマフリーの柔軟性も提供する。このDocumentDBについて、製品を担当するディレクターのシアム・ネア(Syam Nair)氏に話を聞いた。

ネア氏
マイクロソフトでDpcumentDBを担当するディレクター、シアム・ネア氏

Q:Azureにはさまざまなデータベースがありますが、その中でもDocumentDBはどのようなサービスですか?

ネア氏:従来の(SoRの)アプリケーションで利用されるリレーショナルデータベースでは、低レイテンシーとデータの永続性が重要になります。一方グローバルで利用するような(SoEの)モダンな(モバイル向けの)アプリケーションでは、顧客の近くにデータがあることが重要です。

 さらには実装のスピードと柔軟性も必要になります。そのためにはNoSQLデータベースのスキーマレスなアーキテクチャが向いており、それでDevOpsにも対応しやすくなります。Azure DocumentDBは、NoSQLデータベースの柔軟性とリレーショナルデータベースの永続性、低レイテンシーの両方を備えたデータベースになります。

 その上でDocumentDBは、クラウドサービスであるAzure SQL Databaseのテクノロジーと同じように作られており、グローバル・ディストリビューションを前提に構築されています。そのため、リージョンをまたいだ形で利用することが可能です。つまり顧客がどこの国にいても、顧客の近くでデータの読み込み、書き込みができるのです。

 DocumentDBは、書き込みに最適化されラッチフリーなデータベース・エンジンを持っています。これにより、ドキュメント型(JSON形式)のデータの検索が、極めて高速に行えます。DocumentDBでは、読み込み検索の処理の99%以上が10ミリ秒以下のレスポンスを確保しており、書き込みの処理も15ミリ秒以下をSLAで保証しています。

Q:改めてDocumentDBの特長を教えてください。

ネア氏:クラウドのNoSQLデータベースのサービスには、CAP(Consistency:一貫性、Availability:可用性、Partition-tolerance:分断耐性)定理があります。分散コンピュータの環境でデータがパーティショニングされている際には、これら3つの要素を同時に確保することは難しいのです。DocumentDBの場合は、アプリケーションの開発者がCAPのどれを優先するかを選べるようになっています。一貫性を保つようにするのか、可用性を重視するのか。さらにスループットをとるのか。それを開発者が自分で決めることができます。

 もう1つ、さまざまなデータアクセス方法を持っていることも挙げられます。SQLやMongoDBと同じアクセス方法(Mongoクエリ言語)、JavaScriptも使えます。JSON形式のデータを扱うデータベースとしてMongoDBは、今や一般的で堅牢なものです。そのため既にMongoDBのフレームワークを使っているアプリケーションは数多くあり、DocumentDBではMongoDB用に構築したコードを変更することなく利用できます。

 さらにストレージのスループットを最適化でき、ストレージやスループットを自由に選択できるのも特長です。これによりTCOの最適化も可能です。

Q:DocumentDBは、どのような用途に向いているのでしょうか?

ネア氏:DocumentDBには、既に多くの実績があります。用途の1つとしては、IoTなどのアプリケーションがあります。またグローバルレベルで利用するアプリケーションにも向いています。これはDocumentDBが、クリック1つでリージョンをまたいでレプリケーションができるからです。つまり、ユーザーがどこにいても、ローカルにいるのと同じレイテンシーでデータを読み込めます。フェイルオーバーの仕組みも組み込まれているので、どこかのサービスがダウンしても何ら問題はありません。

Q:DocumentDBは、マイクロソフトが1から構築した独自のデータベースなのですか?

ネア氏:クラウドの環境においてグローバル規模で利用するために、マイクロソフトがオリジナルで開発したデータベースになります。オープンソースを利用しているわけではなく、マイクロソフト独自のエンジンとなっています。とはいえ、MongoDBのオープンなプロトコルもサポートしています。エンジンとランタイムはマイクロソフト独自ですが、データへのアクセスはオープンです。

※この続きは、会員の方のみお読みいただけます(登録無料)。


著者プロフィール

  • 谷川 耕一(タニカワ コウイチ)

    EnterpriseZine/DB Online チーフキュレーター ブレインハーツ取締役。AI、エキスパートシステムが流行っていたころに開発エンジニアに、その後雑誌の編集者を経て、外資系ソフトウェアベンダの製品マーケティング、広告、広報などを経験。現在は、オープンシステム開発を主なターゲットにし...

  • DB Online編集部(ディービーオンライン ヘンシュウブ)

    DB Online編集部 翔泳社 EnterpriseZine(EZ)が提供するデータベース/データテクノロジー専門メディア「DB Online」編集部です。皆様からの情報お待ちしています。 Twitter : https://twitter.com/db_online Fac...

バックナンバー

連載:DB Press

もっと読む

All contents copyright © 2007-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5