SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by
Apache GEODE Meetup Tokyo #3
インメモリーデータグリッドの選択肢
2017/2/16
ウルシステムズ株式会社
http://www.ulsystems.co.jp
mailto:info@ulsystems.co.jp
Tel: 03-6220-1420 Fax: 03-6220-1402
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 1
About Me
山河 征紀
Business
Private
• GEODE歴:9年(Since 2008)
• GEODEバグ報告数:nnn 件
• マラソン
• 横浜マラソン2016:4h17m
• 目標は2017年度中のサブ4
• 登山
• 目標はココ
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 2
おしらせ
Apache Geodeのハンズオンやります!
3/14(火)19:00~
六本木ヒルズ森タワー20F
Pivotal Japan
• 一緒に運営していただける方
• スピーカーをお願いできる方
大募集中
ULS 3
Copyright © 2011-2013 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by
インメモリーデータグリッドの選択肢
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 4
2007年
2017年
データグリッドの昔と今
(ex-GemFire)
(ex-GridGain)
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 5
たくさんあるのはありがたい
でも・・・
どれを使えば
いいんだろう?
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 6
今日、お話したいこと
In-Memory DataGrid
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 7
おことわり
本日、お話する内容は、あくまで個人の見解
です
ただし、Geode Meetupだからといって
Apache Geodeに有利になるような見方はし
ておりません
ULS 8
Copyright © 2011-2013 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by
インメモリーデータグリッドの選択肢
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 9
サーバ
サーバ
サーバ
アプリケーションのスケールアウトは容易になったが、RDB
がボトルネックに
マイクロサービス時代では、ここがスケールしないときつい
良くあるシステムの課題
JVM
JVM
JVM
アプリケーション
アプリケーション
アプリケーション
RDB
スループット
だけでなくレ
イテンシーも
重要
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 10
そんなときに…
インメモリー
データグリッド
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 11
インメモリーデータグリッドに必要な3大要素+1
複数ノードのメモリーに
データを分散して保持していること
メモリー中のデータと
外部データストアとの連携が
シームレスにできること
メモリー中のデータへ
トランザクション処理ができること
①
②
③
メモリー中のデータに関するイベントが
容易にハンドリングできること
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 12
ということで…
3つの観点で、どれが良いのかを比較してみます!
ULS 13
Copyright © 2011-2013 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by
ラウンド1
データの分散
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 14
データ分散?
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 15
データ分散とは…
クラスター全体を論理的に1つのまとまりとして見たとき、
データをどのノードのメモリーにもつか、ということ
データの特性によって分散スタイルを選ぶ必要があるため、
この選択肢が充足していることは重要
パーティションレプリケーション
すべてのマシンで同一のデータ
を保持する
何れかのマシンにデータが存在
する
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 16
データの分散:比較結果(1)
呼び方は違えど、主要な分散スタイルに差はない
レプリケーション パーティション
Geode ○ Replicated ○ Partitioned
Ignite ○ REPLICATED ○ PARTITIONED
Hazelcast ○ ReplicatedMap ○ Map
Infinispan ○ Replicated-cache ○ Distributed-cache
Coherence ○ Replicated Cache ○ Partitioned Cache
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 17
データの分散:比較結果(2)
細かい部分では特色がある
ただし、これらは「あったら嬉しい」というレベルのもの
その他の分散スタイル 補足
Geode
Local
Preloaded
Distributed non-replicated
レプリケーションでは、書き込み
時のオプションが選べる
(distributed-ack,distributed-
no-ack,global)
Ignite
LOCAL
Near Cache
パーティションのバックアップを
全ノードで保持したものがレプリ
ケーション、というコンセプト
Hazelcast Near Cache
レプリケーションでの書き込みは
結果整合性
KeyValue以外のデータ構造も選択
できる
Infinispan
Local mode cache
Near Caching
機能やAPIは非常に多い
Coherence
Local Cache
Near Cache
Optimistic Cache
各種Schemeを組み合わせて
キャッシュを構成できる
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 18
パーティションのデータ分散(1)
パーティションに関しては、こんな風にデータを保持したい
時もある(カスタムパーティショニング)
ノード#1
Order-1 User-A
Order-3 User-B
Order-5 User-A
Order-7 User-A
ノード#2
Order-2 User-B
Order-4 User-A
Order-6 User-A
Key Value
Key Value
ノード#1
Order-1 User-A
Order-5 User-A
Order-7 User-A
ノード#2
Order-2 User-B
Order-4 User-A
Order-6 User-A
Key Value
Key Value
Order-3 User-B
データは均等
に分散しいて
いるが…
処理内容によっては
User毎にまとまって
いた方がノード間通
信がなく、都合が良
い場合もある
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 19
加えて、異なるデータの種類も同一ノードに配置したい時も
ある(コロケーション)
OrderUser
パーティションのデータ分散(2)
ノード#1
Order-1 User-A
Order-4 User-A
User-B User-B属性
Key Value
OrderUser
ノード#2
Order-2 User-B
Order-3 User-B
User-A User-A属性
Key Value
OrderUser
ノード#1
Order-1 User-A
Order-4 User-A
User-A User-A属性
Key Value
OrderUser
ノード#2
Order-2 User-B
Order-3 User-B
User-B User-B属性
Key Value
User-Aの
データがな
いのでノー
ド#2にとり
にいかない
といけない
…
ノードを跨
いでデータ
を取得しな
くて良い
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 20
パーティションのデータ分散:比較結果
こちらも差はなし
カスタム
パーティショニング
コロケーション
Geode ○ Partition
Resolver ○ Co-Location
Ignite ○ Affinity
Collocation ○ Affinity
Collocation
Hazelcast ○ Partition
AwareKey ○ Partition
AwareKey
Infinispan ○ Grouping API
KeyAffinityService ○ Grouping API
KeyAffinityService
Coherence ○ KeyPartitioning
Strategy ○ Key
Association
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 21
ラウンド1:データの分散対決 結果発表
過去バージョンではできないものがあったが、現時点では大
きな差なし
ULS 22
Copyright © 2011-2013 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by
ラウンド2
シームレスな外部データストア連携
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 23
シームレスな外部データストア連携とは…
全てのデータはメモリーにのりきらない
のりきらないデータは外部データストアとの連携が必要
外部データストア
との自動連携
データ
グリッド
RDB等
APPが意識するのは
メモリー上のデータ
だけ
 メモリー中のデータを参照して、データが
存在しない場合(キャッシュミス)は自動
的にメモリー上に読み込んでほしい
 メモリー中のデータを追加・変更した場合
は、自動的にデータストアに書き込んでほ
しい
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 24
キャッシュミスが発生した場合は、データストアよりデータ
を読み取りメモリーに保持する
リードスルー
RDB等
データグリッド
データグリッド
参照
(Read A)
リード
スル―
リード
スル―
A B
C D
D
D
A
A
B
B
参照
(Read B)
APP
APP
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 25
メモリー上のデータを更新した場合は、自動的にデータスト
アに書き込む
ライトスルー/ライトビハインド
RDB等
データグリッド
データグリッド
追加
(Write A)
ライトスルー
ライトビハインド
(Insert)
A B
D
D
D
A
A
B
B
更新
(Write B)
ライトスルー
ライトビハインド
(Update)
APP
APP
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 26
外部データストア連携:比較結果
出来ないものはなし
リードスルー ライトスルー ライトビハインド
Geode ○ Cache
Loader ○ Cache
Writer ○
Async
Event
Listener
Ignite ○ Cache
Store ○ Cache
Store ○ Cache
Store
Hazelcast ○ Cache
Loader ○ Map
Store ○ Map
Store
Infinispan ○ Cache
Loader ○ Cache
Store ○ Cache
Store
Coherence ○ Cache
Loader ○ Cache
Store ○ Cache
Store
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 27
これも、過去バージョンではできないものがあったが、現時
点では大きな差なし
 あえていうなら、各種データストア用のデフォルト実装が揃っているInfinispan
が使いやすいかもしれない
ラウンド2:外部データストア連携対決 結果発表
ULS 28
Copyright © 2011-2013 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by
ラウンド3
トランザクション
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 29
トランザクション
インメモリーデータグリッドを採用する場合、更新処理の高
速性、スケーラビリティを求めて採用するケースがある
ベースは、トランザクション不要なように設計すべきである
が、少なからずトランザクション処理が必要となるケースが
ある
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 30
トランザクション:比較結果
Ignite、Infinispanが出来ることは多い
トランザクション対象
分離レベル
ロック
方式レプリケー
ション
パーティ
ション
MIX
Geode ○ △ △ READ_COMMITED 楽観
Ignite ○ ○ ○
READ_COMMITED
REPEATABLE_READ
SERIALIZABLE
楽観
悲観
Hazelcast ○ ○ ○ READ_COMMITED 楽観
Infinispan ○ ○ ○ READ_COMMITTED
REPEATABLE_READ
楽観
悲観
Coherence ○ ○ ○ READ_COMMITED 楽観
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 31
トランザクション機能で選ぶなら、Ignite、Infinispanが出
来ることは多い
高速性を目指すときに必要かどうかは微妙なとこではあるが
ラウンド3:トランザクション対決 結果発表
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 32
まとめ
インメモリーデータグリッド機能対決 結果
–RDBと同じようなトランザクション機能が必要ならIgnite
やInfinispanを選んだ方が良い
–GeodeとCoherenceは10年前から出来ないことがわかって
いるが対応していないので、おそらく今後も対応されない
–それ以外は以前は差があったが、現時点では大差なし
ラウンド 結果
1. データ分散 DRAW(差なし)
2. 外部データストア連携 DRAW(差なし)
3. トランザクション
1. Apache Ignite
2. Infinispan
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 33
最後に
今回は、残念ながらGeodeだけ「出来ない」
がでちゃいました!
それでも、今後もGeodeを使い続けます!
別の観点の比較はまた別の機会にでも…

Contenu connexe

Tendances

Tendances (20)

Vacuum徹底解説
Vacuum徹底解説Vacuum徹底解説
Vacuum徹底解説
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
 
Elasticsearchを使うときの注意点 公開用スライド
Elasticsearchを使うときの注意点 公開用スライドElasticsearchを使うときの注意点 公開用スライド
Elasticsearchを使うときの注意点 公開用スライド
 
OCI GoldenGate Overview 2021年4月版
OCI GoldenGate Overview 2021年4月版OCI GoldenGate Overview 2021年4月版
OCI GoldenGate Overview 2021年4月版
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 
Oracle Advanced Security Transparent Data Encryptionのご紹介
Oracle Advanced Security Transparent Data Encryptionのご紹介Oracle Advanced Security Transparent Data Encryptionのご紹介
Oracle Advanced Security Transparent Data Encryptionのご紹介
 
Oracleからamazon auroraへの移行にむけて
Oracleからamazon auroraへの移行にむけてOracleからamazon auroraへの移行にむけて
Oracleからamazon auroraへの移行にむけて
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Oracle GoldenGate FAQ
Oracle GoldenGate FAQOracle GoldenGate FAQ
Oracle GoldenGate FAQ
 
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデートOracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
 
Oracle Database Applianceのご紹介(詳細)
Oracle Database Applianceのご紹介(詳細)Oracle Database Applianceのご紹介(詳細)
Oracle Database Applianceのご紹介(詳細)
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウト
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
 
Metaspace
MetaspaceMetaspace
Metaspace
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 

En vedette

Coherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherenceCoherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherence
Toshiaki Maki
 
GemFire In Memory Data Grid
GemFire In Memory Data GridGemFire In Memory Data Grid
GemFire In Memory Data Grid
Dmitry Buzdin
 
秒間5万リクエストを処理する リアルタイム広告システム / BS3-3 新しい潮流:ビッグデータのリアルタイム応用:ユーザ事例 #QConTokyo
秒間5万リクエストを処理する リアルタイム広告システム  / BS3-3 新しい潮流:ビッグデータのリアルタイム応用:ユーザ事例 #QConTokyo秒間5万リクエストを処理する リアルタイム広告システム  / BS3-3 新しい潮流:ビッグデータのリアルタイム応用:ユーザ事例 #QConTokyo
秒間5万リクエストを処理する リアルタイム広告システム / BS3-3 新しい潮流:ビッグデータのリアルタイム応用:ユーザ事例 #QConTokyo
Takahiro Yasuda
 
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Manik Surtani
 

En vedette (20)

インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギインメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギ
 
超高速処理とスケーラビリティを両立するApache GEODE
超高速処理とスケーラビリティを両立するApache GEODE超高速処理とスケーラビリティを両立するApache GEODE
超高速処理とスケーラビリティを両立するApache GEODE
 
Apache Geode で始める Spring Data Gemfire
Apache Geode で始めるSpring Data GemfireApache Geode で始めるSpring Data Gemfire
Apache Geode で始める Spring Data Gemfire
 
Geode hands-on
Geode hands-onGeode hands-on
Geode hands-on
 
Coherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherenceCoherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherence
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
 
これがCassandra
これがCassandraこれがCassandra
これがCassandra
 
Infinispan - Open Source Data Grid
Infinispan - Open Source Data GridInfinispan - Open Source Data Grid
Infinispan - Open Source Data Grid
 
SnappyData Overview Slidedeck for Big Data Bellevue
SnappyData Overview Slidedeck for Big Data Bellevue SnappyData Overview Slidedeck for Big Data Bellevue
SnappyData Overview Slidedeck for Big Data Bellevue
 
GemFire In Memory Data Grid
GemFire In Memory Data GridGemFire In Memory Data Grid
GemFire In Memory Data Grid
 
No-Ops で大量データ処理基盤
No-Ops で大量データ処理基盤No-Ops で大量データ処理基盤
No-Ops で大量データ処理基盤
 
秒間5万リクエストを処理する リアルタイム広告システム / BS3-3 新しい潮流:ビッグデータのリアルタイム応用:ユーザ事例 #QConTokyo
秒間5万リクエストを処理する リアルタイム広告システム  / BS3-3 新しい潮流:ビッグデータのリアルタイム応用:ユーザ事例 #QConTokyo秒間5万リクエストを処理する リアルタイム広告システム  / BS3-3 新しい潮流:ビッグデータのリアルタイム応用:ユーザ事例 #QConTokyo
秒間5万リクエストを処理する リアルタイム広告システム / BS3-3 新しい潮流:ビッグデータのリアルタイム応用:ユーザ事例 #QConTokyo
 
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
Infinispan, Data Grids, NoSQL, Cloud Storage and JSR 347
 
JBoss Community Introduction
JBoss Community IntroductionJBoss Community Introduction
JBoss Community Introduction
 
Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...
Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...
Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...
 
Архитектура Apache Ignite .NET
Архитектура Apache Ignite .NETАрхитектура Apache Ignite .NET
Архитектура Apache Ignite .NET
 
Building Wall St Risk Systems with Apache Geode
Building Wall St Risk Systems with Apache GeodeBuilding Wall St Risk Systems with Apache Geode
Building Wall St Risk Systems with Apache Geode
 
Infinispan Servers: Beyond peer-to-peer data grids
Infinispan Servers: Beyond peer-to-peer data gridsInfinispan Servers: Beyond peer-to-peer data grids
Infinispan Servers: Beyond peer-to-peer data grids
 
Infinspan: In-memory data grid meets NoSQL
Infinspan: In-memory data grid meets NoSQLInfinspan: In-memory data grid meets NoSQL
Infinspan: In-memory data grid meets NoSQL
 
Infinispan from POC to Production
Infinispan from POC to ProductionInfinispan from POC to Production
Infinispan from POC to Production
 

Similaire à インメモリーデータグリッドの選択肢

D11 一つのデータベースでは、夢を現実に変えられない -Human Dreams. Make IT Real- by Taichi Ishikawa
D11 一つのデータベースでは、夢を現実に変えられない -Human Dreams. Make IT Real- by Taichi IshikawaD11 一つのデータベースでは、夢を現実に変えられない -Human Dreams. Make IT Real- by Taichi Ishikawa
D11 一つのデータベースでは、夢を現実に変えられない -Human Dreams. Make IT Real- by Taichi Ishikawa
Insight Technology, Inc.
 
[AWSマイスターシリーズ] Amazon Redshift
[AWSマイスターシリーズ] Amazon Redshift[AWSマイスターシリーズ] Amazon Redshift
[AWSマイスターシリーズ] Amazon Redshift
Amazon Web Services Japan
 
[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani
[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani
[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani
Insight Technology, Inc.
 
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn交流会_DataSpider のソーシャルとの融合、手組との融合dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn
 
[DI06] 並列分散処理の考え方とオープンソース分散処理系の動向
[DI06] 並列分散処理の考え方とオープンソース分散処理系の動向[DI06] 並列分散処理の考え方とオープンソース分散処理系の動向
[DI06] 並列分散処理の考え方とオープンソース分散処理系の動向
de:code 2017
 

Similaire à インメモリーデータグリッドの選択肢 (20)

D11 一つのデータベースでは、夢を現実に変えられない -Human Dreams. Make IT Real- by Taichi Ishikawa
D11 一つのデータベースでは、夢を現実に変えられない -Human Dreams. Make IT Real- by Taichi IshikawaD11 一つのデータベースでは、夢を現実に変えられない -Human Dreams. Make IT Real- by Taichi Ishikawa
D11 一つのデータベースでは、夢を現実に変えられない -Human Dreams. Make IT Real- by Taichi Ishikawa
 
[AWSマイスターシリーズ] Amazon Redshift
[AWSマイスターシリーズ] Amazon Redshift[AWSマイスターシリーズ] Amazon Redshift
[AWSマイスターシリーズ] Amazon Redshift
 
2016年2月4日 空間OSの設計コンセプトと先端IT
2016年2月4日 空間OSの設計コンセプトと先端IT2016年2月4日 空間OSの設計コンセプトと先端IT
2016年2月4日 空間OSの設計コンセプトと先端IT
 
[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani
[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani
[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
 
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
 
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn交流会_DataSpider のソーシャルとの融合、手組との融合dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
 
[db tech showcase Tokyo 2015] C25:HP NonStop SQLはなぜグローバルに分散DBを構築できるのか、 データの整合...
[db tech showcase Tokyo 2015] C25:HP NonStop SQLはなぜグローバルに分散DBを構築できるのか、 データの整合...[db tech showcase Tokyo 2015] C25:HP NonStop SQLはなぜグローバルに分散DBを構築できるのか、 データの整合...
[db tech showcase Tokyo 2015] C25:HP NonStop SQLはなぜグローバルに分散DBを構築できるのか、 データの整合...
 
Iot_demo_challenger
Iot_demo_challengerIot_demo_challenger
Iot_demo_challenger
 
[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...
[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...
[db tech showcase Tokyo 2015] B34:データの仮想化を具体化するIBMのロジカルデータウェアハウス by 日本アイ・ビー・エ...
 
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
 
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...
[db tech showcase OSS 2017] A14: IoT時代のデータストア--躍進するNoSQL、拡張するRDB by OSSコンソーシア...
 
[de:code 2017] 並列分散処理の考え方とオープンソース分散処理系の動向
[de:code 2017] 並列分散処理の考え方とオープンソース分散処理系の動向[de:code 2017] 並列分散処理の考え方とオープンソース分散処理系の動向
[de:code 2017] 並列分散処理の考え方とオープンソース分散処理系の動向
 
[DI06] 並列分散処理の考え方とオープンソース分散処理系の動向
[DI06] 並列分散処理の考え方とオープンソース分散処理系の動向[DI06] 並列分散処理の考え方とオープンソース分散処理系の動向
[DI06] 並列分散処理の考え方とオープンソース分散処理系の動向
 
3-1)『空気を読む家』とメタバース駆動開発構想 空間OS モノと社会をつなげる
3-1)『空気を読む家』とメタバース駆動開発構想   空間OS モノと社会をつなげる3-1)『空気を読む家』とメタバース駆動開発構想   空間OS モノと社会をつなげる
3-1)『空気を読む家』とメタバース駆動開発構想 空間OS モノと社会をつなげる
 
ストリームデータ分散処理基盤Storm
ストリームデータ分散処理基盤Stormストリームデータ分散処理基盤Storm
ストリームデータ分散処理基盤Storm
 
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
 
Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)
 

Plus de Masaki Yamakawa

Plus de Masaki Yamakawa (10)

20231111_YugabyteDB-on-k8s.pdf
20231111_YugabyteDB-on-k8s.pdf20231111_YugabyteDB-on-k8s.pdf
20231111_YugabyteDB-on-k8s.pdf
 
20221117_クラウドネイティブ向けYugabyteDB活用シナリオ
20221117_クラウドネイティブ向けYugabyteDB活用シナリオ20221117_クラウドネイティブ向けYugabyteDB活用シナリオ
20221117_クラウドネイティブ向けYugabyteDB活用シナリオ
 
20220331_DSSA_MigrationToYugabyteDB
20220331_DSSA_MigrationToYugabyteDB20220331_DSSA_MigrationToYugabyteDB
20220331_DSSA_MigrationToYugabyteDB
 
20211118 dbts2021 マイクロサービスにおけるApache Geodeの効果的な使い方
20211118 dbts2021 マイクロサービスにおけるApache Geodeの効果的な使い方20211118 dbts2021 マイクロサービスにおけるApache Geodeの効果的な使い方
20211118 dbts2021 マイクロサービスにおけるApache Geodeの効果的な使い方
 
20190523 IMC meetup-IMDG&DS
20190523 IMC meetup-IMDG&DS20190523 IMC meetup-IMDG&DS
20190523 IMC meetup-IMDG&DS
 
20181031 springfest spring data geode
20181031 springfest spring data geode20181031 springfest spring data geode
20181031 springfest spring data geode
 
Apache geode at-s1p
Apache geode at-s1pApache geode at-s1p
Apache geode at-s1p
 
20180217 hackertackle geode
20180217 hackertackle geode20180217 hackertackle geode
20180217 hackertackle geode
 
20171125 springfest snappydata
20171125 springfest snappydata20171125 springfest snappydata
20171125 springfest snappydata
 
20171118 jjug snappydata
20171118 jjug snappydata20171118 jjug snappydata
20171118 jjug snappydata
 

Dernier

Dernier (11)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 

インメモリーデータグリッドの選択肢

  • 1. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by Apache GEODE Meetup Tokyo #3 インメモリーデータグリッドの選択肢 2017/2/16 ウルシステムズ株式会社 http://www.ulsystems.co.jp mailto:info@ulsystems.co.jp Tel: 03-6220-1420 Fax: 03-6220-1402
  • 2. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 1 About Me 山河 征紀 Business Private • GEODE歴:9年(Since 2008) • GEODEバグ報告数:nnn 件 • マラソン • 横浜マラソン2016:4h17m • 目標は2017年度中のサブ4 • 登山 • 目標はココ
  • 3. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 2 おしらせ Apache Geodeのハンズオンやります! 3/14(火)19:00~ 六本木ヒルズ森タワー20F Pivotal Japan • 一緒に運営していただける方 • スピーカーをお願いできる方 大募集中
  • 4. ULS 3 Copyright © 2011-2013 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by インメモリーデータグリッドの選択肢
  • 5. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 4 2007年 2017年 データグリッドの昔と今 (ex-GemFire) (ex-GridGain)
  • 6. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 5 たくさんあるのはありがたい でも・・・ どれを使えば いいんだろう?
  • 7. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 6 今日、お話したいこと In-Memory DataGrid
  • 8. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 7 おことわり 本日、お話する内容は、あくまで個人の見解 です ただし、Geode Meetupだからといって Apache Geodeに有利になるような見方はし ておりません
  • 9. ULS 8 Copyright © 2011-2013 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by インメモリーデータグリッドの選択肢
  • 10. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 9 サーバ サーバ サーバ アプリケーションのスケールアウトは容易になったが、RDB がボトルネックに マイクロサービス時代では、ここがスケールしないときつい 良くあるシステムの課題 JVM JVM JVM アプリケーション アプリケーション アプリケーション RDB スループット だけでなくレ イテンシーも 重要
  • 11. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 10 そんなときに… インメモリー データグリッド
  • 12. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 11 インメモリーデータグリッドに必要な3大要素+1 複数ノードのメモリーに データを分散して保持していること メモリー中のデータと 外部データストアとの連携が シームレスにできること メモリー中のデータへ トランザクション処理ができること ① ② ③ メモリー中のデータに関するイベントが 容易にハンドリングできること
  • 13. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 12 ということで… 3つの観点で、どれが良いのかを比較してみます!
  • 14. ULS 13 Copyright © 2011-2013 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by ラウンド1 データの分散
  • 15. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 14 データ分散?
  • 16. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 15 データ分散とは… クラスター全体を論理的に1つのまとまりとして見たとき、 データをどのノードのメモリーにもつか、ということ データの特性によって分散スタイルを選ぶ必要があるため、 この選択肢が充足していることは重要 パーティションレプリケーション すべてのマシンで同一のデータ を保持する 何れかのマシンにデータが存在 する
  • 17. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 16 データの分散:比較結果(1) 呼び方は違えど、主要な分散スタイルに差はない レプリケーション パーティション Geode ○ Replicated ○ Partitioned Ignite ○ REPLICATED ○ PARTITIONED Hazelcast ○ ReplicatedMap ○ Map Infinispan ○ Replicated-cache ○ Distributed-cache Coherence ○ Replicated Cache ○ Partitioned Cache
  • 18. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 17 データの分散:比較結果(2) 細かい部分では特色がある ただし、これらは「あったら嬉しい」というレベルのもの その他の分散スタイル 補足 Geode Local Preloaded Distributed non-replicated レプリケーションでは、書き込み 時のオプションが選べる (distributed-ack,distributed- no-ack,global) Ignite LOCAL Near Cache パーティションのバックアップを 全ノードで保持したものがレプリ ケーション、というコンセプト Hazelcast Near Cache レプリケーションでの書き込みは 結果整合性 KeyValue以外のデータ構造も選択 できる Infinispan Local mode cache Near Caching 機能やAPIは非常に多い Coherence Local Cache Near Cache Optimistic Cache 各種Schemeを組み合わせて キャッシュを構成できる
  • 19. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 18 パーティションのデータ分散(1) パーティションに関しては、こんな風にデータを保持したい 時もある(カスタムパーティショニング) ノード#1 Order-1 User-A Order-3 User-B Order-5 User-A Order-7 User-A ノード#2 Order-2 User-B Order-4 User-A Order-6 User-A Key Value Key Value ノード#1 Order-1 User-A Order-5 User-A Order-7 User-A ノード#2 Order-2 User-B Order-4 User-A Order-6 User-A Key Value Key Value Order-3 User-B データは均等 に分散しいて いるが… 処理内容によっては User毎にまとまって いた方がノード間通 信がなく、都合が良 い場合もある
  • 20. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 19 加えて、異なるデータの種類も同一ノードに配置したい時も ある(コロケーション) OrderUser パーティションのデータ分散(2) ノード#1 Order-1 User-A Order-4 User-A User-B User-B属性 Key Value OrderUser ノード#2 Order-2 User-B Order-3 User-B User-A User-A属性 Key Value OrderUser ノード#1 Order-1 User-A Order-4 User-A User-A User-A属性 Key Value OrderUser ノード#2 Order-2 User-B Order-3 User-B User-B User-B属性 Key Value User-Aの データがな いのでノー ド#2にとり にいかない といけない … ノードを跨 いでデータ を取得しな くて良い
  • 21. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 20 パーティションのデータ分散:比較結果 こちらも差はなし カスタム パーティショニング コロケーション Geode ○ Partition Resolver ○ Co-Location Ignite ○ Affinity Collocation ○ Affinity Collocation Hazelcast ○ Partition AwareKey ○ Partition AwareKey Infinispan ○ Grouping API KeyAffinityService ○ Grouping API KeyAffinityService Coherence ○ KeyPartitioning Strategy ○ Key Association
  • 22. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 21 ラウンド1:データの分散対決 結果発表 過去バージョンではできないものがあったが、現時点では大 きな差なし
  • 23. ULS 22 Copyright © 2011-2013 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by ラウンド2 シームレスな外部データストア連携
  • 24. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 23 シームレスな外部データストア連携とは… 全てのデータはメモリーにのりきらない のりきらないデータは外部データストアとの連携が必要 外部データストア との自動連携 データ グリッド RDB等 APPが意識するのは メモリー上のデータ だけ  メモリー中のデータを参照して、データが 存在しない場合(キャッシュミス)は自動 的にメモリー上に読み込んでほしい  メモリー中のデータを追加・変更した場合 は、自動的にデータストアに書き込んでほ しい
  • 25. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 24 キャッシュミスが発生した場合は、データストアよりデータ を読み取りメモリーに保持する リードスルー RDB等 データグリッド データグリッド 参照 (Read A) リード スル― リード スル― A B C D D D A A B B 参照 (Read B) APP APP
  • 26. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 25 メモリー上のデータを更新した場合は、自動的にデータスト アに書き込む ライトスルー/ライトビハインド RDB等 データグリッド データグリッド 追加 (Write A) ライトスルー ライトビハインド (Insert) A B D D D A A B B 更新 (Write B) ライトスルー ライトビハインド (Update) APP APP
  • 27. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 26 外部データストア連携:比較結果 出来ないものはなし リードスルー ライトスルー ライトビハインド Geode ○ Cache Loader ○ Cache Writer ○ Async Event Listener Ignite ○ Cache Store ○ Cache Store ○ Cache Store Hazelcast ○ Cache Loader ○ Map Store ○ Map Store Infinispan ○ Cache Loader ○ Cache Store ○ Cache Store Coherence ○ Cache Loader ○ Cache Store ○ Cache Store
  • 28. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 27 これも、過去バージョンではできないものがあったが、現時 点では大きな差なし  あえていうなら、各種データストア用のデフォルト実装が揃っているInfinispan が使いやすいかもしれない ラウンド2:外部データストア連携対決 結果発表
  • 29. ULS 28 Copyright © 2011-2013 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by ラウンド3 トランザクション
  • 30. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 29 トランザクション インメモリーデータグリッドを採用する場合、更新処理の高 速性、スケーラビリティを求めて採用するケースがある ベースは、トランザクション不要なように設計すべきである が、少なからずトランザクション処理が必要となるケースが ある
  • 31. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 30 トランザクション:比較結果 Ignite、Infinispanが出来ることは多い トランザクション対象 分離レベル ロック 方式レプリケー ション パーティ ション MIX Geode ○ △ △ READ_COMMITED 楽観 Ignite ○ ○ ○ READ_COMMITED REPEATABLE_READ SERIALIZABLE 楽観 悲観 Hazelcast ○ ○ ○ READ_COMMITED 楽観 Infinispan ○ ○ ○ READ_COMMITTED REPEATABLE_READ 楽観 悲観 Coherence ○ ○ ○ READ_COMMITED 楽観
  • 32. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 31 トランザクション機能で選ぶなら、Ignite、Infinispanが出 来ることは多い 高速性を目指すときに必要かどうかは微妙なとこではあるが ラウンド3:トランザクション対決 結果発表
  • 33. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 32 まとめ インメモリーデータグリッド機能対決 結果 –RDBと同じようなトランザクション機能が必要ならIgnite やInfinispanを選んだ方が良い –GeodeとCoherenceは10年前から出来ないことがわかって いるが対応していないので、おそらく今後も対応されない –それ以外は以前は差があったが、現時点では大差なし ラウンド 結果 1. データ分散 DRAW(差なし) 2. 外部データストア連携 DRAW(差なし) 3. トランザクション 1. Apache Ignite 2. Infinispan
  • 34. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 33 最後に 今回は、残念ながらGeodeだけ「出来ない」 がでちゃいました! それでも、今後もGeodeを使い続けます! 別の観点の比較はまた別の機会にでも…