SlideShare a Scribd company logo
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by
Apache GEODE Meetup Tokyo #1
超高速処理とスケーラビリティを両立するApache GEODE
2016/6/9
ウルシステムズ株式会社
http://www.ulsystems.co.jp
mailto:info@ulsystems.co.jp
Tel: 03-6220-1420 Fax: 03-6220-1402
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 1
About Me
山河 征紀
Business
Private
• GEODE歴:9年(Since 2008)
• GEODEバグ報告数:nnn 件
• ランナー
• 横浜マラソン2016:4h17m
• 目標は今年中のサブ4
• アルピニスト
• 目標はココ
ULS 2
Copyright © 2011-2013 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by
超高速処理とスケーラビリティを
両立するApache GEODE
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 3
Apache GEODEとは
ざっくりいうとインメモリーの分散KVS
–データを各マシンのメモリーに分散配置
–大量トランザクションに対する高速処理
–動的なスケーラビリティ
–ミッションクリティカルでの利用
採用実績
–欧米の金融機関
–政府、防衛
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 4
近年様々なデータストアが誕生
選択肢は多種多様に
NoSQL
In-Memory DataGrid
In-Memory Cache
Traditional Database
Columnar Database
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 5
日本はRDB命
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 6
サーバ
サーバ
サーバ
アプリケーションのスケールアウトは容易だが、RDBがボト
ルネックに
良くあるシステムの課題
JVM
JVM
JVM
アプリケーション
アプリケーション
アプリケーション
RDB
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 7
RDBボトルネック対策
スケールアップ 水平分割
NoSQL キャッシュの利用
×ネットワークを跨いでいる
時点で遅い
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 8
アプリケーションと同じメモリー上にデータを保持すること
で超高速化
Apache GEODEを使用した超高速処理システム
サーバ
サーバ
サーバ
JVM
JVM
JVM
アプリケーション
アプリケーション
アプリケーション
・・・
無限のスケーラビリティ
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 9
メモリーアクセス vs RDBアクセス
ディスクアクセスしようものなら最悪・・・
Event Latency
CPUキャッシュアクセス(L2) 3 ns
メモリーアクセス 120 ns
SSDディスク I/O 150,000 ns
同一データセンター内通信 500,000 ns
ディスク I/O 10,000,000 ns
メモリーアクセスのみ通信+メモリーアクセス・・・
Memory
SSD
Disk
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 10
メモリー内のデータをどのように分散するか?
 アプリケーションが扱うデータは大きく分けて「マスターデ
ータ」と「トランザクションデータ」に分類できる
マスターデータ
トランザクション
データ
• 割と固定的
• データ数が急激に増えないもの
• 更新が少なく参照が多い
• データの一部が変動する
• 更新処理が多い
• 日毎にデータが増加するもの
特性
顧客情報、商品情報等
取引情報、予約情報等
レプリケーション
パーティション
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 11
レプリケーションとパーティション
データの特性によってレプリケーションとパーティションを
使い分ける
パーティションレプリケーション
すべてのマシンで同一のデータ
を保持する
何れかのマシンにデータが存在
する
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 14
 全てのサーバに、全てのデータが存在するため高速なデータ
取得が可能
レプリケーションデータの読み込み
Full
Replication
クライアントA
クライアントC
クライアントB
クライアントD
A B
C
A B
D
A
C D
B
C D
Read A
Read C
Read A
Read C
Read B
Read D
Read B
Read D
D C
B A
凡例
A データ
メモリ空間
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 15
 全てのマシンのデータを更新した後、呼び出し元へ応答する
 マシン数が多いほど、書き込み性能が劣化する可能性がある
Full
Replication
クライアント
A B
C
A B
D
A
C D
B
C D
Write A
D C
B A
②更新
①更新
②更新
②更新
③確認
③確認
③確認
Reply
④応答
レプリケーションデータの書き込み
凡例
A データ
メモリ空間
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 16
 接続先のマシンのデータを更新した後、呼び出し元へ応答する
 その他のデータ更新は非同期で行われる
(更新処理性能は安定するが、一貫性は緩い)
Full
Replication
クライアント
A B
C
A B
D
A
C D
B
C D
Write A
D C
B A
②更新
①更新
②更新
②更新
Reply
②応答
レプリケーションデータの書き込み(非同期)
凡例
A データ
メモリ空間
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 17
 全マシンが同時にダウンしない限りデータの消失はない
 クライアントとの接続については、自動的に切り替わる
Full
Replication
クライアント
A B
C
A B
D
A
C D
B
C D
Read A
D C
B A
レプリケーションのフェイルオーバ
凡例
A データ
メモリ空間
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 18
 データを分割して保持することで、メモリーを節約すること
が出来る
 データが存在しない場合は、データが配置されたマシンに自
動的に問い合わせが行われる
クライアント
A
C
B
Read A
D
Read B
B
C
A
D
パーティションデータの読み込み
凡例
A
A
データ
データのバックアップ
メモリ空間
Read D
B
D
問い合わせ
問い合わせ
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 19
 データ更新処理はプライマリデータとそのバックアップコピ
ーに対してのみ行なわれる
 多数のマシンが存在した場合でも一定した処理速度となる
クライアント
AWrite A
②更新
A
①更新
③確認
Reply
④応答
B
C
D
D
B
C
パーティションデータの書き込み
凡例
A
A
データ
データのバックアップ
メモリ空間
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 20
 ダウンしたマシンのデータは他のマシンに引き継がれる
 クライアントとの接続については、自動的に切り替わる
クライアント
D
A B
C
Read A
C
B
DA
A
Primary
Primary
Primary
Primary
Primary
A
パーティションのフェイルオーバ
凡例
A
A
データ
データのバックアップ
メモリ空間
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 21
レプリケーション/パーティション サマリー
マスターデータ
トランザクション
データ
レプリケーション
パーティション
顧客情報
商品情報等
取引情報
予約情報等
→データ参照時の性能を最速に
→データ更新、データ参照時の性能を安定させる
→データを分散配置することでメモリ使用量を抑える
Read ○ データ量 ◎
Write ◎
同時
接続数
◎
Read ◎ データ量 △
Write △
同時
接続数
◎
性能 拡張性
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 22
データは、Javaのヒープメモリ上にJavaのオブジェクトと
して管理される
GEODEにおけるデータ管理
JVM
Cache
Region
Key Value
ABC
GGG
XYG
Region
…
Region
…
• インメモリデータへのエントリポイント
• アプリケーションはキャッシュを介して、データへの一連の操作を行う
• 任意のリージョンにより構成
• 論理的なデータのグループ(RDBにおけるテーブルのイメージ)
• Key-Value形式でのデータ管理
• 任意のオブジェクトに対して、一意のKeyを指定
• スキーマの概念はなく、任意のオブジェクトを格納
Cache
Region
public class Employee {
private int employeeNo;
private String firstName;
private String lastName;
private String deptCode;
・・・
・・・
}
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 23
Region定義方法
XMLでRegionを定義
<cache>
<region name=“replicateRegion">
<region-attributes refid=“REPLICATE“ />
</region>
<region name=“partitionRegion">
<region-attributes refid=“PARTITION“ />
</region>
</cache>
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 24
データへの接続形態は2つ
クラスター・トポロジー
• キャッシュへの管理責任が生じる
• プロセス間で必要に応じてデータをやり取りする
• クライアントAPI(Java、C++、.NET、REST)を使用して接続
することが出来る
• 取得したデータは、それぞれの開発言語のオブジェクトとなる
Peer to Peer接続
Client-Server接続
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 25
 リージョンデータへアクセスする際は、以下の何れかのAPI
を使用する
データアクセスAPI
取得方法 説明
追加/更新/
削除
参照
Mapインター
フェースAPI
put,get,remove等の
java.util.Mapインターフェ
ースを使用したデータアク
セス
○ ○
OQL
(Object Query
Language)
SQLライクなクエリを使用
したデータアクセス
× ○
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 26
MapインターフェースAPI
Java.util.Map感覚でKeyを指定してデータへアクセス
// XMLを指定してCacheを取得
Cache cache = new CacheFactory()
.set("cache-xml-file", “cache.xml").create();
// CacheよりexampleRegionを取得
Region<Integer, String> region = cache.getRegion(“exampleRegion");
Integer key = 1;
// データ登録
region.put(key, message);
// データ取得
String value = region.get(key, message);
// データ削除
region.remove(key);
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 27
OQL(Object Query Language)
Key以外でのデータアクセス
select *
from /Employee emp
where emp.deptCode = '12B'
public class Employee {
private int employeeNo;
private String firstName;
private String lastName;
private String deptCode;
・・・
・・・
}
パーティションリージョンのOQL処理レプリケーションリージョンのOQL処理
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 28
OQLの実装
OQL専用のクラスを使用してクエリー実行
// XMLを指定してCacheを取得
Cache cache = new CacheFactory().set("cache-xml-file", “cache.xml").create();
// CacheよりQueryService取得
QueryService queryService = cache.getQueryService();
// Query作成
Query query = queryService
.newQuery("select * from /Employee emp where emp.deptCode='12B'");
// Query実行
SelectResults result = query.execute();
Collection<?> collection = ((SelectResults<?>)result).asList();
for (Object e: collection) {
System.out.println(e);
}
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 29
イベント処理
イベント通知を受けたいデータの条件を予め登録しておくこ
とで、Push型イベント通知を受けることが出来る
A B
C D
クライアン
ト 更新
サーバ
クライアント
クライアント
登録したクライアントのみが更新前
後のデータをイベントとして取得
Create データの追加
Update データの更新
Destroy データの削除
Invalidate データ無効化
イベント種別
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 30
 イベント通知の方法は2つ
イベント通知方法
方法 説明 特徴
Interest
Registration
イベントとして取得したい
リージョンのKeyを指定
(正規表現指定可能)
• ContinuousQueryより
高速
Continuous
Query
SQLライクなクエリにより
イベントの条件を指定
• Key以外でイベントを取
得出来る
• InterestRegistrationよ
りサーバへの負荷が高い
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 31
イベント処理の実装
XMLでイベント処理を行うクラスを設定
<cache>
<region name=“exampleRegion">
<region-attributes refid=“PARTITION“ />
<cache-listener>
<class-name>example.MyCacheListener</class-name>
</cache-listener>
</region>
</cache>
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 32
イベント処理の実装
イベント処理では、イベント種別に応じたCacheListenerの
コールバックメソッドが呼ばれる
public class MyCacheListener
implements CacheListener<String, String>, Declarable {
@Override
public void afterCreate(EntryEvent<String, String> event) {
// KeyとValueを標準出力へ出力します
System.out.println(event.getKey() + "> " + event.getNewValue());
}
@Override
public void afterUpdate(EntryEvent<String, String> event) {
・・・・
}
@Override
public void afterDestroy(EntryEvent<String, String> event) {
・・・・
}
}
ULS
Copyright © 2011-2016 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 33
今後のテーマ
ユースケース/事例GEODEハンズオン
GEODE
その他機能
正式リリースに向けた
追加機能
他の分散処理製品
との違い
GEODEの
インテグレーション

More Related Content

What's hot

OpenStack勉強会
OpenStack勉強会OpenStack勉強会
OpenStack勉強会Yuki Obara
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
歩 柴田
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
 
自宅k8s/vSphere入門
自宅k8s/vSphere入門自宅k8s/vSphere入門
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例
gree_tech
 
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
Takahiro YAMADA
 
OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチをOSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
i_yudai
 
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
VirtualTech Japan Inc.
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
Recruit Technologies
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
 
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
 
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
whywaita
 
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
Takahiro YAMADA
 
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようSolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみよう
Shinsuke Sugaya
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
Motonori Shindo
 
nginx入門
nginx入門nginx入門
nginx入門
Takashi Takizawa
 
各種データベースの特徴とパフォーマンス比較
各種データベースの特徴とパフォーマンス比較各種データベースの特徴とパフォーマンス比較
各種データベースの特徴とパフォーマンス比較
株式会社オプト 仙台ラボラトリ
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
NTT DATA Technology & Innovation
 
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
 

What's hot (20)

OpenStack勉強会
OpenStack勉強会OpenStack勉強会
OpenStack勉強会
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
自宅k8s/vSphere入門
自宅k8s/vSphere入門自宅k8s/vSphere入門
自宅k8s/vSphere入門
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例
 
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
 
OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチをOSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
 
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
 
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
 
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
 
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようSolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみよう
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
nginx入門
nginx入門nginx入門
nginx入門
 
各種データベースの特徴とパフォーマンス比較
各種データベースの特徴とパフォーマンス比較各種データベースの特徴とパフォーマンス比較
各種データベースの特徴とパフォーマンス比較
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
 

Viewers also liked

Apache Geode で始める Spring Data Gemfire
Apache Geode で始めるSpring Data GemfireApache Geode で始めるSpring Data Gemfire
Apache Geode で始める Spring Data Gemfire
Akihiro Kitada
 
インメモリーデータグリッドの選択肢
インメモリーデータグリッドの選択肢インメモリーデータグリッドの選択肢
インメモリーデータグリッドの選択肢
Masaki Yamakawa
 
Geode hands-on
Geode hands-onGeode hands-on
Geode hands-on
Masaki Yamakawa
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
Recruit Technologies
 
Coherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherenceCoherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherenceToshiaki Maki
 
Geode meetup 20160609
Geode meetup 20160609Geode meetup 20160609
Geode meetup 20160609
Tomohiro Ichimura
 
Infinispan - Open Source Data Grid
Infinispan - Open Source Data GridInfinispan - Open Source Data Grid
Infinispan - Open Source Data Grid
nekop
 
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
SnappyData
 
GemFire In Memory Data Grid
GemFire In Memory Data GridGemFire In Memory Data Grid
GemFire In Memory Data Grid
Dmitry Buzdin
 
Spark Summit EU 2015: SparkUI visualization: a lens into your application
Spark Summit EU 2015: SparkUI visualization: a lens into your applicationSpark Summit EU 2015: SparkUI visualization: a lens into your application
Spark Summit EU 2015: SparkUI visualization: a lens into your application
Databricks
 
Advanced Visualization of Spark jobs
Advanced Visualization of Spark jobsAdvanced Visualization of Spark jobs
Advanced Visualization of Spark jobs
DataWorks Summit/Hadoop Summit
 
Riak: 本物の高可用性を実現する仕組みとは?
Riak: 本物の高可用性を実現する仕組みとは?Riak: 本物の高可用性を実現する仕組みとは?
Riak: 本物の高可用性を実現する仕組みとは?
Takahiko Sato
 
The future of data by Doug Cutting #hcj2014
The future of data by Doug Cutting  #hcj2014The future of data by Doug Cutting  #hcj2014
The future of data by Doug Cutting #hcj2014Cloudera Japan
 
統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333Issei Kurahashi
 
OLAP with Cassandra and Spark
OLAP with Cassandra and SparkOLAP with Cassandra and Spark
OLAP with Cassandra and Spark
Evan Chan
 
週刊Azureなう Igniteキャッチアップ編
週刊Azureなう Igniteキャッチアップ編週刊Azureなう Igniteキャッチアップ編
週刊Azureなう Igniteキャッチアップ編
Naoki (Neo) SATO
 
[D35] インメモリーデータベース徹底比較 by Komori
[D35] インメモリーデータベース徹底比較 by Komori[D35] インメモリーデータベース徹底比較 by Komori
[D35] インメモリーデータベース徹底比較 by KomoriInsight Technology, Inc.
 
SnappyData, the Spark Database. A unified cluster for streaming, transactions...
SnappyData, the Spark Database. A unified cluster for streaming, transactions...SnappyData, the Spark Database. A unified cluster for streaming, transactions...
SnappyData, the Spark Database. A unified cluster for streaming, transactions...
SnappyData
 
因果推論の基礎
因果推論の基礎因果推論の基礎
因果推論の基礎
Hatsuru Morita
 
トレジャーデータ流,データ分析の始め方
トレジャーデータ流,データ分析の始め方トレジャーデータ流,データ分析の始め方
トレジャーデータ流,データ分析の始め方Takahiro Inoue
 

Viewers also liked (20)

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
 
Geode meetup 20160609
Geode meetup 20160609Geode meetup 20160609
Geode meetup 20160609
 
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
 
Spark Summit EU 2015: SparkUI visualization: a lens into your application
Spark Summit EU 2015: SparkUI visualization: a lens into your applicationSpark Summit EU 2015: SparkUI visualization: a lens into your application
Spark Summit EU 2015: SparkUI visualization: a lens into your application
 
Advanced Visualization of Spark jobs
Advanced Visualization of Spark jobsAdvanced Visualization of Spark jobs
Advanced Visualization of Spark jobs
 
Riak: 本物の高可用性を実現する仕組みとは?
Riak: 本物の高可用性を実現する仕組みとは?Riak: 本物の高可用性を実現する仕組みとは?
Riak: 本物の高可用性を実現する仕組みとは?
 
The future of data by Doug Cutting #hcj2014
The future of data by Doug Cutting  #hcj2014The future of data by Doug Cutting  #hcj2014
The future of data by Doug Cutting #hcj2014
 
統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333
 
OLAP with Cassandra and Spark
OLAP with Cassandra and SparkOLAP with Cassandra and Spark
OLAP with Cassandra and Spark
 
週刊Azureなう Igniteキャッチアップ編
週刊Azureなう Igniteキャッチアップ編週刊Azureなう Igniteキャッチアップ編
週刊Azureなう Igniteキャッチアップ編
 
[D35] インメモリーデータベース徹底比較 by Komori
[D35] インメモリーデータベース徹底比較 by Komori[D35] インメモリーデータベース徹底比較 by Komori
[D35] インメモリーデータベース徹底比較 by Komori
 
SnappyData, the Spark Database. A unified cluster for streaming, transactions...
SnappyData, the Spark Database. A unified cluster for streaming, transactions...SnappyData, the Spark Database. A unified cluster for streaming, transactions...
SnappyData, the Spark Database. A unified cluster for streaming, transactions...
 
因果推論の基礎
因果推論の基礎因果推論の基礎
因果推論の基礎
 
トレジャーデータ流,データ分析の始め方
トレジャーデータ流,データ分析の始め方トレジャーデータ流,データ分析の始め方
トレジャーデータ流,データ分析の始め方
 

Similar to 超高速処理とスケーラビリティを両立するApache GEODE

GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)
GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)
GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)
オラクルエンジニア通信
 
オラクル・インフラストラクチャー・サービス(IaaS)最新情報(Oracle Cloud Days Tokyo 2015)
オラクル・インフラストラクチャー・サービス(IaaS)最新情報(Oracle Cloud Days Tokyo 2015)オラクル・インフラストラクチャー・サービス(IaaS)最新情報(Oracle Cloud Days Tokyo 2015)
オラクル・インフラストラクチャー・サービス(IaaS)最新情報(Oracle Cloud Days Tokyo 2015)
オラクルエンジニア通信
 
2016年2月4日 空間OSの設計コンセプトと先端IT
2016年2月4日 空間OSの設計コンセプトと先端IT2016年2月4日 空間OSの設計コンセプトと先端IT
2016年2月4日 空間OSの設計コンセプトと先端IT
aitc_jp
 
20161111 java one2016-feedback
20161111 java one2016-feedback20161111 java one2016-feedback
20161111 java one2016-feedback
Takashi Ito
 
次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]
次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]
次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]
オラクルエンジニア通信
 
20161119 java one-feedback_osaka
20161119 java one-feedback_osaka20161119 java one-feedback_osaka
20161119 java one-feedback_osaka
Takashi Ito
 
DBTS2016 Data as Code - Delphix
DBTS2016 Data as Code - DelphixDBTS2016 Data as Code - Delphix
DBTS2016 Data as Code - Delphix
Masaya Ishikawa
 
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn交流会_DataSpider のソーシャルとの融合、手組との融合dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn交流会_DataSpider のソーシャルとの融合、手組との融合dstn
 
ochacafe#6 人にもマシンにもやさしいAPIのエコシステム
ochacafe#6 人にもマシンにもやさしいAPIのエコシステムochacafe#6 人にもマシンにもやさしいAPIのエコシステム
ochacafe#6 人にもマシンにもやさしいAPIのエコシステム
オラクルエンジニア通信
 
自律型データベース Oracle Autonomous Database 最新情報
自律型データベース Oracle Autonomous Database 最新情報自律型データベース Oracle Autonomous Database 最新情報
自律型データベース Oracle Autonomous Database 最新情報
オラクルエンジニア通信
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Kazuyuki Miyake
 
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクルエンジニア通信
 
Oracle GoldenGate Veridata概要
Oracle GoldenGate Veridata概要Oracle GoldenGate Veridata概要
Oracle GoldenGate Veridata概要
オラクルエンジニア通信
 
Oracle R Advanced Analytics for Hadoop利用方法
Oracle R Advanced Analytics for Hadoop利用方法Oracle R Advanced Analytics for Hadoop利用方法
Oracle R Advanced Analytics for Hadoop利用方法
オラクルエンジニア通信
 
実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン
Kuniteru Asami
 
MySQL57 Update@OSC Fukuoka 20151003
MySQL57 Update@OSC Fukuoka 20151003MySQL57 Update@OSC Fukuoka 20151003
MySQL57 Update@OSC Fukuoka 20151003
Shinya Sugiyama
 
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報dstn
 
20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹
20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹
20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹
Insight Technology, Inc.
 
Oracle Cloud IaaS活用:VMwareをそのままパブリック・クラウドへ&Windowsならオラクル [Oracle Cloud Days T...
Oracle Cloud IaaS活用:VMwareをそのままパブリック・クラウドへ&Windowsならオラクル [Oracle Cloud Days T...Oracle Cloud IaaS活用:VMwareをそのままパブリック・クラウドへ&Windowsならオラクル [Oracle Cloud Days T...
Oracle Cloud IaaS活用:VMwareをそのままパブリック・クラウドへ&Windowsならオラクル [Oracle Cloud Days T...
オラクルエンジニア通信
 
オープンソースNW監視ツールのご紹介
オープンソースNW監視ツールのご紹介オープンソースNW監視ツールのご紹介
オープンソースNW監視ツールのご紹介
OSSラボ株式会社
 

Similar to 超高速処理とスケーラビリティを両立するApache GEODE (20)

GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)
GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)
GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)
 
オラクル・インフラストラクチャー・サービス(IaaS)最新情報(Oracle Cloud Days Tokyo 2015)
オラクル・インフラストラクチャー・サービス(IaaS)最新情報(Oracle Cloud Days Tokyo 2015)オラクル・インフラストラクチャー・サービス(IaaS)最新情報(Oracle Cloud Days Tokyo 2015)
オラクル・インフラストラクチャー・サービス(IaaS)最新情報(Oracle Cloud Days Tokyo 2015)
 
2016年2月4日 空間OSの設計コンセプトと先端IT
2016年2月4日 空間OSの設計コンセプトと先端IT2016年2月4日 空間OSの設計コンセプトと先端IT
2016年2月4日 空間OSの設計コンセプトと先端IT
 
20161111 java one2016-feedback
20161111 java one2016-feedback20161111 java one2016-feedback
20161111 java one2016-feedback
 
次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]
次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]
次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]
 
20161119 java one-feedback_osaka
20161119 java one-feedback_osaka20161119 java one-feedback_osaka
20161119 java one-feedback_osaka
 
DBTS2016 Data as Code - Delphix
DBTS2016 Data as Code - DelphixDBTS2016 Data as Code - Delphix
DBTS2016 Data as Code - Delphix
 
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn交流会_DataSpider のソーシャルとの融合、手組との融合dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
 
ochacafe#6 人にもマシンにもやさしいAPIのエコシステム
ochacafe#6 人にもマシンにもやさしいAPIのエコシステムochacafe#6 人にもマシンにもやさしいAPIのエコシステム
ochacafe#6 人にもマシンにもやさしいAPIのエコシステム
 
自律型データベース Oracle Autonomous Database 最新情報
自律型データベース Oracle Autonomous Database 最新情報自律型データベース Oracle Autonomous Database 最新情報
自律型データベース Oracle Autonomous Database 最新情報
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
 
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
オラクル・データベース・クラウド~さらなる進化のご紹介(Oracle Cloud Days Tokyo 2015)
 
Oracle GoldenGate Veridata概要
Oracle GoldenGate Veridata概要Oracle GoldenGate Veridata概要
Oracle GoldenGate Veridata概要
 
Oracle R Advanced Analytics for Hadoop利用方法
Oracle R Advanced Analytics for Hadoop利用方法Oracle R Advanced Analytics for Hadoop利用方法
Oracle R Advanced Analytics for Hadoop利用方法
 
実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン
 
MySQL57 Update@OSC Fukuoka 20151003
MySQL57 Update@OSC Fukuoka 20151003MySQL57 Update@OSC Fukuoka 20151003
MySQL57 Update@OSC Fukuoka 20151003
 
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
 
20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹
20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹
20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹
 
Oracle Cloud IaaS活用:VMwareをそのままパブリック・クラウドへ&Windowsならオラクル [Oracle Cloud Days T...
Oracle Cloud IaaS活用:VMwareをそのままパブリック・クラウドへ&Windowsならオラクル [Oracle Cloud Days T...Oracle Cloud IaaS活用:VMwareをそのままパブリック・クラウドへ&Windowsならオラクル [Oracle Cloud Days T...
Oracle Cloud IaaS活用:VMwareをそのままパブリック・クラウドへ&Windowsならオラクル [Oracle Cloud Days T...
 
オープンソースNW監視ツールのご紹介
オープンソースNW監視ツールのご紹介オープンソースNW監視ツールのご紹介
オープンソースNW監視ツールのご紹介
 

More from Masaki Yamakawa

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

More from 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
 

Recently uploaded

無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
Yuki Miyazaki
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
sugiuralab
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 

Recently uploaded (9)

無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 

超高速処理とスケーラビリティを両立するApache GEODE

  • 1. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by Apache GEODE Meetup Tokyo #1 超高速処理とスケーラビリティを両立するApache GEODE 2016/6/9 ウルシステムズ株式会社 http://www.ulsystems.co.jp mailto:info@ulsystems.co.jp Tel: 03-6220-1420 Fax: 03-6220-1402
  • 2. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 1 About Me 山河 征紀 Business Private • GEODE歴:9年(Since 2008) • GEODEバグ報告数:nnn 件 • ランナー • 横浜マラソン2016:4h17m • 目標は今年中のサブ4 • アルピニスト • 目標はココ
  • 3. ULS 2 Copyright © 2011-2013 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 超高速処理とスケーラビリティを 両立するApache GEODE
  • 4. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 3 Apache GEODEとは ざっくりいうとインメモリーの分散KVS –データを各マシンのメモリーに分散配置 –大量トランザクションに対する高速処理 –動的なスケーラビリティ –ミッションクリティカルでの利用 採用実績 –欧米の金融機関 –政府、防衛
  • 5. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 4 近年様々なデータストアが誕生 選択肢は多種多様に NoSQL In-Memory DataGrid In-Memory Cache Traditional Database Columnar Database
  • 6. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 5 日本はRDB命
  • 7. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 6 サーバ サーバ サーバ アプリケーションのスケールアウトは容易だが、RDBがボト ルネックに 良くあるシステムの課題 JVM JVM JVM アプリケーション アプリケーション アプリケーション RDB
  • 8. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 7 RDBボトルネック対策 スケールアップ 水平分割 NoSQL キャッシュの利用 ×ネットワークを跨いでいる 時点で遅い
  • 9. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 8 アプリケーションと同じメモリー上にデータを保持すること で超高速化 Apache GEODEを使用した超高速処理システム サーバ サーバ サーバ JVM JVM JVM アプリケーション アプリケーション アプリケーション ・・・ 無限のスケーラビリティ
  • 10. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 9 メモリーアクセス vs RDBアクセス ディスクアクセスしようものなら最悪・・・ Event Latency CPUキャッシュアクセス(L2) 3 ns メモリーアクセス 120 ns SSDディスク I/O 150,000 ns 同一データセンター内通信 500,000 ns ディスク I/O 10,000,000 ns メモリーアクセスのみ通信+メモリーアクセス・・・ Memory SSD Disk
  • 11. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 10 メモリー内のデータをどのように分散するか?  アプリケーションが扱うデータは大きく分けて「マスターデ ータ」と「トランザクションデータ」に分類できる マスターデータ トランザクション データ • 割と固定的 • データ数が急激に増えないもの • 更新が少なく参照が多い • データの一部が変動する • 更新処理が多い • 日毎にデータが増加するもの 特性 顧客情報、商品情報等 取引情報、予約情報等 レプリケーション パーティション
  • 12. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 11 レプリケーションとパーティション データの特性によってレプリケーションとパーティションを 使い分ける パーティションレプリケーション すべてのマシンで同一のデータ を保持する 何れかのマシンにデータが存在 する
  • 13. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 14  全てのサーバに、全てのデータが存在するため高速なデータ 取得が可能 レプリケーションデータの読み込み Full Replication クライアントA クライアントC クライアントB クライアントD A B C A B D A C D B C D Read A Read C Read A Read C Read B Read D Read B Read D D C B A 凡例 A データ メモリ空間
  • 14. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 15  全てのマシンのデータを更新した後、呼び出し元へ応答する  マシン数が多いほど、書き込み性能が劣化する可能性がある Full Replication クライアント A B C A B D A C D B C D Write A D C B A ②更新 ①更新 ②更新 ②更新 ③確認 ③確認 ③確認 Reply ④応答 レプリケーションデータの書き込み 凡例 A データ メモリ空間
  • 15. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 16  接続先のマシンのデータを更新した後、呼び出し元へ応答する  その他のデータ更新は非同期で行われる (更新処理性能は安定するが、一貫性は緩い) Full Replication クライアント A B C A B D A C D B C D Write A D C B A ②更新 ①更新 ②更新 ②更新 Reply ②応答 レプリケーションデータの書き込み(非同期) 凡例 A データ メモリ空間
  • 16. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 17  全マシンが同時にダウンしない限りデータの消失はない  クライアントとの接続については、自動的に切り替わる Full Replication クライアント A B C A B D A C D B C D Read A D C B A レプリケーションのフェイルオーバ 凡例 A データ メモリ空間
  • 17. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 18  データを分割して保持することで、メモリーを節約すること が出来る  データが存在しない場合は、データが配置されたマシンに自 動的に問い合わせが行われる クライアント A C B Read A D Read B B C A D パーティションデータの読み込み 凡例 A A データ データのバックアップ メモリ空間 Read D B D 問い合わせ 問い合わせ
  • 18. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 19  データ更新処理はプライマリデータとそのバックアップコピ ーに対してのみ行なわれる  多数のマシンが存在した場合でも一定した処理速度となる クライアント AWrite A ②更新 A ①更新 ③確認 Reply ④応答 B C D D B C パーティションデータの書き込み 凡例 A A データ データのバックアップ メモリ空間
  • 19. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 20  ダウンしたマシンのデータは他のマシンに引き継がれる  クライアントとの接続については、自動的に切り替わる クライアント D A B C Read A C B DA A Primary Primary Primary Primary Primary A パーティションのフェイルオーバ 凡例 A A データ データのバックアップ メモリ空間
  • 20. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 21 レプリケーション/パーティション サマリー マスターデータ トランザクション データ レプリケーション パーティション 顧客情報 商品情報等 取引情報 予約情報等 →データ参照時の性能を最速に →データ更新、データ参照時の性能を安定させる →データを分散配置することでメモリ使用量を抑える Read ○ データ量 ◎ Write ◎ 同時 接続数 ◎ Read ◎ データ量 △ Write △ 同時 接続数 ◎ 性能 拡張性
  • 21. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 22 データは、Javaのヒープメモリ上にJavaのオブジェクトと して管理される GEODEにおけるデータ管理 JVM Cache Region Key Value ABC GGG XYG Region … Region … • インメモリデータへのエントリポイント • アプリケーションはキャッシュを介して、データへの一連の操作を行う • 任意のリージョンにより構成 • 論理的なデータのグループ(RDBにおけるテーブルのイメージ) • Key-Value形式でのデータ管理 • 任意のオブジェクトに対して、一意のKeyを指定 • スキーマの概念はなく、任意のオブジェクトを格納 Cache Region public class Employee { private int employeeNo; private String firstName; private String lastName; private String deptCode; ・・・ ・・・ }
  • 22. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 23 Region定義方法 XMLでRegionを定義 <cache> <region name=“replicateRegion"> <region-attributes refid=“REPLICATE“ /> </region> <region name=“partitionRegion"> <region-attributes refid=“PARTITION“ /> </region> </cache>
  • 23. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 24 データへの接続形態は2つ クラスター・トポロジー • キャッシュへの管理責任が生じる • プロセス間で必要に応じてデータをやり取りする • クライアントAPI(Java、C++、.NET、REST)を使用して接続 することが出来る • 取得したデータは、それぞれの開発言語のオブジェクトとなる Peer to Peer接続 Client-Server接続
  • 24. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 25  リージョンデータへアクセスする際は、以下の何れかのAPI を使用する データアクセスAPI 取得方法 説明 追加/更新/ 削除 参照 Mapインター フェースAPI put,get,remove等の java.util.Mapインターフェ ースを使用したデータアク セス ○ ○ OQL (Object Query Language) SQLライクなクエリを使用 したデータアクセス × ○
  • 25. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 26 MapインターフェースAPI Java.util.Map感覚でKeyを指定してデータへアクセス // XMLを指定してCacheを取得 Cache cache = new CacheFactory() .set("cache-xml-file", “cache.xml").create(); // CacheよりexampleRegionを取得 Region<Integer, String> region = cache.getRegion(“exampleRegion"); Integer key = 1; // データ登録 region.put(key, message); // データ取得 String value = region.get(key, message); // データ削除 region.remove(key);
  • 26. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 27 OQL(Object Query Language) Key以外でのデータアクセス select * from /Employee emp where emp.deptCode = '12B' public class Employee { private int employeeNo; private String firstName; private String lastName; private String deptCode; ・・・ ・・・ } パーティションリージョンのOQL処理レプリケーションリージョンのOQL処理
  • 27. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 28 OQLの実装 OQL専用のクラスを使用してクエリー実行 // XMLを指定してCacheを取得 Cache cache = new CacheFactory().set("cache-xml-file", “cache.xml").create(); // CacheよりQueryService取得 QueryService queryService = cache.getQueryService(); // Query作成 Query query = queryService .newQuery("select * from /Employee emp where emp.deptCode='12B'"); // Query実行 SelectResults result = query.execute(); Collection<?> collection = ((SelectResults<?>)result).asList(); for (Object e: collection) { System.out.println(e); }
  • 28. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 29 イベント処理 イベント通知を受けたいデータの条件を予め登録しておくこ とで、Push型イベント通知を受けることが出来る A B C D クライアン ト 更新 サーバ クライアント クライアント 登録したクライアントのみが更新前 後のデータをイベントとして取得 Create データの追加 Update データの更新 Destroy データの削除 Invalidate データ無効化 イベント種別
  • 29. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 30  イベント通知の方法は2つ イベント通知方法 方法 説明 特徴 Interest Registration イベントとして取得したい リージョンのKeyを指定 (正規表現指定可能) • ContinuousQueryより 高速 Continuous Query SQLライクなクエリにより イベントの条件を指定 • Key以外でイベントを取 得出来る • InterestRegistrationよ りサーバへの負荷が高い
  • 30. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 31 イベント処理の実装 XMLでイベント処理を行うクラスを設定 <cache> <region name=“exampleRegion"> <region-attributes refid=“PARTITION“ /> <cache-listener> <class-name>example.MyCacheListener</class-name> </cache-listener> </region> </cache>
  • 31. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 32 イベント処理の実装 イベント処理では、イベント種別に応じたCacheListenerの コールバックメソッドが呼ばれる public class MyCacheListener implements CacheListener<String, String>, Declarable { @Override public void afterCreate(EntryEvent<String, String> event) { // KeyとValueを標準出力へ出力します System.out.println(event.getKey() + "> " + event.getNewValue()); } @Override public void afterUpdate(EntryEvent<String, String> event) { ・・・・ } @Override public void afterDestroy(EntryEvent<String, String> event) { ・・・・ } }
  • 32. ULS Copyright © 2011-2016 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 33 今後のテーマ ユースケース/事例GEODEハンズオン GEODE その他機能 正式リリースに向けた 追加機能 他の分散処理製品 との違い GEODEの インテグレーション

Editor's Notes

  1. 【概念的な背景】 データが増える Txが増える → パフォーマンス求められる スケールアウトが重要
  2. ・DBの方もキャッシュぐらいかいとく ・キャッシュや分散DBでもN/W超えるよね ・O/Rマッピングの処理都下も無駄。必要なのはObject。DB依存の処理をしている
  3. ・DBは使うけど、ログとか過去データとか