29
InterSystems Symposia 2012 1 Caché新機能のご紹介 インターシステムズジャパン㈱ 営業部 テクニカルコンサルタント 岩本 知宏 ⼤量データ、⾼トランザクションを扱うアプリケーションの開発者のための先進テクノロジー 共通の製品属性 インターシステムズ製品 Caché Caché Ensemble Ensemble DeepSee DeepSee 迅速アプリケーション開発と運⽤ ⼩規模システムから⼤規模システム 卓越した⾼性能、⾼スケーラビリティ 簡潔性、管理とサポートの ⼿間の少なさ 共通の製品属性 DeepSee DeepSee ⾼信頼性と⾼可⽤性

InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

1

Caché新機能のご紹介

インターシステムズジャパン㈱営業部

テクニカルコンサルタント岩本 知宏

⼤量データ、⾼トランザクションを扱うアプリケーションの開発者のための先進テクノロジー

共通の製品属性

インターシステムズ製品

CachéCaché

EnsembleEnsemble

DeepSeeDeepSee

• 迅速アプリケーション開発と運⽤• ⼩規模システムから⼤規模システム

卓越した⾼性能、⾼スケーラビリティ• 簡潔性、管理とサポートの

⼿間の少なさ

共通の製品属性

DeepSeeDeepSee • ⾼信頼性と⾼可⽤性

Page 2: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

2

Cachéの位置付け

ソリューション

単⼀プラットフォーム戦略単⼀プラットフォーム戦略

ISCISC全製品の開発・全製品の開発・実⾏プラットフォー実⾏プラットフォー

量的・質的分析量的・質的分析

洞察洞察

アプリケーションアプリケーション,,ユーザーユーザー,,

コミュニティとの接続コミュニティとの接続

接続性接続性

DeepSeeDeepSee EnsembleEnsemble

CachéCaché

ムとしての位置付けムとしての位置付けは今後も不変は今後も不変。。積極積極的的なエンハンスなエンハンスを継続。を継続。

構造化データ、⾮構造化データ構造化データ、⾮構造化データの保存・検索・共有の保存・検索・共有

情報情報CachéCaché

リリースサイクル

• V5.2以降はリリース年をバージョン番号に使⽤年代 [1|2] [メンテナンスバージョン]年代.[1|2].[メンテナンスバ ジョン]例) V2012.1.1

• メジャーリリースは年に1〜2度のペースV2012.1.0 2012/2/8V2012.2.0 2012後半

• 不定期なメンテナンスリリースV2012.1.1 2012/3/30

4

Page 3: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

3

2010 22011.1

2012.12012.2?

リリース履歴Apple Mac OS X /x86-64HP HP-UX 11i /ItaniumHP HP-UX 11i /PA-RISC-64 HP OpenVMS /Alpha HP OpenVMS /Itanium IBM AIX /System P-32 IBM AIX /System P-64

5.05.1

5.22007.1

2008.12008.2

2009.12010.1

2010.2yMicrosoft Windows /x86-32Microsoft Windows /x86-64 Oracle Enterprise Linux/x86-64 Oracle Solaris /SPARC-64 Oracle Solaris /x86-64 Red Hat Enterprise Linux /x86-32 Red Hat Enterprise Linux /x86-64 SUSE Linux Enterprise Server /x86-32 SUSE Linux Enterprise Server /x86-64Ubuntu

5.0

2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013

WindowsWindowsVistaVista

WindowsWindowsVistaVista

WindowsWindows20082008

WindowsWindows20082008 Windows7Windows7Windows7Windows7

初代初代iPadiPad初代初代iPadiPad iPad2iPad2iPad2iPad2 iPad3iPad3iPad3iPad3←←

2001/102001/10Windows Windows

XPXP

←←2001/102001/10Windows Windows

XPXP

Windows8Windows8??????

Windows8Windows8??????

Windows Windows 20032003

Windows Windows 20032003

Windows Windows 2003/x642003/x64Windows Windows 2003/x642003/x64

リリースサイクル

• メリット• 最新機能のよりスピーディな提供最新機能 り ィな提供• リリース時期の予測が容易

• デメリット• リリースの焦点(⽬⽟)が分かりにくい

6

Page 4: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

4

本セッションの⽬的

• 開発・リリースサイクルに時間要素を取り⼊れたCachéの変更点を整理、要約

• 原則カテゴリ別に整理、カテゴリ横断的に改良のあったものは集約

• 広く、浅く全般をご紹介。

カテゴリ• 開発

• 迅速なアプリケーション開発新しく追加された機能、APIやサポートした規格など

• パフォーマンス• パフォーマンスとスケーラビリティ特定のAPI、タスク、データベースエンジン⾼信頼性等• ⾼信頼性等• 信頼性、可⽤性、保守性、監視バックアップ,シャドー、ミラー等

• セキュリティ8

Page 5: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

5

V2010.1以降の主要な変更開発 パフォーマンス 高信頼性等 セキュリティ

2010.1ダイナミック SQL ECP のスケーラビリティの向上 DataCheck 代行認証と代行承認の分離

Java ダイナミック・オブジェク クラス・コンパイラとルーチン配シャドウイングでの圧縮

http://docs.intersystems.com/cache20121j/csp/docbook/DocBook.UI.Page.cls?KEY=GCRN

ト・インタフェース 信の機能向上シャドウイングでの圧縮

ECP の応答性のメトリック

2010.2Java イベント処理 DB 拡張の向上Caché のデータベース・ミラーリング

2要素認証

WS-Policy 大きなローカル配列 WS-Management OpenAM のサポート

SOAP 構成ウィザードデジャーナルのパフォーマンスの向上

データベースの圧縮 シャドウ・ファイルの暗号化

MultiValue インデックスの向上$PIECE/$FIND のパフォーマンスの改善

データベースCACHE追加

HotJVMを使用したZENレポートCaché データベースのブロックサイズ変換

2011.1複数セッションのコールバック・イベント

クラス・コンパイラのパフォーマンス向上

Caché 管理ポータルの改善CSP 制御とは別に行われる Web サービス制御

複数のジョブを使用するコンパイWebStress テスト機能

複数のジョブを使用するコンパイル

ミラーリングの強化 CSPの2要素認証

新らしいDeepSee大規模なルーチンおよびクラスのサポート

Caché モニタ履歴データベース Web サービス・ライセンス

ジャーナリングへの追加 マネージド暗号化キー

2012.1 iKnow ストリームのパフォーマンス向上ZENレポート・レンダーサーバの管理

CSPゲートウェイとCachéのSSL接続

システムモニター WS-SecureConversationタスクマネージャ管理の改善

9

迅速なアプリケーション開発

Page 6: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

6

迅速なアプリケーション開発

• ダイナミックSQL• ⾔語バインディング関連• ⾔語バインディング関連• WebService (WS-*)• DeepSee

11

ダイナミックSQL• 新しいクラス%SQL.Statement 導⼊

• 豊富なオプション• スキーマの指定• 複数⾏に渡ったクエリ指定• ・・・

• ⾼パフォーマンス• %ReseultSetに⽐べて⾼速(2倍近いケースも)%ReseultSetに⽐べて⾼速(2倍近いケ スも)

• Shell機能の拡充

12

Page 7: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

7

ダイナミックSQLSET myquery = "SELECT Name,DOB FROM Sample.Person"

SET st=$ZHSET tStatement = ##class(%SQL.Statement).%New() SET qStatus = tStatement.%Prepare(myquery)FOR i 1:1:1000 {FOR i=1:1:1000 {

SET rset = tStatement.%Execute()WHILE rset.%Next() { Set n=rset.Name,dob=rset.DOB }

}w $ZH-st,!

SET st=$ZHSET rset = ##class(%ResultSet).%New("%DynamicQuery:SQL")SET qStatus = rset.Prepare(myquery)FOR i=1:1:1000 {

SET sts = rset %Execute()

13

SET sts rset.%Execute()WHILE rset.Next() { Set n=rset.Data("Name"),dob=rset.Data("DOB") }

}w $ZH-st,!

SAMPLES>d ^bench2.3262534.145654

SQL ShellSAMPLES>d $SYSTEM.SQL.Shell()SQL Command Line Shell----------------------------------------------------The command prefix is currently set to: <<nothing>>.Enter q to quit, ? for help.SAMPLES>> t th lSAMPLES>>set path=samplepath = sampleSAMPLES>>set selectmode=logicalselectmode = logicalSAMPLES>>select ID,Name,DOB from employee where ID=2001. select ID,Name,DOB from employee where ID=200ID Name DOB200 Klein,Patricia A. 364771 Rows(s) Affectedstatement prepare time: 0.1694s, elapsed execute time: 0.0003s.---------------------------------------------------------------------------

14

SAMPLES>>set selectmode=odbcselectmode = odbcSAMPLES>>select ID,Name,DOB from employee where ID=2002. select ID,Name,DOB from employee where ID=200ID Name DOB200 Klein,Patricia A. 1940-11-141 Rows(s) Affectedstatement prepare time: 0.0019s, elapsed execute time: 0.0006s.---------------------------------------------------------------------------SAMPLES>>

Page 8: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

8

⾔語バインディング関連• 新しいJava⽤バインディング技術群の提供

• Globals API (旧MDS API)ダイナ クオブ クト• ダイナミックオブジェクトAPI

• XEP• In-process JDBC

• JNIを利⽤した⾼効率なインターフェース群• JavaとCachéカーネルをインメモリで結合• Call Inメカニズム• Call-Inメカニズム• JavaのHeapの使⽤を最⼩限に抑えつつ、⼤容量メモリへのアクセ

スを可能にする• 既存Javaプログラマ、Javaコミュニティを意識

• 今後、他⾔語(.NETやnode.js)へ拡張15

• Globals API • Set 命令に相当

Set ^patient(12345)="…"

Cachéカーネルとの関係

Set patient(12345)

• ダイナミックオブジェクトAPI• ダイナミックオブジェクトアクセスに相当。• サーバ側のオブジェクトレイヤーは使⽤しない。 (⼀部制約あり)

Set p=$CLASSMETHOD("Sample.Person","%New")

• XEP• オブジェクトアクセスに相当。オブジェクトアクセスに相当。• サーバ側のオブジェクトレイヤーは使⽤しない。 (⼀部制約あり)• JPAライクなアノテーション• サーバ側に相当API無し

• In-process JDBC• JDBCアクセスに相当16

Page 9: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

9

European Space Agency

•• ゴールゴール: : 最⼤で最も正確な我々の銀河の最⼤で最も正確な我々の銀河の33次元次元マップを作るマップを作る

•• 55年以上に渡り、年以上に渡り、1010億個の星の地図上の位置、億個の星の地図上の位置、移動、明るさを正確にモニターする移動、明るさを正確にモニターする

•• 何百、何千という新しい天体を発⾒すること何百、何千という新しい天体を発⾒することを期待するを期待する

課題: 10億個の天体のデ タを取得する課題: 10億個の天体のデータを取得する1,000,000,000 オブジェクト

X 100 オブジェクト当たりの観察X 600 観察当たりのバイト数

60,000,000,000,000 (60TB)

European Space Agency

実証実験環境実証実験環境System Information / Details

Server One 8‐core Intel‐based system

OS RedHat Enterprise Linux 5.5 (2.6.18‐194.el5), 64‐bit

Memory 32GB RAM 11GB allocated to Caché (global buffers)

File System ext3

Storage NetApp FAS3160 with 176 x 1 TB SATA disks @ 7200 RPM

Network 10 GigE, single‐port, single‐channel, Jumbo Frames enabled

Connection between host and

storage

iSCSI over 10 GigE

Caché Version 2010.2, Field Test 6 (plus ad‐hoc updates)

Item Value

Number of AstroElementary objects ingested 5,000,000,000

Total run time 44,616 seconds (~12.5 hours)

Target (allotted) run time 86,400 seconds (24 hours)

Average ingestion rate 112,000 objects/second

結果結果

Page 10: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

10

European Space Agency• チャレンジ

• 補正・調整⽤データ算出に使⽤するデータの取り込み• 500億(100TB)オブジェクトを5⽇でデータロード (イン500億(100TB)オブジェクトを5⽇でデ タロ ド (イン

デックス付き)• データロード効率と検索効率の両⽴

• ベンチマーク結果• ベンチマーク環境でのH/W性能補正後のターゲット

• 50億オブジェクを24時間でロード

19

• 実測結果• 50億オブジェクを約12.5時間でロード

(112,000レコード/秒)

XEPの例{

String className = "mytest.SimpleData";EventPersister persister;mytest.SimpleData data;

persister = new EventPersister();persister.connect("USER","_SYSTEM","SYS");try{

persister.importSchema(className);} catch (Exception e) {

System.out.println("importSchema (" + className + ") failed:¥n" + e);}

Event event = persister.getEvent(className);

20

p g ( )data = new mytest.SimpleData();data.itemName="ABC"; data.num=100;event.store(data);event.close();persister.close();

}

Page 11: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

11

XEPの例package mytest;

import com.intersys.xep.annotations.Index;import com.intersys.xep.annotations.IndexType;i i i I diimport com.intersys.xep.annotations.Indices;

@Indices({@Index(name="idxName",fields={"itemName"},type=IndexType.simple)})

public class SimpleData {String itemName;int num;

21

int num;}

Globalsについて

• 無償データベースエンジンとして提供

• グロ バル変数へのアクセス• グローバル変数へのアクセス

• 高スループットAPI群の提供• Java (Globals API)• .NET• Node.JS

• コミュニティーにより運営

http://globalsdb.org/22

Page 12: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

12

DeepSee• ユーザにデータに関する洞察を提供するためにアプリケー

ションにActive Analytics機能を付加するための機能• Caché/Ensembleに同梱

23

DeepSee 構成ツール群

AnalyzerAnalyzer データデータの分析とピボット作成の分析とピボット作成

ArchitectArchitect データモデルの定義データモデルの定義

yy

DesignerDesignerダッシュボード作成ダッシュボード作成

スキーマ定義・データスキーマ定義・データ

User PortalUser Portal ポータル画⾯ポータル画⾯

分析分析モデル定義モデル定義

アプリケーション画⾯作成アプリケーション画⾯作成

Page 13: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

13

DeepSee紹介セミナーhttps://www.intersystems.co.jp/education/training/free-deepsee-list.phpホ ム サポ ト 教育サ ビ インタ シ ムズ教育サ ビ[ホーム][サポート&教育サービス][インターシステムズ教育サービス]

[DeepSee 教育サービス ]

25

WebService• SOAベースのシステム連携の基盤• WS-SecurityPolicy対応

• セキュリティポリシーを記述するための仕組み• Ensemble/HealthShareでの需要増⼤の反映

• 医療情報交換基盤で必要とされる、様々なシナリオでセキュアな接続を提供

(特定の医師と特定の医師間で秘匿通信を実現するなど)• 下記の仕様に関して、API及びウィザードを提供

• Web Services AddressingWeb Services Addressing• WS-MTOMPolicy• WS-SecureConversation

• WS-Trust

26

Page 14: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

14

WS構成ウィザード

27

WebService• WS-Management

• 様々な管理対象の情報にアクセスするための共通⼿段を提供するWebサービス仕様

• 遠隔のCaché/Ensembleのモニタリング機能を提供• Caché Monitoring Web Service• Caché Web Client• Event Sinkサンプル実装

28

Page 15: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

15

WS-Managementの使⽤例Set client=##class(SYS.WSMon.Client).%New()Set client.Location="http://127.0.0.1:57776/csp/sys/SYS.WSMon.Service.cls"Set client.Timeout=10 S t d t t li t E D t b ()Set dataset=client.EnumDatabase()While (dataset.Next()) {Write dataset.Data("Name"),!

}

%SYS>Do ^enumCACHESYSCACHELIBCACHETEMPCACHE

29

CACHECACHEAUDITDOCBOOKSAMPLESSAMPLES2SAMPLES2AUSER%SYS>

パフォーマンスとスケーラビリティ

Page 16: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

16

パフォーマンスとスケーラビリティ

• ECP のスケーラビリティの向上• コンパイラ性能向上• コンパイラ性能向上• メモリサイズ

• ⼤規模なルーチンおよびクラスのサポート• ⼤きなローカル配列

• デジャ ナルのパフォ マンスの向上• デジャーナルのパフォーマンスの向上• HotJVMを使⽤したZENレポート• ジャーナリングへの追加31

パフォーマンスとスケーラビリティ• ECP のスケーラビリティの向上

• DISK I/Oを伴う更新処理とキャッシュのみで完結する参照処理の並列稼働性能を向上理の並列稼働性能を向上

• コンパイラ性能向上• スーパクラスの情報をサブクラスに持たせない構造に変更

• ルーチンのディスパッチ処理の⾼速化に伴う改善• コンパイルに複数コアを使⽤可能• コンパイルに複数コアを使⽤可能

• Do $SYSTEM.OBJ.CompileAll("/multicompile")

• 1000〜2500程度のクラス数でコンパイル性能が3〜4倍向上した例も

• 処理の⼀部をカーネルに移動32

Page 17: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

17

パフォーマンスとスケーラビリティ

• メモリサイズ• ⼤規模なルーチンおよびクラスのサポート⼤規模なル チンおよびクラスのサポ ト

• ルーチン(OBJ)サイズ上限を64KBから8MBに拡⼤• プロパティ数1000、メソッド数2000

• ⼤きなローカル配列のサポート⼤きなロ カル変数のアクセス性能を向上• ⼤きなローカル変数のアクセス性能を向上

• プロセスのプライベート領域を48MBまで拡張可能• 次バージョンで"無制限"化 (2TB)

33

⼤きなローカル配列

34

Page 18: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

18

パフォーマンスとスケーラビリティ

• HotJVMを使⽤したZENレポート• ZENレポートで使⽤するJVMをバックグラウンドZENレポ トで使⽤するJVMをバックグラウンド

で起動・維持• pdfページ描画スループットを向上• SMPからの構成画⾯の追加

35

ZENレポート

• 組み込みの帳票ソリューション• XMLベースの定義• XMLベ スの定義• PDF, XHTML出⼒• 組版 FOP (Apache), XEP PDF(RenderX)• 次期バージョンから、順次GUIデザイナ提供開始

36

Page 19: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

19

パフォーマンスとスケーラビリティ• シャドーイング

• ジャーナルファイルを圧縮して転送

Set RestOref=##class(Journal.Restore).%New()S R O f Fi Fil "20120522 004"

• ジャーナリング• デジャーナルを⾼速化

• プリフェッチのチューニング• コンテンションの低下

• プログラムから利⽤可能なでジャーナルAPIを追加

37

Set RestOref.FirstFile="20120522.004"Set RestOref.LastFile="20120522.004"

Set Status=RestOref.SelectUpdates("c:¥intersystems¥sympo¥mgr¥samples2¥","a*")Set Status=RestOref.Run()

信頼性、可⽤性、保守性、監視

Page 20: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

20

信頼性、可⽤性、保守性、監視

• データベース・ミラーリング• DataCheck• DataCheck• データベースのブロックサイズ変換• モニタ履歴データベース

39

データベース・ミラーリングミラーは2メンバで構成されるグループ。 1台はプライマリとして、他⽅はバックアップとして動作

データはプライマリからバックアップに流れる。その後Ackはバックアップからプライマリに流れる

12

バックアップ側の更新はプライマリ側のジャーナルプロセスと

3

Caché

BACKUP

Agent

Caché

Agent

PRIMARY

MIRROR

ACK

DATA

AGENT

ECP Connection

ECP App Server

ECP App Server

ECP App Server

ECP App Server

Mirro

r Virtu

al IP

*DBC/SQL

Bindings

Direct Connect

Web Clients

Caché

BACKUP

Agent

Caché

Agent

PRIMARY

MIRROR

ACK

DATA

AGENT

ECP Connection

ECP App Server

ECP App Server

ECP App Server

ECP App Server

Mirro

r Virtu

al IP

*DBC/SQL

Bindings

Direct Connect

Web Clients

して動作。 る。 ジャ ナルプロセスと同期される。

ECP App Server Direct ConnectECP App Server Direct Connect

外部システムはミラーの仮想IPアドレスで接続。

4ECP APサーバ(群)はプライマリに接続する。(オプションナル)

5

40

Page 21: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

21

データベース・ミラーリング• ミラーの設定はデータベース毎• ミラー設定されたデータベースはジャーナル取得対象になる• アプリケーションからはフェールオーバはサーバの再起動のように⾒

える• あらゆるクライアント(バインディング、xDBC, CSP, Studio…)は

再接続する必要がある• ECP APサーバはフェールオーバが完了するまで停⽌後、切り替え

後のサーバとの間で処理を継続する• ミラー先のデータベースは読み込み専⽤• データベース(cache.dat)内のデータのみが同期される対象

• その他ファイルは別の⼿段で同期・共有される必要がある41

DataCheck

• 論理レベルのデータの⼀貫性を確認するツール• 別インスタンス(別ノード)との⽐較( )• シャドー、ミラーとの併⽤• アプリケーションでの使⽤

DataCheck Destination System: loopbackResults for check started: 2012-05-22 14:49:08

ended: 2012-05-22 14:50:14C:¥InterSystems¥sympo¥mgr¥samples¥ ^Sample.PersonD Unmatched^Sample.PersonD --Matched--> ^Sample.PersonD(32)^Sample.PersonD(32) --Unmatched--> ^Sample.PersonD(64)^Sample.PersonD(64) --Matched--> [end]

42

C:¥InterSystems¥sympo¥mgr¥samples¥ ^Sample.PersonI Unmatched^Sample.PersonI --Matched--> ^Sample.PersonI("$Employee",1)^Sample.PersonI("$Employee",1) --Unmatched--> ^Sample.PersonI("NameIDX"," FAUST,MARK B.",36)^Sample.PersonI("NameIDX"," FAUST,MARK B.",36) --Matched--> ^Sample.PersonI("NameIDX"," MASSIAS,VINCENT C.",43)^Sample.PersonI("NameIDX"," MASSIAS,VINCENT C.",43) --Unmatched--> ^Sample.PersonI("NameIDX"," QUIGLEY,BUZZ O.",7)^Sample.PersonI("NameIDX"," QUIGLEY,BUZZ O.",7) --Matched--> [end]

C:¥InterSystems¥sympo¥mgr¥samples¥ ^test Unmatched^test --Matched--> ^test(1)^test(1) --Unmatched--> [end]

Page 22: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

22

データベースのブロックサイズ変換

• Caché データベースのブロックサイズ変換• データベースの内容をコピーするAPIを追加デ タ スの内容をコピ するAPIを追加• ブロックサイズの指定が可能• コピー先のDBは⾼充填率で作成

Set x=##Class(SYS.Database).Copy("C:¥db¥samples2¥","C:¥db¥samples2a¥")

43

モニタ履歴データベース• 管理ユーティリティ^%MONAPPMGR 提供• パフォーマンス、システム利⽤の各種メトリックスの履歴パフォ マンス、システム利⽤の各種メトリックスの履歴

を保持 (SQLテーブル)• パフォーマンスの基準を設定するために使⽤• パフォーマンスの問題解決の情報源• プラニングのためのシステム使⽤量の分析• カスタマイズ• 時間単位、⽇付単位で⾃動サマライズ、⾃動パージ• 常駐・⾃動実⾏ (%MONAPPプロセス)44

Page 23: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

23

• パフォーマンス収集データ例 (30秒単位)

モニタ履歴データベース

• システム使⽤収集データ例 (5分単位)

45

モニタ履歴データベース• 蓄積されたパフォーマンスデータ例 (1⽇単位)

300

400

500

600

700

Perf_GloRef

Perf_GloRefRem

46

0

100

200

300

1 2 3 4 5 6

Perf_GloUpdate

Page 24: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

24

セキュリティ

セキュリティ• WS-*• 2要素認証

• モバイルデバイスを利⽤した認証 (トークンの送信)• OpenAM との連携

• Policy Agent+Glassfishとの相互運⽤性を確認 (環境変数渡し)• APIからの認証• CSPページの保護

• 暗号化関連暗号化関連• スーパサーバのSSL/TLSサポート

• シャドー接続、ミラー接続、各種クライアント接続• クライアントツール, APIのSSL/TLSサポート• OPENコマンド、https, pop3s,smtps,soap…• ジャーナルファイル暗号化48

Page 25: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

25

その他、有⽤な機能

その他、有⽤な機能• %Installerパッケージ

• アプリケーション⽤のセットアップを⾏うためのAPI• データベース作成• ファイルコピー• データ、ルーチン、パッケージのインポート• 実⾏• …

• Cachéのインストーラからキック可能

50

Page 26: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

26

%Installer使⽤例Class Custom.Installer.Install Extends %RegisteredObject{

ClassMethod ChangeJournalOptions(PrimaryDirectory As %String, AlternateDirectory As %String) As %Status{

set Props("CurrentDirectory")=PrimaryDirectoryset Props("AlternateDirectory")=AlternateDirectoryset sc=##class(Config Journal) Modify( Props)set sc=##class(Config.Journal).Modify(.Props)quit sc

}XData Install [ XMLNamespace = INSTALLER ]{<Manifest>

<Namespace Name="%SYS" Create="no"><Invoke Class="Custom.Installer.Install" Method="EnableWMI"/><CopyFile Src="${SourceFileDir}¥cache.key" Target="${MGRDIR}¥cache.key"/><Invoke Class="%SYSTEM.License" Method="Upgrade" CheckStatus="false"/><Invoke Class="Custom.Installer.Install" Method="ChangeJournalOptions"><Arg Value="${PrimaryJournalDir}"/><Arg Value="${AlternateJournalDir}"/>

51

<Arg Value="${AlternateJournalDir}"/></Invoke><Invoke Class="Custom.Installer.Install" Method="ChangeMemoryOptions"><Arg Value="${EightKBGlobals}"/><Arg Value="${RoutineBuffers}"/></Invoke><If Condition="${EnableTelnet}=1"><Invoke Class="Custom.Installer.Install" Method="EnableTelnet"/>

</If></Namespace>

</Manifest>}

}

%Installer使⽤例

C:¥>msiexec /i cache_x86.msi /qnUNICODE=1INSTANCENAME=CacheTestINSTALLDIR=C:¥InterSystems¥CacheTest INSTALLERMANIFEST=C:¥temp¥DefaultInstallerClass.xml SERVICEAUTOSTART=1 INITIALSECURITY=None/l C:¥temp¥CacheInstall.log

52

Page 27: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

27

V2012.2について

V2012.2

開発 パフォーマンス 高信頼性等 セキュリティ

GUIベースのレポートライタ ECPロールバックの性能改善ミラーリングのDR対応の簡素化

PKI機能応の簡素化

iKnowの強化AES処理にハード支援機能を利用

UNIXインストーラの改善

iKnow非構造化データの分析HTML5ZENレポート-アラビア語対応正規表現Node.jsサポート無制限のローカル変数領域.NET eXtreme

54

.NET eXtremeTCP経由でのJava eXTreme.NET 4.0コンポーネントロングストリング初期値有効

Page 28: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

28

ハイライト• GUIベースのレポートライタ

• ZENレポートのGUIエディタ。評価/フィードバック⽤に同梱。

• HTML5ZENペ ジのデフォルトDoctype• ZENページのデフォルトDoctype

• スマートフォン対応 (+新コンポーネント)• IE9でのSVG描画 (SVG Viewer不要)

• eXTreme• .NET対応• node.js対応• TCP/IP越えのアクセス対応TCP/IP越えのアクセス対応

• メモリ関連• 無制限のローカル変数領域 (〜2TB)• ロングストリング初期値有効 (3,641,144 B)

• PKI• CA機能、キーの発⾏・管理機能55

まとめ

• Cachéは引き続きエンハンスメントの中⼼• 全プロダクトのエンハンスに繋がるクト 繋

• 常にパフォーマンス向上を最重視• 最新の環境への対応を継続

• 最新プラットフォームに加え、クラウド、スマートフォン、新H/W(チップ)

最新の機能をお試しいただくために是⾮バージョンアップをご検討ください56

Page 29: InterSystems Symposia 2012...InterSystems Symposia 2012 4 本セッションの 的 • 開発・リリースサイクルに時間要素を取り れた Cachéの変更点を整理、要約

InterSystems Symposia 2012

29

「InterSystems FAQ」のお知らせ

キ ド トピ ク検索が 能になりキーワードでのトピック検索が可能になり参照の多いトピックのご紹介や

関連トピックの相互参照機能などを追加いたしました。

より使いやすくなったFAQサイトを是非ご活用ください。

http://faq.intersystems.co.jp

57

InterSystemsでは、お客様の疑問や不明点を速やかに解消できるよう、ウェブサイトにFAQを掲載し、定期的に内容を更新しています。