Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
MY
Uploaded by
Masaki Yamakawa
PDF, PPTX
3,892 views
超高速処理とスケーラビリティを両立するApache GEODE
Apache GEODE Meetup Tokyo #1 の資料です。
Technology
◦
Read more
11
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 32
2
/ 32
3
/ 32
4
/ 32
5
/ 32
6
/ 32
7
/ 32
8
/ 32
9
/ 32
10
/ 32
11
/ 32
12
/ 32
13
/ 32
14
/ 32
15
/ 32
16
/ 32
17
/ 32
18
/ 32
19
/ 32
20
/ 32
21
/ 32
22
/ 32
23
/ 32
24
/ 32
25
/ 32
26
/ 32
27
/ 32
28
/ 32
29
/ 32
30
/ 32
31
/ 32
32
/ 32
More Related Content
PDF
インメモリーで超高速処理を実現する場合のカギ
by
Masaki Yamakawa
PPTX
〜Apache Geode 入門 gfsh によるクラスター構築・管理
by
Akihiro Kitada
PDF
外部キー制約に伴うロックの小話
by
ichirin2501
PDF
Redis
by
DaeMyung Kang
PDF
3分でわかるAzureでのService Principal
by
Toru Makabe
PDF
BuildKitの概要と最近の機能
by
Kohei Tokunaga
PDF
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
by
Hironobu Suzuki
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
by
NTT DATA Technology & Innovation
インメモリーで超高速処理を実現する場合のカギ
by
Masaki Yamakawa
〜Apache Geode 入門 gfsh によるクラスター構築・管理
by
Akihiro Kitada
外部キー制約に伴うロックの小話
by
ichirin2501
Redis
by
DaeMyung Kang
3分でわかるAzureでのService Principal
by
Toru Makabe
BuildKitの概要と最近の機能
by
Kohei Tokunaga
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
by
Hironobu Suzuki
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
by
NTT DATA Technology & Innovation
What's hot
PDF
PHP の GC の話
by
y-uti
PDF
[Cloud OnAir] Google Cloud とつなぐ色々な方法 〜 つなぐ方法をゼロからご紹介します〜 2019年1月31日 放送
by
Google Cloud Platform - Japan
PDF
単なるキャッシュじゃないよ!?infinispanの紹介
by
AdvancedTechNight
PPT
インフラエンジニアのためのcassandra入門
by
Akihiro Kuwano
PDF
ログ管理のベストプラクティス
by
Akihiro Kuwano
PDF
MongoDBのはじめての運用テキスト
by
Akihiro Kuwano
PPT
Cassandraのしくみ データの読み書き編
by
Yuki Morishita
PPTX
Data Factory V2 新機能徹底活用入門
by
Keisuke Fujikawa
PDF
CPUから見たG1GC
by
Kenji Kazumura
PDF
Unified JVM Logging
by
Yuji Kubota
PDF
kube-system落としてみました
by
Shuntaro Saiba
PDF
Amazon S3を中心とするデータ分析のベストプラクティス
by
Amazon Web Services Japan
PDF
並列クエリを実行するPostgreSQLのアーキテクチャ
by
Kohei KaiGai
PDF
HA環境構築のベスト・プラクティス
by
EnterpriseDB
PDF
Oracle Database Applianceのご紹介(詳細)
by
オラクルエンジニア通信
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
by
NTT DATA Technology & Innovation
PDF
Ansibleで始めるインフラ構築自動化
by
dcubeio
PDF
20211118 dbts2021 マイクロサービスにおけるApache Geodeの効果的な使い方
by
Masaki Yamakawa
PPTX
NGINXをBFF (Backend for Frontend)として利用した話
by
Hitachi, Ltd. OSS Solution Center.
PPTX
Azure API Management 俺的マニュアル
by
貴志 上坂
PHP の GC の話
by
y-uti
[Cloud OnAir] Google Cloud とつなぐ色々な方法 〜 つなぐ方法をゼロからご紹介します〜 2019年1月31日 放送
by
Google Cloud Platform - Japan
単なるキャッシュじゃないよ!?infinispanの紹介
by
AdvancedTechNight
インフラエンジニアのためのcassandra入門
by
Akihiro Kuwano
ログ管理のベストプラクティス
by
Akihiro Kuwano
MongoDBのはじめての運用テキスト
by
Akihiro Kuwano
Cassandraのしくみ データの読み書き編
by
Yuki Morishita
Data Factory V2 新機能徹底活用入門
by
Keisuke Fujikawa
CPUから見たG1GC
by
Kenji Kazumura
Unified JVM Logging
by
Yuji Kubota
kube-system落としてみました
by
Shuntaro Saiba
Amazon S3を中心とするデータ分析のベストプラクティス
by
Amazon Web Services Japan
並列クエリを実行するPostgreSQLのアーキテクチャ
by
Kohei KaiGai
HA環境構築のベスト・プラクティス
by
EnterpriseDB
Oracle Database Applianceのご紹介(詳細)
by
オラクルエンジニア通信
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
by
NTT DATA Technology & Innovation
Ansibleで始めるインフラ構築自動化
by
dcubeio
20211118 dbts2021 マイクロサービスにおけるApache Geodeの効果的な使い方
by
Masaki Yamakawa
NGINXをBFF (Backend for Frontend)として利用した話
by
Hitachi, Ltd. OSS Solution Center.
Azure API Management 俺的マニュアル
by
貴志 上坂
Viewers also liked
PPTX
Apache Geode で始めるSpring Data Gemfire
by
Akihiro Kitada
PDF
インメモリーデータグリッドの選択肢
by
Masaki Yamakawa
PDF
Geode hands-on
by
Masaki Yamakawa
PDF
ビッグデータ処理データベースの全体像と使い分け
by
Recruit Technologies
PPTX
Coherenceを利用するときに気をつけること #OracleCoherence
by
Toshiaki Maki
PDF
Geode meetup 20160609
by
Tomohiro Ichimura
PDF
Infinispan - Open Source Data Grid
by
nekop
PDF
SnappyData Overview Slidedeck for Big Data Bellevue
by
SnappyData
PPTX
GemFire In Memory Data Grid
by
Dmitry Buzdin
PDF
Spark Summit EU 2015: SparkUI visualization: a lens into your application
by
Databricks
PPTX
Advanced Visualization of Spark jobs
by
DataWorks Summit/Hadoop Summit
PDF
Riak: 本物の高可用性を実現する仕組みとは?
by
Takahiko Sato
PDF
The future of data by Doug Cutting #hcj2014
by
Cloudera Japan
PDF
統計的因果推論 勉強用 isseing333
by
Issei Kurahashi
PDF
OLAP with Cassandra and Spark
by
Evan Chan
PDF
週刊Azureなう Igniteキャッチアップ編
by
Naoki (Neo) SATO
PDF
[D35] インメモリーデータベース徹底比較 by Komori
by
Insight Technology, Inc.
PPTX
SnappyData, the Spark Database. A unified cluster for streaming, transactions...
by
SnappyData
PDF
因果推論の基礎
by
Hatsuru Morita
PDF
トレジャーデータ流,データ分析の始め方
by
Takahiro Inoue
Apache Geode で始めるSpring Data Gemfire
by
Akihiro Kitada
インメモリーデータグリッドの選択肢
by
Masaki Yamakawa
Geode hands-on
by
Masaki Yamakawa
ビッグデータ処理データベースの全体像と使い分け
by
Recruit Technologies
Coherenceを利用するときに気をつけること #OracleCoherence
by
Toshiaki Maki
Geode meetup 20160609
by
Tomohiro Ichimura
Infinispan - Open Source Data Grid
by
nekop
SnappyData Overview Slidedeck for Big Data Bellevue
by
SnappyData
GemFire In Memory Data Grid
by
Dmitry Buzdin
Spark Summit EU 2015: SparkUI visualization: a lens into your application
by
Databricks
Advanced Visualization of Spark jobs
by
DataWorks Summit/Hadoop Summit
Riak: 本物の高可用性を実現する仕組みとは?
by
Takahiko Sato
The future of data by Doug Cutting #hcj2014
by
Cloudera Japan
統計的因果推論 勉強用 isseing333
by
Issei Kurahashi
OLAP with Cassandra and Spark
by
Evan Chan
週刊Azureなう Igniteキャッチアップ編
by
Naoki (Neo) SATO
[D35] インメモリーデータベース徹底比較 by Komori
by
Insight Technology, Inc.
SnappyData, the Spark Database. A unified cluster for streaming, transactions...
by
SnappyData
因果推論の基礎
by
Hatsuru Morita
トレジャーデータ流,データ分析の始め方
by
Takahiro Inoue
Similar to 超高速処理とスケーラビリティを両立するApache GEODE
PPTX
Graph DB のユニークさについて考えてみた
by
Yuki Tagami
PPTX
Graph DB のユニークさについて考えてみた
by
Yuki Tagami
PDF
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]
by
Hideo Takagi
PDF
MapReduce解説
by
Shunsuke Aihara
PDF
Guide to Cassandra for Production Deployments
by
smdkk
PDF
オンライン広告入札システムとZGC ( JJUG CCC 2021 Spring )
by
Hironobu Isoda
PPTX
Geode+Alpakka+Akka Streamsでリアルタイムデータ処理
by
Shogo Ajina
PDF
Azure Antenna はじめての Azure Data Lake
by
Hideo Takagi
PPTX
Pgxユーザー勉強会#5 パスクエリを使ったトラバース
by
Yuki Tagami
PDF
Tohnaka Giri Ninjo Programmer Tohnaka at AgileJpan 2011
by
Akiko Kosaka
PDF
Tohnaka Giri Ninjo Programmer Tohnaka at AgileJpan 2011
by
Kenji Hiranabe
PDF
Facebookのリアルタイム Big Data 処理
by
maruyama097
PDF
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
by
Shigeru Hanada
PDF
スケーラブルなシステムのためのHBaseスキーマ設計 #hcj13w
by
Cloudera Japan
PDF
InfluxDB の概要 - sonots #tokyoinfluxdb
by
Naotoshi Seo
PPT
Transactional Information Systems入門
by
nobu_k
PDF
アナリティクスをPostgreSQLで始めるべき10の理由@第6回 関西DB勉強会
by
Satoshi Nagayasu
PPT
S4
by
あしたのオープンソース研究所
PDF
20110517 okuyama ソーシャルメディアが育てた技術勉強会
by
Takahiro Iwase
PDF
あなたが知らない リレーショナルモデル
by
Mikiya Okuno
Graph DB のユニークさについて考えてみた
by
Yuki Tagami
Graph DB のユニークさについて考えてみた
by
Yuki Tagami
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]
by
Hideo Takagi
MapReduce解説
by
Shunsuke Aihara
Guide to Cassandra for Production Deployments
by
smdkk
オンライン広告入札システムとZGC ( JJUG CCC 2021 Spring )
by
Hironobu Isoda
Geode+Alpakka+Akka Streamsでリアルタイムデータ処理
by
Shogo Ajina
Azure Antenna はじめての Azure Data Lake
by
Hideo Takagi
Pgxユーザー勉強会#5 パスクエリを使ったトラバース
by
Yuki Tagami
Tohnaka Giri Ninjo Programmer Tohnaka at AgileJpan 2011
by
Akiko Kosaka
Tohnaka Giri Ninjo Programmer Tohnaka at AgileJpan 2011
by
Kenji Hiranabe
Facebookのリアルタイム Big Data 処理
by
maruyama097
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
by
Shigeru Hanada
スケーラブルなシステムのためのHBaseスキーマ設計 #hcj13w
by
Cloudera Japan
InfluxDB の概要 - sonots #tokyoinfluxdb
by
Naotoshi Seo
Transactional Information Systems入門
by
nobu_k
アナリティクスをPostgreSQLで始めるべき10の理由@第6回 関西DB勉強会
by
Satoshi Nagayasu
S4
by
あしたのオープンソース研究所
20110517 okuyama ソーシャルメディアが育てた技術勉強会
by
Takahiro Iwase
あなたが知らない リレーショナルモデル
by
Mikiya Okuno
More from Masaki Yamakawa
PDF
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
by
Masaki Yamakawa
PDF
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
by
Masaki Yamakawa
PDF
20250729_Devin-for-Enterprise
by
Masaki Yamakawa
PDF
20250726_Devinで変えるエンプラシステム開発の未来
by
Masaki Yamakawa
PDF
20250717_Devin×GitHubCopilotで10人分の仕事は出来るのか?
by
Masaki Yamakawa
PDF
20250710_Devinで切り拓くDB革命_〜価値創出に集中せよ〜
by
Masaki Yamakawa
PDF
20250611_話題のDevin、エンプラ開発で〇人分の仕事はできるのか !?
by
Masaki Yamakawa
PDF
20231111_YugabyteDB-on-k8s.pdf
by
Masaki Yamakawa
PDF
20221117_クラウドネイティブ向けYugabyteDB活用シナリオ
by
Masaki Yamakawa
PDF
20220331_DSSA_MigrationToYugabyteDB
by
Masaki Yamakawa
PDF
20190523 IMC meetup-IMDG&DS
by
Masaki Yamakawa
PDF
20181031 springfest spring data geode
by
Masaki Yamakawa
PDF
Apache geode at-s1p
by
Masaki Yamakawa
PDF
20180217 hackertackle geode
by
Masaki Yamakawa
PDF
20171125 springfest snappydata
by
Masaki Yamakawa
PDF
20171118 jjug snappydata
by
Masaki Yamakawa
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
by
Masaki Yamakawa
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
by
Masaki Yamakawa
20250729_Devin-for-Enterprise
by
Masaki Yamakawa
20250726_Devinで変えるエンプラシステム開発の未来
by
Masaki Yamakawa
20250717_Devin×GitHubCopilotで10人分の仕事は出来るのか?
by
Masaki Yamakawa
20250710_Devinで切り拓くDB革命_〜価値創出に集中せよ〜
by
Masaki Yamakawa
20250611_話題のDevin、エンプラ開発で〇人分の仕事はできるのか !?
by
Masaki Yamakawa
20231111_YugabyteDB-on-k8s.pdf
by
Masaki Yamakawa
20221117_クラウドネイティブ向けYugabyteDB活用シナリオ
by
Masaki Yamakawa
20220331_DSSA_MigrationToYugabyteDB
by
Masaki Yamakawa
20190523 IMC meetup-IMDG&DS
by
Masaki Yamakawa
20181031 springfest spring data geode
by
Masaki Yamakawa
Apache geode at-s1p
by
Masaki Yamakawa
20180217 hackertackle geode
by
Masaki Yamakawa
20171125 springfest snappydata
by
Masaki Yamakawa
20171118 jjug snappydata
by
Masaki Yamakawa
超高速処理とスケーラビリティを両立する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
#5
【概念的な背景】 データが増える Txが増える → パフォーマンス求められる スケールアウトが重要
#8
・DBの方もキャッシュぐらいかいとく ・キャッシュや分散DBでもN/W超えるよね ・O/Rマッピングの処理都下も無駄。必要なのはObject。DB依存の処理をしている
#10
・DBは使うけど、ログとか過去データとか
Download