SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Infinispan

Open Source Data Grid

                                 Red Hat
    Senior Software Maintenance Engineer
                        Takayoshi Kimura
Data Grid って?
• 複数のマシンに分散されている大量の
  データに高速にアクセスできるミドル
  ウェア
• 何ができるの?
 – 同上
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
データ分散配置デモ
• https://github.com/nekop/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
  – DistributedCallable
• MapReduce
  – Mapper
  – Reducer
  – Collator
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
Infinispan - Open Source Data Grid

Mais conteúdo relacionado

Mais procurados

Windows Azure Storage:Best Practices and Internals
Windows Azure Storage:Best Practices and InternalsWindows Azure Storage:Best Practices and Internals
Windows Azure Storage:Best Practices and Internals
Takekazu Omi
 
Windows azureを知ろう ロール&ストレージ編
Windows azureを知ろう ロール&ストレージ編Windows azureを知ろう ロール&ストレージ編
Windows azureを知ろう ロール&ストレージ編
Chiho Otonashi
 
Webアプリケーションから見たCassandra
Webアプリケーションから見たCassandraWebアプリケーションから見たCassandra
Webアプリケーションから見たCassandra
2t3
 
OpenStack Object Storage; Usage
OpenStack Object Storage; UsageOpenStack Object Storage; Usage
OpenStack Object Storage; Usage
irix_jp
 
OSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; OverviewOSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; Overview
irix_jp
 

Mais procurados (20)

Windows Azure Storage:Best Practices and Internals
Windows Azure Storage:Best Practices and InternalsWindows Azure Storage:Best Practices and Internals
Windows Azure Storage:Best Practices and Internals
 
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
 
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
 
MySQL カジュアル 福岡 03
MySQL カジュアル 福岡 03MySQL カジュアル 福岡 03
MySQL カジュアル 福岡 03
 
Couchbase 101 ja
Couchbase 101 jaCouchbase 101 ja
Couchbase 101 ja
 
Windows azureを知ろう ロール&ストレージ編
Windows azureを知ろう ロール&ストレージ編Windows azureを知ろう ロール&ストレージ編
Windows azureを知ろう ロール&ストレージ編
 
MySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyondMySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyond
 
LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版
 
MySQLの運用でありがちなこと
MySQLの運用でありがちなことMySQLの運用でありがちなこと
MySQLの運用でありがちなこと
 
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
 
Webアプリケーションから見たCassandra
Webアプリケーションから見たCassandraWebアプリケーションから見たCassandra
Webアプリケーションから見たCassandra
 
Guide to Cassandra for Production Deployments
Guide to Cassandra for Production DeploymentsGuide to Cassandra for Production Deployments
Guide to Cassandra for Production Deployments
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
 
cassandra調査レポート
cassandra調査レポートcassandra調査レポート
cassandra調査レポート
 
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sql
 
OpenStack Object Storage; Usage
OpenStack Object Storage; UsageOpenStack Object Storage; Usage
OpenStack Object Storage; Usage
 
これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門
 
HBase×Impalaで作るアドテク 「GMOプライベートDMP」@HBaseMeetupTokyo2015Summer
HBase×Impalaで作るアドテク「GMOプライベートDMP」@HBaseMeetupTokyo2015SummerHBase×Impalaで作るアドテク「GMOプライベートDMP」@HBaseMeetupTokyo2015Summer
HBase×Impalaで作るアドテク 「GMOプライベートDMP」@HBaseMeetupTokyo2015Summer
 
OSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; OverviewOSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; Overview
 
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
 

Destaque (6)

インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギインメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギ
 
超高速処理とスケーラビリティを両立するApache GEODE
超高速処理とスケーラビリティを両立するApache GEODE超高速処理とスケーラビリティを両立するApache GEODE
超高速処理とスケーラビリティを両立するApache GEODE
 
RedHat MW 2015
RedHat MW 2015RedHat MW 2015
RedHat MW 2015
 
Coherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherenceCoherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherence
 
インメモリーデータグリッドの選択肢
インメモリーデータグリッドの選択肢インメモリーデータグリッドの選択肢
インメモリーデータグリッドの選択肢
 
Apache Geode で始める Spring Data Gemfire
Apache Geode で始めるSpring Data GemfireApache Geode で始めるSpring Data Gemfire
Apache Geode で始める Spring Data Gemfire
 

Semelhante a Infinispan - Open Source Data Grid

Infinispan - Open Source Data Grid rev2
Infinispan - Open Source Data Grid rev2Infinispan - Open Source Data Grid rev2
Infinispan - Open Source Data Grid rev2
nekop
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
Yoshinori Matsunobu
 

Semelhante a Infinispan - Open Source Data Grid (20)

Infinispan - Open Source Data Grid rev2
Infinispan - Open Source Data Grid rev2Infinispan - Open Source Data Grid rev2
Infinispan - Open Source Data Grid rev2
 
社内サーバインフラ勉強会(DB)
社内サーバインフラ勉強会(DB)社内サーバインフラ勉強会(DB)
社内サーバインフラ勉強会(DB)
 
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
 
マイニング探検会#10
マイニング探検会#10マイニング探検会#10
マイニング探検会#10
 
分散処理のすゝめ?
分散処理のすゝめ?分散処理のすゝめ?
分散処理のすゝめ?
 
introduction of WalB
introduction of WalBintroduction of WalB
introduction of WalB
 
Osc2011 Do
Osc2011 DoOsc2011 Do
Osc2011 Do
 
Hadoop Summit 2016 San Jose ストリーム処理関連の報告 #streamctjp
Hadoop Summit 2016 San Jose ストリーム処理関連の報告 #streamctjpHadoop Summit 2016 San Jose ストリーム処理関連の報告 #streamctjp
Hadoop Summit 2016 San Jose ストリーム処理関連の報告 #streamctjp
 
MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12
MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12
MapR アーキテクチャ概要 - MapR CTO Meetup 2013/11/12
 
Couchbase introduction-20150611
Couchbase introduction-20150611Couchbase introduction-20150611
Couchbase introduction-20150611
 
第31回「今アツい、分散ストレージを語ろう」(2013/11/28 on しすなま!)
第31回「今アツい、分散ストレージを語ろう」(2013/11/28 on しすなま!)第31回「今アツい、分散ストレージを語ろう」(2013/11/28 on しすなま!)
第31回「今アツい、分散ストレージを語ろう」(2013/11/28 on しすなま!)
 
HBaseCon 2012 参加レポート
HBaseCon 2012 参加レポートHBaseCon 2012 参加レポート
HBaseCon 2012 参加レポート
 
20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)
 
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティSaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
 
事例で学ぶApache Cassandra
事例で学ぶApache Cassandra事例で学ぶApache Cassandra
事例で学ぶApache Cassandra
 
Glueの開発環境(zeppelin)をrancherで作ってみる
Glueの開発環境(zeppelin)をrancherで作ってみるGlueの開発環境(zeppelin)をrancherで作ってみる
Glueの開発環境(zeppelin)をrancherで作ってみる
 
Red Hat ストレージ製品
Red Hat ストレージ製品Red Hat ストレージ製品
Red Hat ストレージ製品
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
 
Datrium DVX update 20180605
Datrium DVX update 20180605Datrium DVX update 20180605
Datrium DVX update 20180605
 
Dvx update 20180605
Dvx update 20180605Dvx update 20180605
Dvx update 20180605
 

Mais de nekop (11)

Java Drag Race Tuning
Java Drag Race TuningJava Drag Race Tuning
Java Drag Race Tuning
 
JBoss AS 7 / EAP 6 modules and class loading
JBoss AS 7 / EAP 6 modules and class loadingJBoss AS 7 / EAP 6 modules and class loading
JBoss AS 7 / EAP 6 modules and class loading
 
Module classloading
Module classloadingModule classloading
Module classloading
 
JBoss AS7 rev3
JBoss AS7 rev3JBoss AS7 rev3
JBoss AS7 rev3
 
JBoss AS7 rev2
JBoss AS7 rev2JBoss AS7 rev2
JBoss AS7 rev2
 
JBoss AS7
JBoss AS7JBoss AS7
JBoss AS7
 
CDI, Seam 3 and Forge
CDI, Seam 3 and ForgeCDI, Seam 3 and Forge
CDI, Seam 3 and Forge
 
Iteratorパターン
IteratorパターンIteratorパターン
Iteratorパターン
 
Proxy
ProxyProxy
Proxy
 
ClassLoader Leak Patterns
ClassLoader Leak PatternsClassLoader Leak Patterns
ClassLoader Leak Patterns
 
mod_cluster
mod_clustermod_cluster
mod_cluster
 

Infinispan - Open Source Data Grid