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使用方法

More Related Content

PDF
インメモリーデータグリッドの選択肢
PDF
超高速処理とスケーラビリティを両立するApache GEODE
PDF
インメモリーで超高速処理を実現する場合のカギ
PDF
D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji Shinkubo
PDF
DBTS2016 DBAのための最新テクノロジー
PDF
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
PDF
pg_dbms_statsの紹介
PPTX
OpenStack Congress Deep Dive
インメモリーデータグリッドの選択肢
超高速処理とスケーラビリティを両立するApache GEODE
インメモリーで超高速処理を実現する場合のカギ
D22 目覚めよDBエンジニア 〜世界最速カラムナーデータベースは本物だ!〜 by Koji Shinkubo
DBTS2016 DBAのための最新テクノロジー
2017年5月26日 オープンソースデータベース比較セミナー「NoSQLとしても使えるMySQLとMySQL Cluster」
pg_dbms_statsの紹介
OpenStack Congress Deep Dive

What's hot (20)

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

Similar to Geode hands-on (20)

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

More from Masaki Yamakawa (14)

PDF
20250729_Devin-for-Enterprise
PDF
20250717_Devin×GitHubCopilotで10人分の仕事は出来るのか?
PDF
20250710_Devinで切り拓くDB革命_〜価値創出に集中せよ〜
PDF
20250611_話題のDevin、エンプラ開発で〇人分の仕事はできるのか !?
PDF
20231111_YugabyteDB-on-k8s.pdf
PDF
20221117_クラウドネイティブ向けYugabyteDB活用シナリオ
PDF
20220331_DSSA_MigrationToYugabyteDB
PDF
20211118 dbts2021 マイクロサービスにおけるApache Geodeの効果的な使い方
PDF
20190523 IMC meetup-IMDG&DS
PDF
20181031 springfest spring data geode
PDF
Apache geode at-s1p
PDF
20180217 hackertackle geode
PDF
20171125 springfest snappydata
PDF
20171118 jjug snappydata
20250729_Devin-for-Enterprise
20250717_Devin×GitHubCopilotで10人分の仕事は出来るのか?
20250710_Devinで切り拓くDB革命_〜価値創出に集中せよ〜
20250611_話題のDevin、エンプラ開発で〇人分の仕事はできるのか !?
20231111_YugabyteDB-on-k8s.pdf
20221117_クラウドネイティブ向けYugabyteDB活用シナリオ
20220331_DSSA_MigrationToYugabyteDB
20211118 dbts2021 マイクロサービスにおけるApache Geodeの効果的な使い方
20190523 IMC meetup-IMDG&DS
20181031 springfest spring data geode
Apache geode at-s1p
20180217 hackertackle geode
20171125 springfest snappydata
20171118 jjug 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使用方法