サブデータベースを指定する

最終更新日: 2020年8月10日
R8 | R9

メインデータベースとサブデータベース

Wagbyではモデル単位でどのデータベースを利用するかを指定することができます。一つ目を「メインデータベース」と呼び、二つ目以降を「サブデータベース」と呼びます。

サブデータベースの用途は、既存システムのマスタデータを直接、Wagbyアプリケーションが利用することです。

両者の違いは次のとおりです。

メインデータベース(標準) サブデータベース
設定できる数 1つだけです。 オプションという位置付けです。5つまでのサブデータベースを指定できます。
機能 読み込みと書き込みができます。書き込みはトランザクション制御にも対応しています。 読み込みと書き込みができます。(*1)
メインデータベースとサブデータベースの両方の更新を一つのトランザクションとすることはできません。それぞれの書き込み処理は独立して行われます。(*2)
*1 R8.1.0よりサブデータベースの書き込みが行えるようになりました。それ以前の Wagby は読み込みのみとなります。
*2 トランザクション境界はデータベースごととなります。そのため、例えばメインデータベースとサブデータベースの両方を更新したいが、サブデータベースの更新が失敗したらメインデータベースの更新も失敗させ、このトランザクション全体をロールバックするという指定を行うことはできません。どちらか一方が成功すれば更新は完了となります。

サブデータベース利用時の制約

サブデータベースを使うモデルには次の制約があります。

キャッシュの扱い

サブデータベースを利用しているモデルのキャッシュは標準では有効となっていますが、利用状況に応じてキャッシュを無効にすることを検討して下さい。

キャッシュを有効としても良いケース
サブデータベースで参照しているテーブルのデータが別システムから変更されない、または、データの変更頻度が少ない場合。 データの変更頻度に応じてジョブを使ってキャッシュをクリアすることで、(リアルタイムではありませんが)最新の情報を利用できます。
キャッシュを無効とした方が良いケース
リアルタイムでの最新データの表示が必要なモデルではキャッシュは無効として下さい。

定義方法

データベースの設定

「環境>データベース」から、メインデータベースとサブデータベースの指定を行います。

図1 メインデータベースの設定(標準)

サブデータベースは最大5つまで指定できます。

図2 サブデータベースの設定。

モデルの設定

モデル毎に、どのデータベースを利用するかを指定できます。設定したサブデータベースのみ選択肢に用意されます。

空白時(標準)はメインデータベースを利用します。

図3 データベースを指定する

R8.4.0/R8.4.1の場合

R8.4.0/R8.4.1のみ必要な設定があります。(R8.3.xまで、ならびにR8.4.2以降はこの設定は不要です。)[詳細...]

サブデータベースの設定を無効にする

サブデータベースの設定を無効にするには、環境タブのサブデータベース設定を消去することに加え、サブデータベースを利用しているモデル側の設定も解除してください。

スクリプトを使ってサブデータベースで順序を利用する

サブデータベースにデータを登録する場合、Wagbyが標準で提供する「順序」の設定は無効にする必要があります。(Wagbyが提供する「順序」はメインデータベースのみを対象にしています。)

なお、スクリプトを使ってサブデータベースの登録時に順序を使うことはできます。