BT

OracleのNoSQLデータベースを検証する

| 作者: Jonathan Allen フォローする 553 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2013年2月18日. 推定読書時間: 3 分 |

原文(投稿日:2013/02/08)へのリンク

 

Oracleのキーバリュー型データベース,いわゆる "Oracle NoSQL Database" がバージョン2.0になった。基本的にはBerkley DBの分散フロントエンドだが,それをはるかに越える機能を備えたデータベースだ。

Oracle NoSQL DatabaseはOracleデータベースと緊密に統合されている。外部表の機能を利用すれば,NoSQLデータベースに対するクエリの記述や,さらにはリレーショナルテーブルに結合(Join)することも可能だ。ApacheのMap Reduce技術であるHadoopのサポートも提供されている。

操作面では,"SNMP/JMXをサポートすることによって, Oracleやサードパーティの管理ツールとの統合が可能" となっている。(JMX – Java Management Extensions はアプリケーションの状態を公開するための標準的手法で,Java5の時代から提供されている。)

MongoDBなどの一般的なデータベースと違う点として,Oracle NoSQL Databaseは結果整合性(Eventually Consistency)に加えて完全整合性(Absolute Consistency)も実現している。Peter Wayner 氏の説明によれば,

繰り返しになりますが,この構造によってOracleレベルの信頼性を備えたデータ格納を実現しているのです。大多数のNoSQLストアが提供するようなレベルの低い結果整合性を望まないのでしたら,OracleのNoSQLが複製ノードの全マシンにわたる完全整合性を提供します。ただし,書き込みパフォーマンスの損失は必然的にありますから,どちらを選ぶかはあなた次第です。

ちなみにこれは二者択一ではありません。ひとつのノードへの書き込み後に終了とするか,すべての書き込みが完了するまで待機するか,あるいは過半数のノードのディスクにデータが送信されるまで待つのか,いずれかの方法を選択してOracle NoSQLに指定することができるのです。マニュアルではこの機能をデュラビリティ・ポリシ (Durability Policy) と呼んでいます。

もし不安に思う部分があるのでしたら,プログラマであるあなた自身の手で,この柔軟性を使用することもできます。キーと値のペアにはすべて,バージョンナンバが設定されています。レプリケーションを利用して自分自身で処理を行いたい場合は,直接これを参照することも可能です。レコード更新時のパフォーマンスを何とかしたいと考えるならば,この方法が有効でしょう。

汎用オブジェクトのストアも可能だが,パフォーマンスを気にするのであれば Avroスキーマ も気になるところだろう。資料では次のように主張している。

Avroスキーマを使用することによって,シリアル化されたデータを非常にスペース効率のよいバイナリ形式でストアすることができます。1ないし4バイトというごく小さなスキーマ識別子を除けば,各データは一切のメタデータを持たずにストアされます。このようなリファレンスデータが,キーと値のペア毎に格納されるのです。このように,シリアル化されたAvroデータ形式は,それをシリアライズするために利用されたスキーマに対して,最小限のオーバーヘッドで関連付けられています。この関連付けは,アプリケーションに対して透過的に行われます。内部的なスキーマ識別子はArvoCaralogクラスの提供するバインディングによって管理されています。アプリケーションが内部識別子を直接参照したり,使用したりすることはありません。

NoSQL DatabaseのCommunity EditionにはAGPLライセンスが適用されて提供される。商用ライセンスの Enterprise Editionも用意されている。

 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT