BT

JavaのSpace4Jとのメモリ内パーシスタンス

| 作者: Dio Synodinos フォローする 3 人のフォロワー , 翻訳者 編集部 フォローする 0 人のフォロワー 投稿日 2008年9月26日. 推定読書時間: 2 分 |

Space4J(リンク)は単純なデータベースであり、メモリのJava Collectionsと動作させる。メモリは、データへのランダムアクセスのディスクよりも高速な絶対値の複数の命令であるので、Space4Jはパ フォーマンスを必要とする「リアルタイム」Webアプリケーションおよびシステムに対し、より良いスケーラビリティーを提供している。

Space4Jで、SQL SELECTを実行して、データベーステーブルからUserをフェッチする代わりに、デベロッパはユーザマップ(java.util.Map)にアクセス しusers.get(id)を呼び出す。すべてのデータはJVM内のメモリに保持されるので、追加のデータベースアプリケーション、ソケット接続、 JDBCドライバー、SQLステートメントやORMツールは不要である。データはオブジェクトやJavaマップにある。データを修正するオペレーションに ついては、Commandオブジェクトが作成され、直列化され、ログファイルのディスクに保存される。リスタート時は、過去のコマンドはログファイルから 読み取られ、再適用され、たとえばシステムの異常終了前にあったデータセットとまったく同じデータセットを生成する。

ログファイルが時々巨大になるのを防止する目的で、アプリケーションは全てのデータのスナップショットをとることができる。Space4Jは、すべての データをSpaceオブジェクト内に保持する。スナップショットをとる場合、Spaceオブジェクト全体がシリアライズされ、ディスクに保存される。最後 のスナップショットは再適用される必要があるので、リスタート時はコマンドのみである。スナップショットのサイズは、アプリケーションによって決まる。ま た、スナップショットをディスクに保存する際、Space4Jクラスタを使用する場合を除き、システムは読み取り専用モードにする必要がある。そのような デプロイメントの例は、ロードバランシングのWebアプリケーションであろうが、すべてのWebサーバにはクラスタから独自のSpace4Jノードがあ る。

Space4Jは、完全な索引付けフレームワークを搭載している。異なる4タイプの索引がデータを検索するのをさまざまな方法でサポートするものである。 また、オフライン作業における通常のデータベース、データウェアハウジング、レポートなどと同時に使用することができる。

Space4Jは、データへの並行読み取り/書き込みアクセスのJava 1.6並行データ構造を使用する。そのため書き込みプログラムは書き込みプログラムのみをブロックし、読み取りプログラムは、何もブロックしないし、何に よってもブロックされない。これは、1つずつ修正がおこなわれるが、 ConcurrentModification例外なしで、読み取りアクセス操作が同時に実行されることを意味する。

最新のリリース(0.9.1)をダウンロードしたり(ZIP)、ソースリポジトリをリポジトリをブラウズすることができる(リンク)

パフォーマンスやその他のデータアクセス問題(参考記事リンク)のため、ディスクからメモリへデータアクセスを遷移する、新出のパラダイムについて詳しくは、Steven Robbins氏によるInfoQの記事「RAMが新たなるディスクとなる...」(参考記事)を参照のこと。

原文はこちらです:http://www.infoq.com/news/2008/09/space4j

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには 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