Azure DocumentDB について

今回はAzureDocumentDBについてご紹介したいと思います。

Microsoftといえば、SQLServerを提供していますね。
WindowsOSをメインにしているユーザーであれば使ったことが多いのではないでしょうか。
実際、リレーショナルデータベースの中でもSQLServerは世界的にも一定のシェアがあります。

そんな状況の中、MicrosoftAzureのはクラウド的に利用できるNoSQL型のデータベース、DocumentDBをリリースしました。

DocumentDBとは

DocumentDBとは上述した通り、NoSQL型のドキュメントデータベースサービスです。
最近特に成長しているモバイルアプリケーションやWebアプリケーション向けに設計されています。

従来のスキーマフリーのデータベースのほとんどは複雑なクエリやトランザクション処理などの対応が難しく、それにより高度なデータ処理ができません。
DocumentDBは上記のような機能を利用できるようにした、高速な読み取り書き込みや容易にスケールアップ/ダウンできる柔軟性の高いサービスといえるでしょう。

DocumentDBのメリット

■馴染みのある SQL 構文を使用
多種多様なJSONドキュメントをDocumentDBに格納し、馴染みのあるSQL構文を使用して照会可能です。

DocumentDB は、同時実行性の高い、ロックを用いないログ構造のインデックス作成技術を利用して、すべてのドキュメント コンテンツのインデックスを自動的に作成します。
そのため、スキーマのヒント、セカンダリ インデックス、ビューを指定せずに、豊富なリアルタイム クエリが可能となっています。

■データベース内で JavaScript を実行可能
標準のJavaScriptを使用し、JSONデータを扱うことができます。

DocumentDB は、JavaScript アプリケーション ロジックを完全なトランザクションとしてデータベース エンジン内から直接実行できます。
JavaScript が深いレベルで統合されているため、INSERT、REPLACE、DELETE、SELECT の操作を分離されたトランザクションとして JavaScript プログラム内から実行することができます。

■一貫性レベルをチューニング可能
明確に定義された 4 つの一貫性レベルの中からいずれかのレベルを選択し、一貫性とパフォーマンス間のトレードオフを最適な形で行うことができます。

DocumentDB では、クエリと読み取り操作に関して、Strong、Bounded-Staleness、Session、Eventual の 4 種類の一貫性レベルが利用できます。

■完全管理
オンプレミスのようにDBやリソースを管理する手間がかかりません。DocumentDBは完全に管理されているため、仮想マシンの管理、ソフトウェアのデプロイと構成などを行う必要はありません。

さらにすべてのデータベースは自動的にバックアップされます。
必要に応じて容量をプロビジョニングすることも可能です。

つまりデータベースの運用と管理に煩わされることなく、アプリケーションに専念することが可能です。

■スループットとストレージのスケールを柔軟に変更可能
ユーザーのニーズに応じて DocumentDB を容易にスケールアップ/ダウンが可能です。
SSD を使用したストレージとスループットの単位が細かく規定されており、スケール調整は、それらを予約することによって行います。

アプリケーションの成長に合わせて容量単位を追加購入すると、確実なパフォーマンスと共に、DocumentDB を臨機応変に拡張することができます。

■デザインとしてのオープン性
DocumentDB に対するプログラミングはシンプルです。
新しいツールを導入したり、JSON または JavaScript のカスタム拡張機能に準拠したりする必要はありません。

単純な RESTful HTTP インターフェイスを介して、CRUD、クエリ、および JavaScript 処理を含むすべてのデータベース機能にアクセスできます。

ちなみに現在対応しているライブラリは以下です。
.NET
Node.js
JavaScript
Python

DocumentDBの料金

次にDocumentDBの料金を見てみましょう。

2015年7月現在提供されているリージョンは米国東部、米国西部、北ヨーロッパ、西ヨーロッパ、東アジア、東南アジアです。
以下に参考までに東南アジアの料金です。

日本リージョンはくるのですかね?

いかがでしたでしょうか?

DocumentDBはすぐにでも始められるのでぜひお試し下さい。
次回もお楽しみに!!

この記事を書いた人

azure-recipe-user