32.1.2 リードレプリカ構成の構築手順
- 〈この項の構成〉
(1) 機能概要
リードレプリカを構築したシステムでは,複製元のHiRDBシステムを更新DBと呼び,複製先のHiRDBシステムを参照DBと呼びます。更新DBは通常のHiRDB/シングルサーバであり,参照業務・更新業務を処理します。参照DBは参照専用のHiRDB/シングルサーバで,参照業務だけを処理します。
リードレプリカ機能の機能概要を次の図に示します。
|
|
更新DBのHiRDBシステムと参照DBのHiRDBシステムからなる構成をリードレプリカ構成と呼びます。リードレプリカ構成の構築手順については,「手動反映方式のリードレプリカ構成の構築手順」を参照してください。
参照DBは参照SQLだけを受け付けます。更新SQL,定義系SQLを実行すると,SQLがエラーになります。各SQLの実行可否については,「参照DBでのSQLの実行可否」を参照してください。
また,更新DBのデータベースに対する更新内容を参照DBでも参照できるようにするために,更新DBの更新内容を参照DBに反映できます。更新内容の反映は,更新とは非同期に行い,更新DBのトランザクションに影響を与えません。また,反映はトランザクション単位で行い,参照DBでデータの一貫性を保証します。
更新DBの更新内容を参照DBに反映する方法として,手動反映方式と自動反映方式があります。
手動反映方式では,更新DBで取得したアンロードログファイルを使用して,コマンド実行によって参照DBへ反映します。
自動反映方式では,あらかじめ更新DBのシステムログファイルを参照DBへ共有しておくことで,HiRDBが更新情報を検知次第,自動で参照DBへ反映します。
参照DBへの反映方式の比較を次の表に示します。
|
反映の流れ |
参照DBへの反映方式※ |
|
|---|---|---|
|
手動反映方式 |
自動反映方式 |
|
|
更新DBの更新情報の取得 |
ユーザ操作によって,更新DB側でアンロードログファイルを取得し,参照DB側にコピーします。 |
あらかじめ更新DBのシステムログファイルを参照DBへ共有しておくことで,HiRDBが更新情報を自動検知します。 |
|
参照DBへの反映 |
pdrrprefコマンドを実行して反映します。 |
HiRDBが更新情報を検知次第,自動で反映します。 |
- 注※
-
反映方式は参照DBのシステム共通定義pd_read_replica_modeオペランドで指定できます。オペランドの詳細は「HiRDB環境設定時の考慮点」を参照してください。
(2) 手動反映方式の概要
更新DBの更新内容を参照DBに手動で反映する手順の概要を次の図に示します。手順の詳細については,「手動反映方式の参照DBへのデータ反映手順」を参照してください。
|
|
-
更新DBで,データベースを更新します。
-
自動ログアンロード機能又はpdlogunldコマンドによって,1.の更新内容を含むアンロードログファイルを作成します。
-
アンロードログファイルを参照DBのあるサーバマシンにコピーします。
-
参照DBでpdrrprefコマンドを実行して,アンロードログファイル内の更新内容を参照DBに反映します。
(3) 自動反映方式の概要
更新DBの更新内容を参照DBに自動で反映する手順の概要を次の図に示します。手順の詳細については,「自動反映方式のリードレプリカ構成の構築手順」を参照してください。
|
|
-
環境構築時に,共有ディスク又はディスクのレプリケーションを使用してシステムログファイルを共有します。
-
更新DBで,データベースを更新します。
-
参照DBのシステム共通定義に次のオペランドを指定することで,HiRDBが更新DBで発生した更新内容を参照DBに自動反映します。
-
pd_read_replica_useオペランドにYを指定
-
pd_read_replica_modeオペランドにsysを指定,又はオペランドを省略
-
- 注意事項
-
-
反映対象システムログファイルは,更新DBから参照DBに対して更新ログを自動反映することを目的に参照DBへ共有します。そのため,既存機能を利用して参照DBから反映対象システムログファイルに対してアクセスしないでください。
-