ページの先頭行へ戻る
Linkexpress Replication optionV5.0L17 システム設計ガイド
FUJITSU Software

1.5.1 ログファイルの容量見積り

ここでは、Symfoware抽出レプリケーションで使用するトランザクションログテーブルと差分ログファイルの容量の見積り方法について説明します。

1.5.1.1 トランザクションログテーブルの容量見積り

トランザクションログテーブルには以下の特徴があります。

・Symfoware Serverの表で実現

・データベースごとに2つのテーブルで構成

・格納する更新ログのレコードは一定の大きさを超えると複数のレコードで格納

・格納する更新ログのレコードは差分ログ収集間隔で削除

そのため、以下の手順でディスク容量の見積もりを行います。

  1. 1つのSQL文ごとに格納する更新ログのレコード長を表単位に算出します。(1)

  2. 1つのSQL文ごとに格納する更新ログのレコード数を表単位に算出します。(2)

  3. 差分ログ収集間隔で実行するSQL文の数を表単位に算出します。(3)

  4. (1),(2),(3)とレプリケーション対象の表の数を元に、Symfoware Serverのテーブル空間の容量を算出します。(4)

  5. 上記の容量を2倍にします。((4)×2))

注意

本見積り式では、レプリケーションサービスの開始による差分ログ収集が定期的に動作している状態を前提としています。そのため、保守作業などにより、レプリケーションサービスを停止する場合には、その停止時間を考慮した見積りを行ってください。

参照

差分ログ収集間隔はレプリケーションの動作環境ファイルに指定します。動作環境ファイルについては、“導入運用ガイド”を参照してください。

見積り式

内容

見積り式

(1)

SQL文ごとの差分ログにはレコード長が異なる以下の2種類のレコードの組み合わせがあります。

  • 3,200バイトのレコード(L1)

  • 3,200バイト未満のレコード(L2)=(T)を3,200で割った余りの長さ

    INSERT文の場合:
     (T)= 35 +(C × 8)+ データベースの挿入レコードの長さ
    DELETE文の場合:
     (T)= 35 +(C × 8)+ データベースの削除レコードの長さ
    UPDATE文の場合:
     (T)= 35 +(C × 8)+ データベースの更新前レコードの長さ
               +(C × 8)+ データベースの更新後レコードの長さ
    TRUNCATE文の場合:
     (T)= 35
    C:表のカラム数

(2)

(1)の異なるレコード毎の件数は以下です。
(N1)=(T)÷ 3200(小数点を切り下げて整数にしてください)
(N2)=[(T)-(3200 ×(N1))]([]内が0以外の場合は1とします)

(3)

データベースの業務から、レプリケーション対象の表ごとに差分ログ収集間隔で発行されるSQL文の数を算出します。

(4)

Symfoware Serverのマニュアルを参照して、以下の情報からテーブル空間の容量を算出します。

  • 1つのSQL文ごとに取得する3,200バイトの更新ログのレコード長(L1)とレコード件数(N1)

  • 1つのSQL文ごとに取得する3,200バイト未満の更新ログのレコード長(L2)およびレコード件数(N2)

  • 差分ログ収集間隔で発行されるSQL文の数(3)

(5)

(4)で見積もったテーブル空間の容量を2倍にします。

見積り例

特定のモデルを例に上記(1)~(4)までの見積り例を記載します。

(1)の見積り例

1SQL文ごとの差分ログレコード長を求めます。

SQL文

(T)

(L1)

(L2)

INSERT文

35 + 80 + 8,192
= 8,307バイト

3,200バイト

8,307 % 3,200
=(1,907バイト)

DELETE文

35 + 80 + 8,192
= 8,307バイト

3,200バイト

8,307 % 3,200
=(1,907バイト)

UPDATE文

35 + 80 + 8,192 + 80 + 8,192
= 16,579バイト

3,200バイト

16,579 % 3,200
=(579バイト)

(2)の見積り例

SQL文ごとに差分ログレコード長ごとの差分ログレコード件数を求めます。

SQL文

(N1)

(N2)

INSERT文

8,307 ÷ 3,200
= 2件

[ 8,307 -(3,200 × 2)]
= 1件

DELETE文

8,307 ÷ 3,200
= 2件

[ 8,307 -(3,200 × 2)]
= 1件

UPDATE文

16,579 ÷ 3,200
= 5件

[ 16,579 -(3,200 × 5)]
= 1件

(3)の見積り例

SQL文ごとの単位時間(本例では3,600秒)あたりの差分ログレコード件数を求めます。

SQL文

差分ログレコード件数

INSERT文

200 × 3,600 = 720,000件

DELETE文

100 × 3,600 = 360,000件

UPDATE文

100 × 3,600 = 360,000件

(4)の見積り例

以下の情報を元に、Symfoware Serverのテーブル空間の見積もりを行います。複数の表が対象の場合にはすべて加算してください。

SQL文

レコード長
SQL文ごとの件数

3,200バイト
(L1)

8,307バイト
(L2)

16,579バイト
(L2)

INSERT文

(N1)× 720,000 = 1,440,000

(N2)× 720,000
= 720,000

DELETE文

(N1)× 360,000 = 720,000

(N2)× 360,000
= 360,000

UPDATE文

(N1)× 360,000 = 1,800,000

(N2)× 360,000
= 360,000

合計

3,960,000件

1,080,000件

360,000件

1.5.1.2 差分ログファイルの容量見積り

差分ログファイルのサイズは、以下の見積り式に基づいて決定してください。

見積り式

差分ログファイルのサイズ = 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 抽出データ項目の形式”を参照してください。