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

最終更新日: 2022年4月21日
R8 | R9

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

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

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

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

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

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

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

キャッシュの扱い

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

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

定義方法

データベースの設定

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

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

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

サブデータベースの設定

モデルの設定

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

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

データベースを指定する

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

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

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

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

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

変更履歴

  • R9.1.0より、サブデータベースの文字コードを指定できるようになりました。