SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by
Apache Geodeハンズオン
2017/3/14
ウルシステムズ株式会社
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
自己紹介
山河 征紀
• コンサルタント@ウルシステムズ株式会社
• 並列分散処理, インメモリー処理
ULS 2
Copyright © 2011-2013 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by
Apache Geode概要
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 3
今日のゴール
Geodeを使った実装のための基礎知識がついている
Geodeのデータへアクセスしてみる
データ更新イベントを取得してみる
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 4
Apache GEODEとは
ざっくりいうとインメモリーの分散KVS
–データを各マシンのメモリーに分散配置
–大量トランザクションに対する高速処理
–動的なスケーラビリティ
–ミッションクリティカルでの利用
採用実績
–欧米の金融機関
–政府、防衛
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 5
レプリケーションとパーティション
クラスター全体を論理的に1つのまとまりとして見たとき、
データをどのノードのメモリーにもつか、ということ
データの特性によって分散スタイルを選ぶ必要があるため、
この選択肢が充足していることは重要
パーティションレプリケーション
すべてのマシンで同一のデータ
を保持する
何れかのマシンにデータが存在
する
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 6
Geodeを使う際の登場人物(プロセス)
Geodeでは次の3種類のプロセスが登場する
キャッシュサーバー
メモリー上のデータを管理するためのプロセス
データは複数のキャッシュサーバーに分散されリー
ジョンという単位で保持される
ロケーター
クラスター構成を管理するためのプロセス
大規模なクラスターを論理的なグループに分割する
こともできる
クライアント
キャッシュサーバーが管理するデータへアクセスす
るためのクライアント(Java/C++/C#/REST)
ロケーター
キャッシュサーバー
リージョン
ロケーター
キャッシュサーバー
リージョンキャッシュサーバー
リージョンキャッシュサーバー
リージョン
Java
クライアント
C++/C#
クライアント
REST
クライアント
クライアントは、ロケーターに
問い合わせることで任意の
キャッシュサーバーへ接続でき
る(RESTは別)
Geodeクラスター
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 7
Embeddeモードとしてアプリケー
ション中でキャッシュサーバー機能
を実行してデータアクセスする
(geodeのjarを取り込む)
アプリケーションからデータへアクセスする際は、次の2つ
の方法がある
データ管理に特化したキャッシュ
サーバーを起動し、アプリケーショ
ンはクライアントとしてデータアク
セスする
アプリケーションからのデータアクセス
これら2つの方法を組み合わせることも出来る
キャッシュサーバー
リージョンアプリケーション
(クライアント)
キャッシュサーバー
リージョン
キャッシュサーバー
リージョン
アプリケーション
キャッシュサーバー
リージョン
アプリケーション
キャッシュサーバー
リージョン
※クライアントからのアクセスもできる
ULS 9
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 10
本日の最終的な姿
リアルタイムに更新されるチャットアプリ作成
リージョン
入力メッセージを
リージョンへ登録
リージョンへの登録イベント
を拾って他のクライアントへ
リアルタイムに更新
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 11
JavaアプリケーションにGeodeを組み込み、P2P型のチャッ
トアプリを作成
ハンズオン#1:CUIチャットアプリ
Javaアプリケーション#1
(Geode組み込み)
Geode Cache
ChatMessage
(Region)
ChatMessageListener
(CacheListener)
Javaアプリケーション#2
(Geode組み込み)
Geode Cache
ChatMessage
(Region)
ChatMessageListener
(CacheListener)
メッセージ
表示
メッセージ入力
メッセージ入力
メッセージ
表示
メッセージ
連携
チャット
メッセージ
を蓄積
チャットメッセージ
のイベントを取得し、
コンソールへ表示
リージョン名 : ChatMessage
データポリシー : REPLICATE
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 12
キャッシュサーバーとJavaアプリケーションを分離しクライ
アント-サーバー型のチャットアプリを作成
ハンズオン#2:CUIチャットアプリ
Javaアプリケーション#1
(Geodeクライアント)
Client Cache
ChatMessage
(Region)
ChatMessageListener
(CacheListener)
Javaアプリケーション#2
(Geodeクライアント)
Client Cache
ChatMessage
(Region)
ChatMessageListener
(CacheListener)
メッセージ
表示
メッセージ入力
メッセージ入力
メッセージ
表示
メッセージ
連携
チャットメッセージ
のイベントを取得し、
コンソールへ表示
リージョン名 : ChatMessage
データポリシー : RARTITION
キャッシュサーバー
Geode Cache
ChatMessage
(Region)
チャット
メッセージ
を蓄積
メッセージ
連携
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 13
GUI版のチャットアプリを作成
ハンズオン#3:GUIチャットアプリ
Javaアプリケーション#1
(Geodeクライアント)
Client Cache
ChatMessage
(Region)
ChatMessageListener
(CacheListener)
Javaアプリケーション#2
(Geodeクライアント)
Client Cache
ChatMessage
(Region)
ChatMessageListener
(CacheListener)
メッセージ
表示
メッセージ入力
メッセージ入力
メッセージ
表示
チャットメッセージ
のイベントを取得し、
コンソールへ表示
リージョン名 : ChatMessage
データポリシー : RARTITION
キャッシュサーバー
Geode Cache
ChatMessage
(Region)
チャット
メッセージ
を蓄積
メッセージ
連携
メッセージ
連携
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 14
Tutorial
https://github.com/masaki-yamakawa/GeodeHandson
ULS
Copyright © 2011-2017 UL Systems, Inc. All rights reserved.
Proprietary & Confidential Powered by 15
まとめ
ハンズオン#1:CUIチャットアプリ(Embeddedモード)
– Embeddedモードによる実行方法
– リージョンデータへのアクセス方法(put, get)
– リージョンイベントの取得方法
– レプリケーションとパーティションの違い
ハンズオン#2:CUIチャットアプリ(クライアント-サーバ)
– クライアント-サーバモードの実行方法
– Gfshによるロケーター、キャッシュサーバーの起動方法
– Pulseによるクラスター管理、および、データ参照方法(OQL実行)
– クライアントアプリでのイベント取得方法の違い
ハンズオン#3:GUIチャットアプリ
– APIからの設定方法
– Continuous Query使用方法

Weitere ähnliche Inhalte

Was ist angesagt?

【Jpug勉強会】10大ニュースで振り返るpg con2013
【Jpug勉強会】10大ニュースで振り返るpg con2013【Jpug勉強会】10大ニュースで振り返るpg con2013
【Jpug勉強会】10大ニュースで振り返るpg con2013Daichi Egawa
 
20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...
20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...
20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...Insight Technology, Inc.
 
[db tech showcase Tokyo 2016] D32: SPARCサーバ + Pure Storage DB仮想化のすべらない話 〜 Exa...
[db tech showcase Tokyo 2016] D32: SPARCサーバ + Pure Storage DB仮想化のすべらない話 〜 Exa...[db tech showcase Tokyo 2016] D32: SPARCサーバ + Pure Storage DB仮想化のすべらない話 〜 Exa...
[db tech showcase Tokyo 2016] D32: SPARCサーバ + Pure Storage DB仮想化のすべらない話 〜 Exa...Insight Technology, Inc.
 
[C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama
[C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama[C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama
[C31]世界最速カラムナーDBは本物だ! by Daisuke HiramaInsight Technology, Inc.
 
[db tech showcase Tokyo 2016] D24: データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第三章 ~デ...
[db tech showcase Tokyo 2016] D24: データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第三章 ~デ...[db tech showcase Tokyo 2016] D24: データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第三章 ~デ...
[db tech showcase Tokyo 2016] D24: データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第三章 ~デ...Insight Technology, Inc.
 
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方Toru Makabe
 
[db tech showcase Tokyo 2016] D15: データベース フラッシュソリューション徹底解説! 安価にデータベースを高速にする方法...
[db tech showcase Tokyo 2016] D15: データベース フラッシュソリューション徹底解説! 安価にデータベースを高速にする方法...[db tech showcase Tokyo 2016] D15: データベース フラッシュソリューション徹底解説! 安価にデータベースを高速にする方法...
[db tech showcase Tokyo 2016] D15: データベース フラッシュソリューション徹底解説! 安価にデータベースを高速にする方法...Insight Technology, Inc.
 
[db tech showcase Tokyo 2016] B22: 超高速NoSQLデータベースと超高速SSDの融合 by Aerospike Inc....
[db tech showcase Tokyo 2016] B22: 超高速NoSQLデータベースと超高速SSDの融合 by Aerospike Inc....[db tech showcase Tokyo 2016] B22: 超高速NoSQLデータベースと超高速SSDの融合 by Aerospike Inc....
[db tech showcase Tokyo 2016] B22: 超高速NoSQLデータベースと超高速SSDの融合 by Aerospike Inc....Insight Technology, Inc.
 
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)Yuji Otani
 
[db tech showcase Tokyo 2016] C32: 世界一速いPostgreSQLを目指せ!インメモリカラムナの実現 by 富士通株式会...
[db tech showcase Tokyo 2016] C32: 世界一速いPostgreSQLを目指せ!インメモリカラムナの実現 by 富士通株式会...[db tech showcase Tokyo 2016] C32: 世界一速いPostgreSQLを目指せ!インメモリカラムナの実現 by 富士通株式会...
[db tech showcase Tokyo 2016] C32: 世界一速いPostgreSQLを目指せ!インメモリカラムナの実現 by 富士通株式会...Insight Technology, Inc.
 
OpenStack Trove 技術解説
OpenStack Trove 技術解説OpenStack Trove 技術解説
OpenStack Trove 技術解説Toru Makabe
 
Packetbeatの基礎から、IoTデバイス異常検知への応用まで
Packetbeatの基礎から、IoTデバイス異常検知への応用までPacketbeatの基礎から、IoTデバイス異常検知への応用まで
Packetbeatの基礎から、IoTデバイス異常検知への応用までSatoyuki Tsukano
 
perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)Daichi Egawa
 
OpenStackとTerraformで作る Phoenix Environments
OpenStackとTerraformで作る Phoenix EnvironmentsOpenStackとTerraformで作る Phoenix Environments
OpenStackとTerraformで作る Phoenix EnvironmentsToru Makabe
 
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)NTT DATA OSS Professional Services
 
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)NTT DATA OSS Professional Services
 

Was ist angesagt? (20)

【Jpug勉強会】10大ニュースで振り返るpg con2013
【Jpug勉強会】10大ニュースで振り返るpg con2013【Jpug勉強会】10大ニュースで振り返るpg con2013
【Jpug勉強会】10大ニュースで振り返るpg con2013
 
20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...
20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...
20170622_MySQL最新情報 ~MySQL 8.0 開発状況、MySQL InnoDB Cluster、などのご紹介~ by 日本オラクル株式会社...
 
[db tech showcase Tokyo 2016] D32: SPARCサーバ + Pure Storage DB仮想化のすべらない話 〜 Exa...
[db tech showcase Tokyo 2016] D32: SPARCサーバ + Pure Storage DB仮想化のすべらない話 〜 Exa...[db tech showcase Tokyo 2016] D32: SPARCサーバ + Pure Storage DB仮想化のすべらない話 〜 Exa...
[db tech showcase Tokyo 2016] D32: SPARCサーバ + Pure Storage DB仮想化のすべらない話 〜 Exa...
 
[C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama
[C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama[C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama
[C31]世界最速カラムナーDBは本物だ! by Daisuke Hirama
 
[db tech showcase Tokyo 2016] D24: データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第三章 ~デ...
[db tech showcase Tokyo 2016] D24: データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第三章 ~デ...[db tech showcase Tokyo 2016] D24: データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第三章 ~デ...
[db tech showcase Tokyo 2016] D24: データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第三章 ~デ...
 
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
 
[db tech showcase Tokyo 2016] D15: データベース フラッシュソリューション徹底解説! 安価にデータベースを高速にする方法...
[db tech showcase Tokyo 2016] D15: データベース フラッシュソリューション徹底解説! 安価にデータベースを高速にする方法...[db tech showcase Tokyo 2016] D15: データベース フラッシュソリューション徹底解説! 安価にデータベースを高速にする方法...
[db tech showcase Tokyo 2016] D15: データベース フラッシュソリューション徹底解説! 安価にデータベースを高速にする方法...
 
Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)
 
10大ニュースで振り返るPGCon2015
10大ニュースで振り返るPGCon201510大ニュースで振り返るPGCon2015
10大ニュースで振り返るPGCon2015
 
[db tech showcase Tokyo 2016] B22: 超高速NoSQLデータベースと超高速SSDの融合 by Aerospike Inc....
[db tech showcase Tokyo 2016] B22: 超高速NoSQLデータベースと超高速SSDの融合 by Aerospike Inc....[db tech showcase Tokyo 2016] B22: 超高速NoSQLデータベースと超高速SSDの融合 by Aerospike Inc....
[db tech showcase Tokyo 2016] B22: 超高速NoSQLデータベースと超高速SSDの融合 by Aerospike Inc....
 
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
RDBとNoSQLの上手な付き合い方(勉強会@LIG 2013/11/11)
 
[db tech showcase Tokyo 2016] C32: 世界一速いPostgreSQLを目指せ!インメモリカラムナの実現 by 富士通株式会...
[db tech showcase Tokyo 2016] C32: 世界一速いPostgreSQLを目指せ!インメモリカラムナの実現 by 富士通株式会...[db tech showcase Tokyo 2016] C32: 世界一速いPostgreSQLを目指せ!インメモリカラムナの実現 by 富士通株式会...
[db tech showcase Tokyo 2016] C32: 世界一速いPostgreSQLを目指せ!インメモリカラムナの実現 by 富士通株式会...
 
Hadoop2.6の最新機能+
Hadoop2.6の最新機能+Hadoop2.6の最新機能+
Hadoop2.6の最新機能+
 
オラクルのHadoopソリューションご紹介
オラクルのHadoopソリューションご紹介オラクルのHadoopソリューションご紹介
オラクルのHadoopソリューションご紹介
 
OpenStack Trove 技術解説
OpenStack Trove 技術解説OpenStack Trove 技術解説
OpenStack Trove 技術解説
 
Packetbeatの基礎から、IoTデバイス異常検知への応用まで
Packetbeatの基礎から、IoTデバイス異常検知への応用までPacketbeatの基礎から、IoTデバイス異常検知への応用まで
Packetbeatの基礎から、IoTデバイス異常検知への応用まで
 
perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)
 
OpenStackとTerraformで作る Phoenix Environments
OpenStackとTerraformで作る Phoenix EnvironmentsOpenStackとTerraformで作る Phoenix Environments
OpenStackとTerraformで作る Phoenix Environments
 
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
 
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
 

Andere mochten auch

20171118 jjug snappydata
20171118 jjug snappydata20171118 jjug snappydata
20171118 jjug snappydataMasaki Yamakawa
 
Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門Takuya Okada
 
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Kohei Saito
 
JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座Yusuke Suzuki
 
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心にJava SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心にTaku Miyakawa
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugMasatoshi Tada
 

Andere mochten auch (6)

20171118 jjug snappydata
20171118 jjug snappydata20171118 jjug snappydata
20171118 jjug snappydata
 
Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門
 
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
 
JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座
 
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心にJava SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
 

Ähnlich wie Geode hands-on

ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312Yuki Tagami
 
組み込みDB Empress presentation v2.0_hy
組み込みDB Empress presentation v2.0_hy組み込みDB Empress presentation v2.0_hy
組み込みDB Empress presentation v2.0_hyITDORAKU
 
9 power night2014_iwai
9 power night2014_iwai9 power night2014_iwai
9 power night2014_iwaiTerraSky
 
AITCオープンラボ第4回IoT勉強会 センサーデータの取得・送信編
AITCオープンラボ第4回IoT勉強会 センサーデータの取得・送信編AITCオープンラボ第4回IoT勉強会 センサーデータの取得・送信編
AITCオープンラボ第4回IoT勉強会 センサーデータの取得・送信編Yasuyuki Jinnouchi
 
そろそろSELinux を有効にしてみませんか?
そろそろSELinux を有効にしてみませんか?そろそろSELinux を有効にしてみませんか?
そろそろSELinux を有効にしてみませんか?Atsushi Mitsu
 
DBTS2016 Data as Code - Delphix
DBTS2016 Data as Code - DelphixDBTS2016 Data as Code - Delphix
DBTS2016 Data as Code - DelphixMasaya Ishikawa
 
【Hinemos World 2013】A-5:すべて伝えます、Hinemosの今と今後の展望(株式会社NTTデータ)
【Hinemos World 2013】A-5:すべて伝えます、Hinemosの今と今後の展望(株式会社NTTデータ)【Hinemos World 2013】A-5:すべて伝えます、Hinemosの今と今後の展望(株式会社NTTデータ)
【Hinemos World 2013】A-5:すべて伝えます、Hinemosの今と今後の展望(株式会社NTTデータ)Hinemos
 
マーケティングテクノロジー勉強会
マーケティングテクノロジー勉強会マーケティングテクノロジー勉強会
マーケティングテクノロジー勉強会伊藤 孝
 
SDI時代のシステムインテグレーション~CloudConductorの紹介~
SDI時代のシステムインテグレーション~CloudConductorの紹介~SDI時代のシステムインテグレーション~CloudConductorの紹介~
SDI時代のシステムインテグレーション~CloudConductorの紹介~cloudconductor
 
オープンソースのトレンドとビジネス活用2014 〜メリットと安心・安全に活用するポイント〜
オープンソースのトレンドとビジネス活用2014 〜メリットと安心・安全に活用するポイント〜オープンソースのトレンドとビジネス活用2014 〜メリットと安心・安全に活用するポイント〜
オープンソースのトレンドとビジネス活用2014 〜メリットと安心・安全に活用するポイント〜ThinkIT_impress
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップKoichiro Sumi
 
OSSを活用したダッシュボード の紹介
OSSを活用したダッシュボード の紹介OSSを活用したダッシュボード の紹介
OSSを活用したダッシュボード の紹介BigData Sios
 
【IVS CTO Night & Day】AWS re:Invent 2017 振り返り
【IVS CTO Night & Day】AWS re:Invent 2017 振り返り【IVS CTO Night & Day】AWS re:Invent 2017 振り返り
【IVS CTO Night & Day】AWS re:Invent 2017 振り返りAmazon Web Services Japan
 
エウレカ:SageMakerを導入した話
エウレカ:SageMakerを導入した話エウレカ:SageMakerを導入した話
エウレカ:SageMakerを導入した話Mizuki Kobayashi
 
世界征服を目指す Jubatus だからこそ期待する 5 つのポイント
世界征服を目指す Jubatus だからこそ期待する 5 つのポイント世界征服を目指す Jubatus だからこそ期待する 5 つのポイント
世界征服を目指す Jubatus だからこそ期待する 5 つのポイントToru Shimogaki
 
As1 company profile[1]
As1 company profile[1]As1 company profile[1]
As1 company profile[1]ssusere2833f
 
レガシーコードを改善した先にあるもの、それは継続的インテグレーション
レガシーコードを改善した先にあるもの、それは継続的インテグレーションレガシーコードを改善した先にあるもの、それは継続的インテグレーション
レガシーコードを改善した先にあるもの、それは継続的インテグレーションMasanori Satoh
 
第23回「NTT DataとIBMが熱く語ります!!OpenFlow/SDNコントローラー開発秘話から 未来まで、裏話もあるよ」(2012/12/20 o...
第23回「NTT DataとIBMが熱く語ります!!OpenFlow/SDNコントローラー開発秘話から 未来まで、裏話もあるよ」(2012/12/20 o...第23回「NTT DataとIBMが熱く語ります!!OpenFlow/SDNコントローラー開発秘話から 未来まで、裏話もあるよ」(2012/12/20 o...
第23回「NTT DataとIBMが熱く語ります!!OpenFlow/SDNコントローラー開発秘話から 未来まで、裏話もあるよ」(2012/12/20 o...System x 部 (生!) : しすなま! @ Lenovo Enterprise Solutions Ltd.
 

Ähnlich wie Geode hands-on (20)

ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312
 
10大ニュースで振り返るpg con2013
10大ニュースで振り返るpg con201310大ニュースで振り返るpg con2013
10大ニュースで振り返るpg con2013
 
組み込みDB Empress presentation v2.0_hy
組み込みDB Empress presentation v2.0_hy組み込みDB Empress presentation v2.0_hy
組み込みDB Empress presentation v2.0_hy
 
9 power night2014_iwai
9 power night2014_iwai9 power night2014_iwai
9 power night2014_iwai
 
AITCオープンラボ第4回IoT勉強会 センサーデータの取得・送信編
AITCオープンラボ第4回IoT勉強会 センサーデータの取得・送信編AITCオープンラボ第4回IoT勉強会 センサーデータの取得・送信編
AITCオープンラボ第4回IoT勉強会 センサーデータの取得・送信編
 
そろそろSELinux を有効にしてみませんか?
そろそろSELinux を有効にしてみませんか?そろそろSELinux を有効にしてみませんか?
そろそろSELinux を有効にしてみませんか?
 
DBTS2016 Data as Code - Delphix
DBTS2016 Data as Code - DelphixDBTS2016 Data as Code - Delphix
DBTS2016 Data as Code - Delphix
 
【Hinemos World 2013】A-5:すべて伝えます、Hinemosの今と今後の展望(株式会社NTTデータ)
【Hinemos World 2013】A-5:すべて伝えます、Hinemosの今と今後の展望(株式会社NTTデータ)【Hinemos World 2013】A-5:すべて伝えます、Hinemosの今と今後の展望(株式会社NTTデータ)
【Hinemos World 2013】A-5:すべて伝えます、Hinemosの今と今後の展望(株式会社NTTデータ)
 
マーケティングテクノロジー勉強会
マーケティングテクノロジー勉強会マーケティングテクノロジー勉強会
マーケティングテクノロジー勉強会
 
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
 
SDI時代のシステムインテグレーション~CloudConductorの紹介~
SDI時代のシステムインテグレーション~CloudConductorの紹介~SDI時代のシステムインテグレーション~CloudConductorの紹介~
SDI時代のシステムインテグレーション~CloudConductorの紹介~
 
オープンソースのトレンドとビジネス活用2014 〜メリットと安心・安全に活用するポイント〜
オープンソースのトレンドとビジネス活用2014 〜メリットと安心・安全に活用するポイント〜オープンソースのトレンドとビジネス活用2014 〜メリットと安心・安全に活用するポイント〜
オープンソースのトレンドとビジネス活用2014 〜メリットと安心・安全に活用するポイント〜
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
OSSを活用したダッシュボード の紹介
OSSを活用したダッシュボード の紹介OSSを活用したダッシュボード の紹介
OSSを活用したダッシュボード の紹介
 
【IVS CTO Night & Day】AWS re:Invent 2017 振り返り
【IVS CTO Night & Day】AWS re:Invent 2017 振り返り【IVS CTO Night & Day】AWS re:Invent 2017 振り返り
【IVS CTO Night & Day】AWS re:Invent 2017 振り返り
 
エウレカ:SageMakerを導入した話
エウレカ:SageMakerを導入した話エウレカ:SageMakerを導入した話
エウレカ:SageMakerを導入した話
 
世界征服を目指す Jubatus だからこそ期待する 5 つのポイント
世界征服を目指す Jubatus だからこそ期待する 5 つのポイント世界征服を目指す Jubatus だからこそ期待する 5 つのポイント
世界征服を目指す Jubatus だからこそ期待する 5 つのポイント
 
As1 company profile[1]
As1 company profile[1]As1 company profile[1]
As1 company profile[1]
 
レガシーコードを改善した先にあるもの、それは継続的インテグレーション
レガシーコードを改善した先にあるもの、それは継続的インテグレーションレガシーコードを改善した先にあるもの、それは継続的インテグレーション
レガシーコードを改善した先にあるもの、それは継続的インテグレーション
 
第23回「NTT DataとIBMが熱く語ります!!OpenFlow/SDNコントローラー開発秘話から 未来まで、裏話もあるよ」(2012/12/20 o...
第23回「NTT DataとIBMが熱く語ります!!OpenFlow/SDNコントローラー開発秘話から 未来まで、裏話もあるよ」(2012/12/20 o...第23回「NTT DataとIBMが熱く語ります!!OpenFlow/SDNコントローラー開発秘話から 未来まで、裏話もあるよ」(2012/12/20 o...
第23回「NTT DataとIBMが熱く語ります!!OpenFlow/SDNコントローラー開発秘話から 未来まで、裏話もあるよ」(2012/12/20 o...
 

Mehr von Masaki Yamakawa

20231111_YugabyteDB-on-k8s.pdf
20231111_YugabyteDB-on-k8s.pdf20231111_YugabyteDB-on-k8s.pdf
20231111_YugabyteDB-on-k8s.pdfMasaki Yamakawa
 
20221117_クラウドネイティブ向けYugabyteDB活用シナリオ
20221117_クラウドネイティブ向けYugabyteDB活用シナリオ20221117_クラウドネイティブ向けYugabyteDB活用シナリオ
20221117_クラウドネイティブ向けYugabyteDB活用シナリオMasaki Yamakawa
 
20220331_DSSA_MigrationToYugabyteDB
20220331_DSSA_MigrationToYugabyteDB20220331_DSSA_MigrationToYugabyteDB
20220331_DSSA_MigrationToYugabyteDBMasaki 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&DSMasaki Yamakawa
 
20181031 springfest spring data geode
20181031 springfest spring data geode20181031 springfest spring data geode
20181031 springfest spring data geodeMasaki Yamakawa
 
20180217 hackertackle geode
20180217 hackertackle geode20180217 hackertackle geode
20180217 hackertackle geodeMasaki Yamakawa
 
20171125 springfest snappydata
20171125 springfest snappydata20171125 springfest snappydata
20171125 springfest snappydataMasaki Yamakawa
 

Mehr von Masaki Yamakawa (9)

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
 

Geode hands-on

  • 1. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by Apache Geodeハンズオン 2017/3/14 ウルシステムズ株式会社 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 自己紹介 山河 征紀 • コンサルタント@ウルシステムズ株式会社 • 並列分散処理, インメモリー処理
  • 3. ULS 2 Copyright © 2011-2013 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by Apache Geode概要
  • 4. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 3 今日のゴール Geodeを使った実装のための基礎知識がついている Geodeのデータへアクセスしてみる データ更新イベントを取得してみる
  • 5. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 4 Apache GEODEとは ざっくりいうとインメモリーの分散KVS –データを各マシンのメモリーに分散配置 –大量トランザクションに対する高速処理 –動的なスケーラビリティ –ミッションクリティカルでの利用 採用実績 –欧米の金融機関 –政府、防衛
  • 6. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 5 レプリケーションとパーティション クラスター全体を論理的に1つのまとまりとして見たとき、 データをどのノードのメモリーにもつか、ということ データの特性によって分散スタイルを選ぶ必要があるため、 この選択肢が充足していることは重要 パーティションレプリケーション すべてのマシンで同一のデータ を保持する 何れかのマシンにデータが存在 する
  • 7. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 6 Geodeを使う際の登場人物(プロセス) Geodeでは次の3種類のプロセスが登場する キャッシュサーバー メモリー上のデータを管理するためのプロセス データは複数のキャッシュサーバーに分散されリー ジョンという単位で保持される ロケーター クラスター構成を管理するためのプロセス 大規模なクラスターを論理的なグループに分割する こともできる クライアント キャッシュサーバーが管理するデータへアクセスす るためのクライアント(Java/C++/C#/REST) ロケーター キャッシュサーバー リージョン ロケーター キャッシュサーバー リージョンキャッシュサーバー リージョンキャッシュサーバー リージョン Java クライアント C++/C# クライアント REST クライアント クライアントは、ロケーターに 問い合わせることで任意の キャッシュサーバーへ接続でき る(RESTは別) Geodeクラスター
  • 8. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 7 Embeddeモードとしてアプリケー ション中でキャッシュサーバー機能 を実行してデータアクセスする (geodeのjarを取り込む) アプリケーションからデータへアクセスする際は、次の2つ の方法がある データ管理に特化したキャッシュ サーバーを起動し、アプリケーショ ンはクライアントとしてデータアク セスする アプリケーションからのデータアクセス これら2つの方法を組み合わせることも出来る キャッシュサーバー リージョンアプリケーション (クライアント) キャッシュサーバー リージョン キャッシュサーバー リージョン アプリケーション キャッシュサーバー リージョン アプリケーション キャッシュサーバー リージョン ※クライアントからのアクセスもできる
  • 9. ULS 9 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 10 本日の最終的な姿 リアルタイムに更新されるチャットアプリ作成 リージョン 入力メッセージを リージョンへ登録 リージョンへの登録イベント を拾って他のクライアントへ リアルタイムに更新
  • 11. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 11 JavaアプリケーションにGeodeを組み込み、P2P型のチャッ トアプリを作成 ハンズオン#1:CUIチャットアプリ Javaアプリケーション#1 (Geode組み込み) Geode Cache ChatMessage (Region) ChatMessageListener (CacheListener) Javaアプリケーション#2 (Geode組み込み) Geode Cache ChatMessage (Region) ChatMessageListener (CacheListener) メッセージ 表示 メッセージ入力 メッセージ入力 メッセージ 表示 メッセージ 連携 チャット メッセージ を蓄積 チャットメッセージ のイベントを取得し、 コンソールへ表示 リージョン名 : ChatMessage データポリシー : REPLICATE
  • 12. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 12 キャッシュサーバーとJavaアプリケーションを分離しクライ アント-サーバー型のチャットアプリを作成 ハンズオン#2:CUIチャットアプリ Javaアプリケーション#1 (Geodeクライアント) Client Cache ChatMessage (Region) ChatMessageListener (CacheListener) Javaアプリケーション#2 (Geodeクライアント) Client Cache ChatMessage (Region) ChatMessageListener (CacheListener) メッセージ 表示 メッセージ入力 メッセージ入力 メッセージ 表示 メッセージ 連携 チャットメッセージ のイベントを取得し、 コンソールへ表示 リージョン名 : ChatMessage データポリシー : RARTITION キャッシュサーバー Geode Cache ChatMessage (Region) チャット メッセージ を蓄積 メッセージ 連携
  • 13. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 13 GUI版のチャットアプリを作成 ハンズオン#3:GUIチャットアプリ Javaアプリケーション#1 (Geodeクライアント) Client Cache ChatMessage (Region) ChatMessageListener (CacheListener) Javaアプリケーション#2 (Geodeクライアント) Client Cache ChatMessage (Region) ChatMessageListener (CacheListener) メッセージ 表示 メッセージ入力 メッセージ入力 メッセージ 表示 チャットメッセージ のイベントを取得し、 コンソールへ表示 リージョン名 : ChatMessage データポリシー : RARTITION キャッシュサーバー Geode Cache ChatMessage (Region) チャット メッセージ を蓄積 メッセージ 連携 メッセージ 連携
  • 14. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 14 Tutorial https://github.com/masaki-yamakawa/GeodeHandson
  • 15. ULS Copyright © 2011-2017 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 15 まとめ ハンズオン#1:CUIチャットアプリ(Embeddedモード) – Embeddedモードによる実行方法 – リージョンデータへのアクセス方法(put, get) – リージョンイベントの取得方法 – レプリケーションとパーティションの違い ハンズオン#2:CUIチャットアプリ(クライアント-サーバ) – クライアント-サーバモードの実行方法 – Gfshによるロケーター、キャッシュサーバーの起動方法 – Pulseによるクラスター管理、および、データ参照方法(OQL実行) – クライアントアプリでのイベント取得方法の違い ハンズオン#3:GUIチャットアプリ – APIからの設定方法 – Continuous Query使用方法