TOP
>
ThinkIT News
> PojoCache: Cluster Your POJOs with Annotations
JBoss World Las Vegas 2006 Report
第3回:JBossコミュニティの行方
著者:
野村総合研究所 岡田 拓郎
2006/9/11
前のページ
1
2
3
次のページ
PojoCache: Cluster Your POJOs with Annotations
最後に、Ben Wang氏とBrian Stansberry氏(両氏ともにJBoss/Red Hat Inc.)によるJBossのキャッシュ用モジュールである「JBoss Cache」の紹介を概説する。
JBoss Cacheには2つのキャッシュオブジェクトがある。1つはTreeCacheであり、名前の通り木構造に(パスによって関連付けられた)オブジェクトを格納する。もう1つはPojoCacheというTreeCacheの継承オブジェクトであり、POJOをキャッシュすることができるものである。
PojoCacheは従来からあるTreeCacheの機能を受けて設計された新しいオブジェクトであるが、どちらか一方がパフォーマンス的に優れているわけではなく、両者ともに一長一短があり、アプリケーションの構造に応じた使い分けが必要となる。TreeCacheがその生成から消滅までほぼ一定のコストを持つことに対して、PojoCacheのパフォーマンス特性はその生成時に偏っている。
PojoCacheでは、キャッシュ対象のオブジェクトの生成時にJBoss AOPによってキャッシュ実装がウェービングされるが、その後の属性の更新では単純な値の設定/取得が行われるのみであるため、生成時にコストが集中するのである。
そのため、生成後にあまり頻繁に値の更新が行われないようなキャッシュモデルではTreeCacheを使用したほうが良いパフォーマンスが期待できる。反対に生成後の値の更新が多く発生するキャッシュモデルではPojoCacheの方が良いパフォーマンスが期待できる。
2つのキャッシュモデルのパフォーマンス特性
「PojoCache 10-90」は「10%のオブジェクト生成/90%の値の更新」をあらわす
(画像をクリックすると別ウィンドウに拡大図を表示します)
JBoss Cacheは、JBoss Application Server、JBoss Messaging、JBoss Seamなど他の多くのプロジェクトが高可用性を実現する上での中核機能として利用する重要なコンポーネントである。その機能は単純なキャッシュだけにとどまらず、分散オブジェクト(レプリケーション)や分散トランザクションの実現も担っている。またスタンドアロンでの(アプリケーションサーバなど他のミドルウェアを必要としない)動作も可能であり、その特性に応じた様々な形態での利用が想定される。
参考
JBoss Cache(
http://labs.jboss.com/portal/jbosscache
)
前のページ
1
2
3
次のページ
著者プロフィール
株式会社野村総合研究所 岡田 拓郎
証券系システムの基盤づくりの一環としてフレームワーク、ミドルウェアの研究開発に携わる。現在は、JBoss.ORGコミュニティのコミッタと共に性能解析ツールJBossProfilerの拡張を行っている。また、オープンソースのコンポーネントライブラリ「
Nimbus
」のコミッタも勤める。