Infinispan - Open Source Data Grid rev2
Post on 18-Jan-2015
1052 Views
Preview:
DESCRIPTION
Transcript
Infinispan
Open Source Data Grid
Red HatSenior Software Maintenance Engineer
Takayoshi Kimura
Memory is the new disk, disk is the new tape.
What is Data Grid?
• 複数のマシンに分散配置されている大量のデータに高速にアクセスできるミドルウェア
• 何ができるの?– 同上
• メモリ上の RAID
Infinispan とは
• JBoss で使われていたクラスタリングライブラリ JBoss Cache が起源
• JSR-107 JCache
• JSR-347 Data Grids for Java– スペックリードは Infinispan 作者の Manik
Surtani– Java EE 7 で JSR-347 が収録される可能
性が高い
ユースケース
• キャッシュとして利用する• 分散キャッシュとして利用する• クラスタリングライブラリとして利用
する• インメモリデータグリッドとして利用
する
キャッシュ
• ConcurrentHashMap の代わりに– より高い並列性– 古いエントリを消す– 古いエントリをディスクや DB へ– イベントリスナサポート– トランザクション連携
キャッシュ
• データベースのキャッシュ– Hibernate の 2nd level キャッシュ
• ビューのキャッシュ– Seam のビューフラグメントキャッシュ
• 読み込むコストの高いデータに適用– Read-most が原則– そうではない場合逆に遅くなる可能性
分散キャッシュ
• クラスタ対応キャッシュ– 使い方はローカルキャッシュと一緒– ローカルキャッシュでは複数 VM からは利
用できない– 例えば DB のキャッシュとして利用してい
て、別ノードが DB とキャッシュを更新したらどうする?
クラスタリングライブラリ
• 「クラスタ対応」したいときに– 複数ノード間でのデータの共有– イベントリスナを利用して各ノードで処理
をトリガ• JBoss AS でも利用
インメモリデータグリッド
• 大量のデータ• 高速アクセス• 非同期でディスク書き出し• 分散処理
インメモリデータグリッド
• データの分散配置– コンシステントハッシュと仮想ノード– 遠隔地クラスタリレー、ディザスターリカ
バリ• データの分散処理
– Distributed Executor– MapReduce
データ分散配置デモ
• infinispan-scala-swing-demo
Eviction
• アクセスされないデータを追い出す– Passivation モードだとディスクなどに書
き出す– そうではない場合は単に消す
• キャッシュアルゴリズム– どのように「アクセスされない」を決定
するか– LRU, MRU, LFU, LIRS
LRU
• Least Recently Used
• 最もアクセスが無い期間が長いデータを追い出す– 最新のものをキープする– 単純なユースケースに最適
LRU
• 最新 != ホット– 1000 のデータ、 200 のキャッシュ– 例えばバッチ処理で全データ一回舐めるだ
けでキャッシュがめちゃくちゃに• 一回だけたまたまアクセスされたエン
トリが長く生き残る• アクセスが偏るとホットなエントリが
消される
LIRS
• Low Inter-reference Recency set
• 二つの領域– LIR エリア – ホットなキー– HIR エリア – 最近のキー
• シンプルなアクセス履歴を保持– ホットなキーを長期保持
Distributed Execution Framework
• Distributed Executor
• MapReduce
Infinispan Query
• key-value ストアに格納した value に対する全文検索
• Hibernate Search を内部的に利用• Hibernate Search とほぼ同じ API
Hibernate OGM
• Object Grid Mapping
• JPA インタフェースで Grid からデータを取得
• Hibernate プロジェクト下で開発• Infinispan が最初にサポートされる
Grid
• 他の Grid にも対応予定
References
• Infinispan ユーザガイド– https://docs.jboss.org/author/display/ISPN/User+Guide
• JBoss World 2011– http://www.redhat.com/summit/2011/presentations/jbossworld/
• JUDCon 2011– http://www.jboss.org/events/JUDCon/presentations.html
Memory is the new disk, disk is the new tape.
top related