Interstage BPM Monitoring インストールガイド 9.0
目次 前ページ次ページ

付録B DB表領域の見積り 〜アクティビティモニタ〜> B.4 イベント格納データベース(Symfoware)

B.4.2 索引サイズの見積もり

■業務イベントを格納するテーブルの索引サイズの見積もり

以下に業務イベントを格納するテーブルに定義されたBPM Monitoringシステムが使用する索引の情報を示します。索引サイズの見積もりは、Symfowareのマニュアルを参照して見積もりを行ってください。

BPM Monitoringが使用する索引:

索引

索引構成列

データ型(サイズ)

Unique索引

B_EID

VARCHAR(14)

Non-Unique索引

B_OT

TIMESTAMP

データ件数の見積もりは「B.1 イベント格納データベースでのレコード数の算出(DB共通)」を参照してください。

任意の属性に対して索引を定義する場合は、別途、索引サイズを見積もってください。

業務イベントを格納するテーブルの索引サイズの見積もり例

以下に見積もり例を示します。

データ部の見積もり例:
行数 : 100,000 行
エントリ長A(索引構成列がB_EID) : 27バイト
エントリ長B(索引構成列がB_OT) : 24バイト

ブロックサイズ : 2048 バイト
1ブロック内の空き領域 : 1938 バイト

セクション長A = 27 ×  10 + 2 = 272
1ページ内に格納できるセクション数A = 1938 ÷ 272 ≒ 7 (小数以下切捨て)
1ページ内エントリ数A = (272 / 27) ×  7 ×  0.5 = 35

セクション長B = 24 ×  10 + 2 = 242
1ページ内に格納できるセクション数B = 1938 ÷ 242 ≒ 8 (小数以下切捨て)
1ページ内エントリ数B = (242 / 24) ×  8 ×  0.5 = 40

よって、
データ部見積もり量A = (行数 ÷ 1ページ内に格納できる行数) × ブロックサイズ
= ((100,000 / 35) + 1) ×  2048 ≒ 5718 キロバイト
データ部見積もり量B = (行数 ÷ 1ページ内に格納できる行数) × ブロックサイズ
= ((100,000 / 40) + 1) ×  2048 ≒ 5002 キロバイト

インデックス部の見積もり例:
行数 : 100,000 行
エントリ長A(索引構成列がB_EID) : 23バイト
エントリ長B(索引構成列がB_OT) : 20バイト

ブロックサイズ : 2048 バイト
1ブロック内の空き領域 : 1938 バイト

セクション長A = 23 ×  10 + 2 = 232
1ページ内に格納できるセクション数A = 1938 ÷ 232 ≒ 8 (小数以下切捨て)
1ページ内エントリ数A = (232 / 23) ×  8 ×  0.5 = 40

セクション長B = 20 ×  10 + 2 = 202
1ページ内に格納できるセクション数B = 1938 ÷ 202 ≒ 9 (小数以下切捨て)
1ページ内エントリ数B = (202 / 20) ×  9 ×  0.5 = 45

データ部とインデックス部それぞれの1ページ内エントリ数Aおよび行数より、
インデックス部ページ数A = 75
データ部とインデックス部それぞれの1ページ内エントリ数Bおよび行数より、
インデックス部ページ数B = 59

よって、
インデックス部見積もり量A = (インデックス部ページ数A + 1) × ブロックサイズ
= (75 + 1) ×  2048 = 152 キロバイト
インデックス部見積もり量B = (インデックス部ページ数B + 1) × ブロックサイズ
= (59 + 1) ×  2048 = 120 キロバイト

■集計イベントを格納するテーブルの索引サイズの見積もり

集計イベントを格納するテーブルは、集計イベント定義の数だけ作成されます。各テーブルには、BPM Monitoringがサポートするデータ型の属性を任意の数だけ定義できます。

以下に集計イベントを格納するテーブルに定義されたBPM Monitoringシステムが使用する索引の情報を示します。索引サイズの見積もりは、Symfowareのマニュアルを参照して見積もりを行ってください。

BPM Monitoringが使用する索引:

索引

索引構成列

データ型(サイズ)

Unique索引

B_EID

VARCHAR(14)

Non-Unique索引

B_OT

TIMESTAMP

Non-Unique索引

B_SID

VARCHAR(14)

B_OT

TIMESTAMP

データ件数の見積もりは「B.1 イベント格納データベースでのレコード数の算出(DB共通)」を参照してください。

任意の属性に対して索引を定義する場合は、別途、索引サイズを見積もってください。

集計イベントを格納するテーブルの索引サイズの見積もり例

以下に見積もり例を示します。

データ部の見積もり例:
行数 : 100,000 行
エントリ長A(索引構成列がB_EID) : 27バイト
エントリ長B(索引構成列がB_OT) : 24バイト
エントリ長C(索引構成列がB_SIDとB_OT) : 31バイト

ブロックサイズ : 2048 バイト
1ブロック内の空き領域 : 1938 バイト

セクション長A = 27 ×  10 + 2 = 272
1ページ内に格納できるセクション数A = 1938 ÷ 272 ≒ 7 (小数以下切捨て)
1ページ内エントリ数A = (272 / 27) ×  7 ×  0.5 = 35

セクション長B = 24 ×  10 + 2 = 242
1ページ内に格納できるセクション数B = 1938 ÷ 242 ≒ 8 (小数以下切捨て)
1ページ内エントリ数B = (242 / 24) ×  8 ×  0.5 = 40

セクション長C = 31 ×  10 + 2 = 312
1ページ内に格納できるセクション数C = 1938 ÷ 312 ≒ 6 (小数以下切捨て)
1ページ内エントリ数C = (312 / 31) ×  6 ×  0.5 = 30

よって、
データ部見積もり量A = (行数 ÷ 1ページ内に格納できる行数) × ブロックサイズ
= ((100,000 / 35) + 1) ×  2048 ≒ 5718 キロバイト
データ部見積もり量B = (行数 ÷ 1ページ内に格納できる行数) × ブロックサイズ
= ((100,000 / 40) + 1) ×  2048 ≒ 5002 キロバイト
データ部見積もり量C = (行数 ÷ 1ページ内に格納できる行数) × ブロックサイズ
= ((100,000 / 30) + 1) ×  2048 ≒ 6670 キロバイト

インデックス部の見積もり例:
行数 : 100,000 行
エントリ長A(索引構成列がB_EID) : 23バイト
エントリ長B(索引構成列がB_OT) : 20バイト
エントリ長C(索引構成列がB_SIDとB_OT) : 27バイト

ブロックサイズ : 2048 バイト
1ブロック内の空き領域 : 1938 バイト

セクション長A = 23 ×  10 + 2 = 232
1ページ内に格納できるセクション数A = 1938 ÷ 232 ≒ 8 (小数以下切捨て)
1ページ内エントリ数A = (232 / 23) ×  8 ×  0.5 = 40

セクション長B = 20 ×  10 + 2 = 202
1ページ内に格納できるセクション数B = 1938 ÷ 202 ≒ 9 (小数以下切捨て)
1ページ内エントリ数B = (202 / 20) ×  9 ×  0.5 = 45

セクション長C = 27 ×  10 + 2 = 272
1ページ内に格納できるセクション数C = 1938 ÷ 272 ≒ 7 (小数以下切捨て)
1ページ内エントリ数C = (272 / 27) ×  7 ×  0.5 = 35

データ部とインデックス部それぞれの1ページ内エントリ数Aおよび行数より、
インデックス部ページ数A = 75
データ部とインデックス部それぞれの1ページ内エントリ数Bおよび行数より、
インデックス部ページ数B = 59
データ部とインデックス部それぞれの1ページ内エントリ数Cおよび行数より、
インデックス部ページ数C = 100

よって、
インデックス部見積もり量A = (インデックス部ページ数A + 1) × ブロックサイズ
= (75 + 1) ×  2048 = 152 キロバイト
インデックス部見積もり量B = (インデックス部ページ数B + 1) × ブロックサイズ
= (59 + 1) ×  2048 = 120 キロバイト
インデックス部見積もり量C = (インデックス部ページ数C + 1) × ブロックサイズ
= (100 + 1) ×  2048 = 202 キロバイト

■アラートを格納するテーブルの索引サイズの見積もり

以下にアラートを格納するテーブルで、BPM Monitoringシステム用に定義する索引の情報を示します。索引サイズの見積もりは、Symfowareのマニュアルを参照して見積もりを行ってください。

BPM Monitoringが使用する索引:

索引

索引構成列

データ型(サイズ)

Unique索引

AlertId

VARCHAR(14)

Non-Unique索引

RuleId

VARCHAR(14)

Non-Unique索引

Priority

NUMERIC(3)

Non-Unique索引

Severity

NUMERIC(2)

Non-Unique索引

Availability

NUMERIC(1)

Non-Unique索引

OccurrenceTime

TIMESTAMP

Non-Unique索引

CausedBusinessId

VARCHAR(14)

Non-Unique索引

CasuedEventGroupId

VARCHAR(14)

Non-Unique索引

CausedEventId

VARCHAR(14)

Non-Unique索引

AlertName

VARCHAR(128)

アラートを格納するテーブルの索引サイズの見積もり例

以下に見積もり例を示します。

データ部の見積もり例:
アラート率 : 1%
評価イベント数 : 100,000 行
アラート行数 : 100,000 ×  0.01 = 1,000
エントリ長A(索引構成列がAlertId) : 30バイト
※索引構成列が、RuleId, CausedBusinessId, CausedEventGroupId, CausedEventIdの索引はこれと同様。
エントリ長B(索引構成列がPriority) : 22バイト
※索引構成列が、Severity、Availabilityはエントリ長が21バイトであるため索引はこれと同様とみなす。
エントリ長C(索引構成列がOccurrenceTime) : 25バイト
エントリ長D(索引構成列がAlertName) :54 バイト
エントリ長E(索引構成列がEscResult) : 22バイト

ブロックサイズ : 1024 バイト(索引構成列がAlertName以外)、4096バイト(索引構成列がAlertName)
1ブロック内の空き領域 : 914 バイト(索引構成列がAlertName以外)、3986バイト(索引構成列がAlertName)

セクション長A = 30 ×  10 + 2 = 302
1ページ内に格納できるセクション数A = 914 ÷ 302 ≒ 3 (小数以下切捨て)
1ページ内エントリ数A = (302 / 30) ×  3 ×  0.5 = 15

セクション長B = 22 ×  10 + 2 = 222
1ページ内に格納できるセクション数B = 914 ÷ 222 ≒ 4 (小数以下切捨て)
1ページ内エントリ数B = (222 / 22) ×  4 ×  0.5 = 20

セクション長C = 25 ×  10 + 2 = 252
1ページ内に格納できるセクション数C = 914 ÷ 252 ≒ 3 (小数以下切捨て)
1ページ内エントリ数C = (252 / 25) ×  3 ×  0.5 = 15

セクション長D = 54 ×  10 + 2 = 542
1ページ内に格納できるセクション数D = 914 ÷ 542 ≒ 1 (小数以下切捨て)
1ページ内エントリ数D = (914 / 2) ÷54×  2 ×  0.5 = 8

よって、
データ部見積もり量A = (行数 ÷ 1ページ内に格納できる行数) × ブロックサイズ
= ((1,000 / 15) + 1) ×  1024 ≒ 68 キロバイト
データ部見積もり量B = (行数 ÷ 1ページ内に格納できる行数) × ブロックサイズ
= ((1,000 / 20) + 1) ×  1024 ≒ 51 キロバイト
データ部見積もり量C = (行数 ÷ 1ページ内に格納できる行数) × ブロックサイズ
= ((1,000 / 15) + 1) ×  1024 ≒ 68 キロバイト
データ部見積もり量D = (行数 ÷ 1ページ内に格納できる行数) × ブロックサイズ
= ((1,000 / 8) + 1) ×  1024 ≒ 126 キロバイト

インデックス部の見積もり例:
アラート率 : 1%
評価イベント数 : 100,000 行
アラート行数 : 100,000 ×  0.01 = 1,000
エントリ長A(索引構成列がAlertId) : 23バイト
※索引構成列が、RuleId, CausedBusinessId, CausedEventGroupId, CausedEventIdの索引はこれと同様。
エントリ長B(索引構成列がPriority) : 17バイト
※索引構成列が、Severity、Availabilityはこれと同様。。
エントリ長C(索引構成列がOccurrenceTiime) : 20バイト
エントリ長D(索引構成列がAlertName) : 40バイト
エントリ長E(索引構成列がEscResult) : 17バイト

ブロックサイズ : 1024 バイト(索引構成列がAlertName以外)、2048バイト(索引構成列がAlertName)
1ブロック内の空き領域 : 914 バイト(索引構成列がAlertName以外)、1938バイト(索引構成列がAlertName)

セクション長A = 23 ×  10 + 2 = 232
1ページ内に格納できるセクション数A = 914 ÷ 232 ≒ 3 (小数以下切捨て)
1ページ内エントリ数A = (232 / 23) ×  3 ×  0.5 = 15

セクション長B= 17 ×  10 + 2 = 172
1ページ内に格納できるセクション数B = 914 ÷ 172 ≒ 5 (小数以下切捨て)
1ページ内エントリ数B = (172 / 17) ×  5 ×  0.5 = 25

セクション長C = 20 ×  10 + 2 = 202
1ページ内に格納できるセクション数C = 914 ÷ 202 ≒ 4 (小数以下切捨て)
1ページ内エントリ数C = (202 / 20) ×  4 ×  0.5 = 20

セクション長D = 40 ×  10 + 2 = 402
1ページ内に格納できるセクション数D = 914 ÷ 402 ≒ 2 (小数以下切捨て)
1ページ内エントリ数D = (402 / 40 ×  4 ×  0.5 = 20

セクション長E = 17 ×  10 + 2 = 172
1ページ内に格納できるセクション数E = 914 ÷ 172 ≒ 5 (小数以下切捨て)
1ページ内エントリ数E = (172 / 17) ×  5 ×  0.5 = 25

データ部とインデックス部それぞれの1ページ内エントリ数Aおよび行数より、
インデックス部ページ数A = 6
データ部とインデックス部それぞれの1ページ内エントリ数Bおよび行数より、
インデックス部ページ数B = 3
データ部とインデックス部それぞれの1ページ内エントリ数Cおよび行数より、
インデックス部ページ数C = 5
データ部とインデックス部それぞれの1ページ内エントリ数Dおよび行数より、
インデックス部ページ数D = 16
データ部とインデックス部それぞれの1ページ内エントリ数Eおよび行数より、
インデックス部ページ数E = 3

よって、
インデックス部見積もり量A = (インデックス部ページ数A + 1) × ブロックサイズ
= (6 + 1) ×  1024 = 7 キロバイト
インデックス部見積もり量B = (インデックス部ページ数B + 1) × ブロックサイズ
= (3 + 1) ×  1024 = 4 キロバイト
インデックス部見積もり量C = (インデックス部ページ数C + 1) × ブロックサイズ
= (5 + 1) ×  1024 = 6 キロバイト
インデックス部見積もり量D = (インデックス部ページ数D + 1) × ブロックサイズ
= (16 + 1) × 1024 = 17 キロバイト
インデックス部見積もり量E = (インデックス部ページ数E + 1) × ブロックサイズ
= (3 + 1) ×  1024 = 4 キロバイト

見積り量 = 7 × 5 + 4 × 3 + 6 + 17 + 4 = 74キロバイト

■エスカレーション結果を格納するテーブルの索引サイズの見積もり

以下にエスカレーション結果を格納するテーブルで、BPM Monitoringシステム用に定義する索引の情報を示します。索引サイズの見積もりは、Symfowareのマニュアルを参照して見積もりを行ってください。

BPM Monitoringが使用する索引:

索引

索引構成列

データ型(サイズ)

Unique索引

Id

VARCHAR(14)

Non-Unique索引

AlertId

VARCHAR(14)

Non-Unique索引

Result

NUMERIC(4)

Non-Unique索引

SystemType

VARCHAR(5)

Non-Unique索引

ReturnId

VARCHAR(256)

エスカレーション結果を格納するテーブルの索引サイズの見積もり例

以下に見積もり例を示します。

データ部の見積もり例:
アラート率 : 1%
アクション数 : 2
評価イベント数 : 100,000 行
アラート行数 : 100,000 ×  0.01 = 1,000
エスカレーション結果のレコード数 : 1,000 × 2 = 2,000

エントリ長A(索引構成列がId) : 30バイト
※索引構成列が、AlertIdの索引はこれと同様。
エントリ長B(索引構成列がResult) : 22バイト
エントリ長C(索引構成列がSystemType) : 24バイト
エントリ長D(索引構成列がReturnId) :41 バイト

ブロックサイズ : 1024 バイト
1ブロック内の空き領域 : 914 バイト

セクション長A = 30 × 10 + 2 = 302
1ページ内に格納できるセクション数A = 914 ÷ 302 ≒ 3 (小数以下切捨て)
1ページ内エントリ数A = (302 / 30) ×3 × 0.5 = 15

セクション長B = 22 × 10 + 2 = 222
1ページ内に格納できるセクション数B = 914 ÷ 222 ≒ 4 (小数以下切捨て)
1ページ内エントリ数B = (222 / 22) × 4 × 0.5 = 20

セクション長C = 24 ×  10 + 2 = 242
1ページ内に格納できるセクション数C = 914 ÷ 242 ≒ 3 (小数以下切捨て)
1ページ内エントリ数C = (242 / 24) ×  3 ×  0.5 = 15

セクション長D = 41 ×  10 + 2 = 412
1ページ内に格納できるセクション数D = 914 ÷ 412 ≒ 2 (小数以下切捨て)
1ページ内エントリ数D = (412 /41) × 2 ×  0.5 = 10

データ部見積もり量A = ページ数 × ブロックサイズ
= ((2,000 / 15) + 1) ×  1024 ≒ 135 キロバイト
データ部見積もり量B = ページ数 × ブロックサイズ
= ((2,000 / 20) + 1) ×  1024 ≒ 101 キロバイト
データ部見積もり量C = ページ数 × ブロックサイズ
= ((2,000 / 15) + 1) ×  1024 ≒ 135 キロバイト
データ部見積もり量D = ページ数 × ブロックサイズ
= ((2,000 / 10) + 1) ×  1024 ≒ 201 キロバイト
見積り量 = 135 * 2 + 101 + 135 + 201 = 707キロバイト

インデックス部の見積もり例:

アラート率 : 1%
アクション数 : 2
評価イベント数 : 100,000 行
アラート行数 : 100,000 ×  0.01 = 1,000
エスカレーション結果のレコード数 : 1,000 × 2 = 2,000

エントリ長A(索引構成列がId) : 23バイト
※索引構成列が、AlertIdの索引はこれと同様。
エントリ長B(索引構成列がResult) : 17バイト
エントリ長C(索引構成列がSystemType) : 19バイト
エントリ長D(索引構成列がReturnId) :31 バイト

ブロックサイズ : 1024 バイト
1ブロック内の空き領域 : 914 バイト

セクション長A = 23 ×  10 + 2 = 232
1ページ内に格納できるセクション数A = 914 ÷ 232 ≒ 3 (小数以下切捨て)
1ページ内エントリ数A = (232 / 23) ×  3 ×  0.5 = 15

セクション長B= 17 ×  10 + 2 = 172
1ページ内に格納できるセクション数B = 914 ÷ 172 ≒ 5 (小数以下切捨て)
1ページ内エントリ数B = (172 / 17) ×  5 ×  0.5 = 25

セクション長C = 19 ×  10 + 2 = 192
1ページ内に格納できるセクション数C = 914 ÷ 192 ≒ 4 (小数以下切捨て)
1ページ内エントリ数C = (192 / 19) ×  4 ×  0.5 = 20

セクション長D = 31 ×  10 + 2 = 312
1ページ内に格納できるセクション数D = 914 ÷ 312 ≒ 2 (小数以下切捨て)
1ページ内エントリ数D = (312 / 31) ×  2 ×  0.5 = 10

データ部とインデックス部それぞれの1ページ内エントリ数Aおよび行数より、
インデックス部ページ数A = 10
データ部とインデックス部それぞれの1ページ内エントリ数Bおよび行数より、
インデックス部ページ数B = 5
データ部とインデックス部それぞれの1ページ内エントリ数Cおよび行数より、
インデックス部ページ数C = 8
データ部とインデックス部それぞれの1ページ内エントリ数Dおよび行数より、
インデックス部ページ数D = 23

インデックス部見積もり量A = (インデックス部ページ数A + 1) × ブロックサイズ
= (10 + 1) ×  1024 = 11キロバイト
インデックス部見積もり量B = (インデックス部ページ数B + 1) × ブロックサイズ
= (5 + 1) ×  1024 = 6 キロバイト
インデックス部見積もり量C = (インデックス部ページ数C + 1) × ブロックサイズ
= (8 + 1) ×  1024 = 9 キロバイト
インデックス部見積もり量D = (インデックス部ページ数D + 1) × ブロックサイズ
= (23 + 1) ×  1024 = 24 キロバイト

見積り量 = 11 × 2 + 6 + 9 + 24 = 61キロバイト


目次 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2007