ここでは、Symfoware抽出レプリケーションで使用するトランザクションログテーブルと差分ログファイルの容量の見積り方法について説明します。
トランザクションログテーブルの容量見積り
差分ログファイルの容量見積り
トランザクションログテーブルには以下の特徴があります。
・Symfoware Serverの表で実現
・データベースごとに2つのテーブルで構成
・格納する更新ログのレコードは一定の大きさを超えると複数のレコードで格納
・格納する更新ログのレコードは差分ログ収集間隔で削除
そのため、以下の手順でディスク容量の見積もりを行います。
1つのSQL文ごとに格納する更新ログのレコード長を表単位に算出します。(1)
1つのSQL文ごとに格納する更新ログのレコード数を表単位に算出します。(2)
差分ログ収集間隔で実行するSQL文の数を表単位に算出します。(3)
(1),(2),(3)とレプリケーション対象の表の数を元に、Symfoware Serverのテーブル空間の容量を算出します。(4)
上記の容量を2倍にします。((4)×2))
注意
本見積り式では、レプリケーションサービスの開始による差分ログ収集が定期的に動作している状態を前提としています。そのため、保守作業などにより、レプリケーションサービスを停止する場合には、その停止時間を考慮した見積りを行ってください。
参照
差分ログ収集間隔はレプリケーションの動作環境ファイルに指定します。動作環境ファイルについては、“導入運用ガイド”を参照してください。
見積り式
内容 | 見積り式 |
---|---|
(1) | SQL文ごとの差分ログにはレコード長が異なる以下の2種類のレコードの組み合わせがあります。
|
(2) | (1)の異なるレコード毎の件数は以下です。 |
(3) | データベースの業務から、レプリケーション対象の表ごとに差分ログ収集間隔で発行されるSQL文の数を算出します。 |
(4) | Symfoware Serverのマニュアルを参照して、以下の情報からテーブル空間の容量を算出します。
|
(5) | (4)で見積もったテーブル空間の容量を2倍にします。 |
見積り例
特定のモデルを例に上記(1)~(4)までの見積り例を記載します。
レプリケーション対象の表が1つ
表に格納するレコード長が8Kバイト
表の列数は10
1秒間に発行されるSQL文の数が以下
INSERT文:200件
UPDATE文:100件
DELETE文:100件
差分ログ収集間隔よりも長い保守時間として3,600秒を設定
1SQL文ごとの差分ログレコード長を求めます。
SQL文 | (T) | (L1) | (L2) |
---|---|---|---|
INSERT文 | 35 + 80 + 8,192 | 3,200バイト | 8,307 % 3,200 |
DELETE文 | 35 + 80 + 8,192 | 3,200バイト | 8,307 % 3,200 |
UPDATE文 | 35 + 80 + 8,192 + 80 + 8,192 | 3,200バイト | 16,579 % 3,200 |
SQL文ごとに差分ログレコード長ごとの差分ログレコード件数を求めます。
SQL文 | (N1) | (N2) |
---|---|---|
INSERT文 | 8,307 ÷ 3,200 | [ 8,307 -(3,200 × 2)] |
DELETE文 | 8,307 ÷ 3,200 | [ 8,307 -(3,200 × 2)] |
UPDATE文 | 16,579 ÷ 3,200 | [ 16,579 -(3,200 × 5)] |
SQL文ごとの単位時間(本例では3,600秒)あたりの差分ログレコード件数を求めます。
SQL文 | 差分ログレコード件数 |
---|---|
INSERT文 | 200 × 3,600 = 720,000件 |
DELETE文 | 100 × 3,600 = 360,000件 |
UPDATE文 | 100 × 3,600 = 360,000件 |
以下の情報を元に、Symfoware Serverのテーブル空間の見積もりを行います。複数の表が対象の場合にはすべて加算してください。
SQL文 | レコード長 | ||
---|---|---|---|
3,200バイト | 8,307バイト | 16,579バイト | |
INSERT文 | (N1)× 720,000 = 1,440,000 | (N2)× 720,000 | - |
DELETE文 | (N1)× 360,000 = 720,000 | (N2)× 360,000 | - |
UPDATE文 | (N1)× 360,000 = 1,800,000 | - | (N2)× 360,000 |
合計 | 3,960,000件 | 1,080,000件 | 360,000件 |
差分ログファイルのサイズは、以下の見積り式に基づいて決定してください。
見積り式
差分ログファイルのサイズ = L × H
L:単位時間当たりの平均ログ量
H:一括差分複写業務のスケジュール間隔の時間
例) Hが5分間隔の場合には、Lは1分当たりの平均ログ量、Hは5で算出します。
単位時間当たりの平均ログ量(L) = R × ( 1 + U ) × 更新件数
R:差分ログのレコード長(単位はバイト)
U:結合キーの値を更新するSQL文の比率 (0~1)
差分ログのレコード長(R) = G + 2 + ( N1 + D1 ) + ( N2 + D2 ) + … ( Ni + Di )
G:グループ単位のレプリケーションの場合の制御情報の長さ(単位はバイト)
グループ単位のレプリケーションの場合で、抽出する項目にナル表示域を指定した場合は8となります。ナル表示域を指定しない場合は6となります。
表単位のレプリケーションの場合は、0となります。
N1、N2…Ni:ナル表示域の長さ
抽出する項目にナル表示域を指定した場合は2となります。指定しない場合は0となります。(単位はバイト)
D1、D2…Di:抽出する各項目の長さ
可変長の場合は、最大長で見積りを行ってください。
また、グループ単位のレプリケーションの場合は、当該グループに属するすべての表の項目の長さを含めてください。(単位はバイト)
注意
差分ログファイルは、自動的に容量が拡張されます。拡張された領域は、抽出処理によって差分データの抽出が完了した時点で自動的に返却されます。
項目の長さについては“付録A 抽出データ項目の形式”を参照してください。