<Insert Picture Here>Oracle Coherence 3.7.1 Update日本オラクル株式会社            Fusion Middleware 事業統括本部2012年 12月
Coherence 3.7.1 Updates• Elastic Data• POFアノテーション• REST API• パーティション・レベル・データ処理• Extend Client 関連• F5 Integration• GlassFis...
Oracle Coherence 3.7 Elastic Data Coherence 3.6 以前                                                Coherence 3.7 からの     ...
Oracle Coherence 3.7Elastic Data目的• 大容量対応  –およそ4倍まで、オブジェクトを格納可能(キー格納の効率化)  –サーバー数の集約    • 高速ディスク・デバイス(SSD や SAN )を透過的に利用  ...
Oracle Coherence 3.7Elastic Data例 : put(“a”, ”A quite long value”);    put(“aa”, ”short”);    put(“ab”, ”OLD long value”);...
Oracle Coherence 3.7Elastic Data例 : put(“a”, ”A quite long value”);    put(“aa”, ”short”);    put(“ab”, ”fairly long value...
Oracle Coherence 3.7Elastic Data例 : put(“a”, ”A quite long value”);    put(“aa”, ”short”);    put(“ab”, ”fairly long value...
Oracle Coherence 3.7   Elastic Data                                       計算ノード                                       Proc...
Oracle Coherence 3.7Elastic Data <distributed-scheme>      <scheme-name>elastic-data</scheme-name>      <service-name>Dist...
Oracle Coherence 3.7.1   POFアノテーション                                                                                固有インターフ...
Oracle Coherence 3.7.1     REST API                                                       Coherence REST• RESTの特徴   • プラット...
Oracle Coherence 3.7    パーティション・レベル・データ処理    • EntryProcessor 内での同一パーティション内のデータに      対する処理の一括化・効率化       – バックアップ作成コストの効率...
Oracle Coherence 3.7     Extend Client 関連    • Extend Client から                                    • ロードバランシング         Pro...
Oracle Coherence 3.7F5 Integration• F5 BIG-IP Local Traffic Manager との連携                                                • ...
Oracle Coherence 3.7   GlassFish Integration               • Java EEサーバーのインメモリ・セッション共有を可能にする                 Coherence*Web...
Oracle Coherence 3.7JMX - クエリ・モニタリング                                                     • クエリ実行の統計情報                     ...
Oracle Coherence 3.7      その他     • シングル・クラスタにおける複数アプリケーション構成         (アプリケーション・アイソレーション)                                 ...
Oracle Coherence 3.7その他• POF 関連の改善   –Java、C++、.Net すべてで以下を同レベルにサポート     • コレクション     • DateTime 型     • CompositeKeys   –...
Oracle Coherence 3.7その他• XMLスキーマ・バリデーション(設計時チェック機能)<cache-config    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...
Copyright Oracle Corporation Japan, 2012. All rights reserved.   20
Upcoming SlideShare
Loading in …5
×

Oracle Coherence 3.7.1 アップデート分

1,943 views

Published on

Coherence 3.7 および 3.7.1 での技術的な更新部分だけにフォーカスしています。

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,943
On SlideShare
0
From Embeds
0
Number of Embeds
41
Actions
Shares
0
Downloads
30
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Oracle Coherence 3.7.1 アップデート分

  1. 1. <Insert Picture Here>Oracle Coherence 3.7.1 Update日本オラクル株式会社 Fusion Middleware 事業統括本部2012年 12月
  2. 2. Coherence 3.7.1 Updates• Elastic Data• POFアノテーション• REST API• パーティション・レベル・データ処理• Extend Client 関連• F5 Integration• GlassFish Integration• クエリ・モニタリング• その他 Copyright Oracle Corporation Japan, 2012. All rights reserved. 2
  3. 3. Oracle Coherence 3.7 Elastic Data Coherence 3.6 以前  Coherence 3.7 からの 追加オプション • ジャーナルログを高速に維持し 内部ストア領域に格納 • 内部のバックアップ領域として メモリ外部の高速ストレージを選択可能 JVMメモリ JVMメモリ 外部ストア領域 Keyデータ Backing Backup Map Map Backing 自動 Backup (プライマリ 格納領域) (バックアップ 格納領域) Map オーバー フロー Map (プライマリ格納領域) (バックアップ格納領域) SSD or 外部デバイス 高速性と信頼性を犠牲にすることなく、より大容量に対応 Copyright Oracle Corporation Japan, 2012. All rights reserved. 3
  4. 4. Oracle Coherence 3.7Elastic Data目的• 大容量対応 –およそ4倍まで、オブジェクトを格納可能(キー格納の効率化) –サーバー数の集約 • 高速ディスク・デバイス(SSD や SAN )を透過的に利用 → 例: 1ノードあたり100GB 級のディスクを制御可能 –“out-of-memory” エラーの可能性の削減• 安定化 –GC影響を縮小化 → 高パフォーマンス、低遅延 Copyright Oracle Corporation Japan, 2012. All rights reserved. 4
  5. 5. Oracle Coherence 3.7Elastic Data例 : put(“a”, ”A quite long value”); put(“aa”, ”short”); put(“ab”, ”OLD long value”); → put(“ab”, ”fairly long value”); • 小さいデータはそのまま格納JVMメモリ • 大きなデータはポインタを格納 Keyデータ:基数木(Radix tree、Patricia tree)構造 Key-part:”a” ValuePtr: Key-part:”a” Key-part:”b” Value:”short” ValuePtr: 古いデータ領域はポインタされない 状態に更新(リリース) “A quite long value” “fairly long value” “OLD long value” … … プールされたバッファ領域として 事前確保し、再利用 Copyright Oracle Corporation Japan, 2012. All rights reserved. 5
  6. 6. Oracle Coherence 3.7Elastic Data例 : put(“a”, ”A quite long value”); put(“aa”, ”short”); put(“ab”, ”fairly long value”);JVMメモリ Keyデータ:基数木(Radix tree、Patricia tree)構造 Key-part:”a” ValuePtr: Key-part:”a” Key-part:”b” Value:”short” ValuePtr: “A quite long value” “A quite long value” “fairly long value” “fairly long value” “OLD long value” … … 定期的にコンパクションを実施 (断片化の解消) Copyright Oracle Corporation Japan, 2012. All rights reserved. 6
  7. 7. Oracle Coherence 3.7Elastic Data例 : put(“a”, ”A quite long value”); put(“aa”, ”short”); put(“ab”, ”fairly long value”);JVMメモリ 外部ストア領域 (SSDなど) Keyデータ:基数木(Radix tree、Patricia tree)構造 Key-part:”a” ValuePtr: 参照されなくなった ファイルは再利用される Key-part:”a” Key-part:”b” Value:”short” ValuePtr: “A quite long value” “fairly long value” メモリ・オーバーしそうに … ↓ ジャーナル単位で、 非同期/透過的に メモリ外へ退避 Copyright Oracle Corporation Japan, 2012. All rights reserved. 7
  8. 8. Oracle Coherence 3.7 Elastic Data 計算ノード Processor Cores 480 Memory 7.5 TBOracle Exalogic Flash SSD 3000 GBハードウェア環境に適合 計算処理ノードCoherenceノード間の Exalogic IO Fabric 処理の最適化、SSDへの QDR InfiniBand 40 Gb/s Latency 1.2μs データ退避の高速化のために -InfiniBand InfiniBand透過的ストレージとして ストレージ -各ノードのSSD Disk Storage 60 TB SSD Read Cache 4 TB -共用ストレージのキャッシュSSD SSD Write Cache 146 GB 共用ストレージ Copyright Oracle Corporation Japan, 2012. All rights reserved. 8
  9. 9. Oracle Coherence 3.7Elastic Data <distributed-scheme> <scheme-name>elastic-data</scheme-name> <service-name>DistributedCacheElasticData</service-name> <backing-map-scheme> <ramjournal-scheme/> </backing-map-scheme> </distributed-scheme> ※ ramjournal-scheme または flashjournal-scheme を指定ヒープにおける割合として指定:tangosol.coherence.ramjournal.size=25%サイズの指定:tangosol.coherence.ramjournal.size=12GB Copyright Oracle Corporation Japan, 2012. All rights reserved. 9
  10. 10. Oracle Coherence 3.7.1 POFアノテーション 固有インターフェース実装が不要 3.7以前  3.7.1~ ※ Javaだけでなく、.Net、C++でも同様の記述が可能 Copyright Oracle Corporation Japan, 2012. All rights reserved. 10
  11. 11. Oracle Coherence 3.7.1 REST API Coherence REST• RESTの特徴 • プラットフォーム非依存 • 言語非依存 Client REST HTTP Server • Firewallとの親和性 PHP/Perl/Java/ (local- JVM C/C++/Python/ XML • 軽い(転送量が少ない) Ruby/JavaScri JSON storage=false)• クライアントで実装可能な言語 pt etc APサーバ • HTTP通信プログラミングが可能な あらゆる言語 • C/C++、Java、JavaScript、 Python、Ruby、PHP、 TCMP JVM XML クラスタ .Net、など JSON • 結果はXMLかJSON形式で返され、 REST HTTP Server クライアント側での利用が容易 (local-• データアクセス方法 storage=false) • key-valueに対する APサーバ GET/PUT/DELETE JVM • クエリー、集計、 In-Place Processing 参考情報 http://www.oracle.com/technetwork/jp/middleware/coherence/learnmore/coherencerestdeployingguide-1495949-ja.pdf Copyright Oracle Corporation Japan, 2012. All rights reserved. 11
  12. 12. Oracle Coherence 3.7 パーティション・レベル・データ処理 • EntryProcessor 内での同一パーティション内のデータに 対する処理の一括化・効率化 – バックアップ作成コストの効率化(単一メッセージとして通信) – 複数スレッド処理による複雑性の排除 – KeyAssociation との併用public void process(Entry entry){ // 同一パーティション内の異なるキーに対する Value の読み取りや書き込み ((BinaryEntry)entry).getBackingMap().put(“otherkey”, value); // 同一パーティションから Entry として取得する InvocableMap.Entry entry = ((BinaryEntry)entry).getBackingMapContext().getBackingMapEntry(“somekey”); // 同一パーティションの異なるキャッシュ上のデータの更新 ((BinaryEntry)entry).getContext().getBackingMapContext(“othercache”) .getBackingMap().put(“othercachekey”, value);} Copyright Oracle Corporation Japan, 2012. All rights reserved. 12
  13. 13. Oracle Coherence 3.7 Extend Client 関連 • Extend Client から • ロードバランシング Proxy Server への接続 カスタマイズ拡張 記述の簡素化/自動検出 – proxy → Proxy の追加による サーバー側の統計情報に 基づいて接続先を決定 クライアント側の設定 (接続数、入出力待ち処理数など) 変更が不要 – client クライアント側設定に基づき ランダムに接続 自動 再接続 – カスタムExtend Extend カスタム・クラスを指定可能Client Client Copyright Oracle Corporation Japan, 2012. All rights reserved. 13
  14. 14. Oracle Coherence 3.7F5 Integration• F5 BIG-IP Local Traffic Manager との連携 • Extend Client のロードバランシング 設定を client として指定 • Proxy Server への割り振りを制御 - 接続設定や状況の監視を集約化 • SSL暗号化処理を LTM に委譲可能 - Proxy Server の暗号化処理による CPU負荷を軽減 【参考】 http://download.oracle.com/docs/cd/E18686_01/coh.37/e18678/appendix_f5.htm http://www.f5.com/pdf/deployment-guides/oracle-coherence-extend-dg.pdf Copyright Oracle Corporation Japan, 2012. All rights reserved. 14
  15. 15. Oracle Coherence 3.7 GlassFish Integration • Java EEサーバーのインメモリ・セッション共有を可能にする Coherence*Web機能をGlassFish 3.1 に即座に適用可能 → 同時ユーザー数向上、Appサーバー保守性向上に貢献 Newアプリ・コード/構成の WebLogic GlassFish 3.1変更なく適用可能 インメモリ・セッション共有構成だけの変更で適用可能 Tomcat、WebSphere、JBoss、GlassFish 2.x... Copyright Oracle Corporation Japan, 2012. All rights reserved. 15
  16. 16. Oracle Coherence 3.7JMX - クエリ・モニタリング • クエリ実行の統計情報 – Index情報 – Index使用/未使用の クエリに関する統計の管理  平均応答時間 (AvarageMillis)  総実行回数 (Count)  総実行時間 (TotalMillis) Copyright Oracle Corporation Japan, 2012. All rights reserved. 16
  17. 17. Oracle Coherence 3.7 その他 • シングル・クラスタにおける複数アプリケーション構成 (アプリケーション・アイソレーション) ClassLoader loader = ... – キャッシュ構成ファイルでスコープ CacheFactoryBuilder builder = CacheFactory.getCacheFactoryBuilder(); (<scope-name>)を設定 ConfigurableCacheFactory tradesCcf = builder.getConfigurableCacheFactory アプリケーション (tradesUri, loader); 両スコープにアクセス ConfigurableCacheFactory accountsCcf = builder.getConfigurableCacheFactory アプリケーション A アプリケーション B (accountsUri, loader); NamedCache trade = tradesCcf.ensureCache(..); …Trade Trade Accounts Accountsスコープの スコープのキャッシュ キャッシュ構成ファイル 構成ファイル 【参考】 http://download.oracle.com/docs/cd/E18686_01/coh.37/e18679/deploy_options.htm#CJADFGAH Copyright Oracle Corporation Japan, 2012. All rights reserved. 17
  18. 18. Oracle Coherence 3.7その他• POF 関連の改善 –Java、C++、.Net すべてで以下を同レベルにサポート • コレクション • DateTime 型 • CompositeKeys –POF設定ファイルの複数インクルード• CacheStore 経由による ReadThrough 処理で loadAll を利用(これまでは load の繰り返し呼び出し) Copyright Oracle Corporation Japan, 2012. All rights reserved. 18
  19. 19. Oracle Coherence 3.7その他• XMLスキーマ・バリデーション(設計時チェック機能)<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config" xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config coherence-cache-config.xsd"> Copyright Oracle Corporation Japan, 2012. All rights reserved. 19
  20. 20. Copyright Oracle Corporation Japan, 2012. All rights reserved. 20

×