ver.1サポートサイト


トランザクションDB

最終更新日:2023年03月09日

概要

トランザクションDBとは、登録データをトランザクションデータとして受け付け、通常DBに格納しているマスタデータに
最適に反映することができるデータベースです。

1. マスタデータとトランザクションデータ

(1)マスタデータ

マスタデータは情報管理における基本データで、主に人、モノ、場所等のデータを管理します。取引先の企業、商品、会員、従業員、店舗など、存在する上で重複しない唯一のデータ等を指します。

 

(2)トランザクションデータ

トランザクションデータは、マスタデータによる行動やマスタデータ自体の登録や変更、削除等の手続き処理を指すデータです。例えば、顧客のセミナー申し込みやキャンセル、会員情報の変更、社員の転居届けといったデータ等を指します。

 

 

このトランザクションDBにあらゆるマスタの行動、履歴データを流しこむことで、マスタデータを適切な状態でデータベースとして管理し、無駄のないデータ管理と効率的な運用を実現できます。

2. トランザクションDBの全体像

トランザクションDBは、「トランザクションデータ」を使って「マスタデータ」に対し、複数のアクション(処理)を実行します。
また、その履歴を保存することで処理の証跡を残し、マスタデータを削除してしまった際のデータ復元に使用することができます。

 

 

(1)トランザクションDB

トランザクションDBとは、トランザクションデータを管理するDBです。
フォームや外部システムからの取り込み、操作画面から登録するデータで、複数の通常DBにアクションを実行し、登録の証跡である手続きデータを保存します。
トランザクションデータは、1DBあたり100万件※1程度保存できます。
保存可能件数を超えた場合は、古いデータからログに出力し、DBから削除※2します。
ログファイルの保管期限は400日です。画像型フィールド、ファイル型フィールドは、ログ出力されません。

※1ログ出力およびデータ削除処理は日次で実行されるため、100万件を超える場合があります。
※2ログ出力およびDBから削除されるデータ件数は、登録状況に応じて変動します。

(2)アクション

アクションとはトランザクションDBに登録されたデータをもとに、データが登録されたタイミングで実行される処理のことです。
条件にあわせて、指定のアクション(新規登録・更新・削除・更新登録)を通常DBに実行します。

 

アクションは、新規登録、更新、更新登録、削除の処理毎に設定します。
設定では、「発動条件」、「アクション対象DB」、「アクション」を指定します。
アクションが複数ある場合は、設定時に指定した順番でアクションを実行します。

 

 

次へ…次のアクションへ進む / エラー終了…アクションをDBに反映しないで終了する / 正常終了…アクションをDBに反映して終了する

 

トランザクションDBに登録処理を開始したところから、条件にマッチした全てのアクションが実行終了するまでを、トランザクションと言います。
途中のアクションでエラーが発生した場合、トランザクション内の一連の処理はロールバックします。

 

アクション設定

トランザクションDBに登録されたデータのうち、「トランザクションDBの抽出ルール」に該当する場合にのみ、アクションを発動します。
例えば、メルマガ希望にチェックが入っている場合だけにメルマガDBに登録や更新するといった設定ができます。

 

アクションする対象のDBです。指定できるDBは通常DBです。

 

アクション対象DBに対するデータの新規登録、更新、更新登録、削除を指定します。
また、アクション対象DBのデータの状態によって詳細な処理を指定できます。

 

新規登録(INSERT)

アクション対象DBにデータを新規登録します。

チェック項目 処理
フォーマットチェック ・フォーマットエラーが発生する場合
エラー終了 / 登録せずに、正常終了 / 登録せずに、次のアクションへ / NULLに変換し、次のチェックへ
・フォーマットエラーが発生しない場合
次のチェックへ
入力必須チェック ・入力必須フィールドに対してNULLで登録しようとする場合
エラー終了 / 登録せずに、正常終了 / 登録せずに次のアクションへ / NULLを維持し次のチェックへ(※)
・入力必須フィールドに対してNULL以外で登録しようとする場合
次のチェックへ
重複不可チェック ・重複エラーが発生する場合
エラー終了 / 登録せずに、正常終了 / 登録せずに、次のアクションへ
・重複エラーが発生しない場合
次のチェックへ
新規登録時 ・新規登録が可能な場合
エラー終了 / 登録せずに、正常終了 / 登録せずに、次のアクションへ / 登録して次のアクションへ

(※) アクション先DB上で、該当フィールドに対して「フィールドのデフォルト値」や「フィールド値自動生成トリガ」、「トリガ」等を
設定している場合にご利用ください。

 

更新(UPDATE)

アクション対象DBのデータを更新します。
更新するデータは、「検索キーフィールド」(※1)に指定するデータを照合して特定します。

チェック項目 処理
フォーマットチェック ・フォーマットエラーが発生する場合
エラー終了 / 更新せずに、正常終了 / 更新せずに、次のアクションへ / NULLに変換し、次のチェックへ
・フォーマットエラーが発生しない場合
次のチェックへ
識別キーチェック ・識別キーがNULLの場合
エラー終了 / 更新せずに、正常終了 / 更新せずに、次のアクションへ
・識別キーがNULL以外の場合
次のチェックへ
認証キーチェック ・認証キーがNULLの場合
エラー終了 / 更新せずに、正常終了 / 更新せずに、次のアクションへ
・認証キーがNULL以外の場合
次のチェックへ
更新対象チェック ・更新対象が存在しない場合
エラー終了 / 更新せずに、正常終了 / 更新せずに、次のアクションへ
・更新対象が1行の場合
エラー終了 / 更新せずに、正常終了 / 更新せずに、次のアクションへ / 次のチェックへ
・更新対象が2行以上の場合
エラー終了 / 更新せずに、正常終了 / 更新せずに、次のアクションへ / 次のチェックへ
入力必須チェック ・入力必須フィールドに対して、NULLで更新しようとする場合
エラー終了 / 更新せずに、正常終了 / 更新せずに、次のアクションへ / NULLを維持し、次のチェックへ(※2)
・入力必須フィールドに対して、NULL以外で更新しようとする場合
次のチェックへ
重複不可チェック ・重複エラーが発生する場合
エラー終了 / 更新せずに、正常終了 / 更新せずに、次のアクションへ
・重複エラーが発生しない場合
更新して次のチェックへ

(※1) 「検索キーフィールド」に指定するためには該当フィールドに対してインデックスを設定する必要があります。
(※2) アクション先DB上で、該当フィールドに対して「トリガ」を設定している場合にご利用ください。

 

更新登録(UPSERT)

アクション対象DBのデータを更新、あるいは新規登録します。
更新するデータは、「検索キーフィールド」(※1)に指定するデータを照合して特定します。

チェック項目 処理
フォーマットチェック ・フォーマットエラーが発生する場合
エラー終了 / 更新登録せずに、正常終了 / 更新登録せずに、次のアクションへ / NULLに変換し次のチェックへ
・フォーマットエラーが発生しない場合
次のチェックへ
識別キーチェック ・識別キーがNULLの場合
エラー終了 / 更新登録せずに、正常終了 / 更新登録せずに、次のアクションへ / NULLを維持し次のチェックへ
・識別キーがNULL以外の場合
次のチェックへ
認証キーチェック ・認証キーがNULLの場合
エラー終了 / 更新登録せずに、正常終了 / 更新登録せずに、次のアクションへ / NULLを維持し次のチェックへ
・認証キーがNULL以外の場合
次のチェックへ
更新対象チェック ・更新対象が存在しない場合
エラー終了 / 更新登録せずに、正常終了 / 更新登録せずに、次のアクションへ / 次のチェックへ
・更新対象が1行の場合
エラー終了 / 更新登録せずに、正常終了 / 更新登録せずに、次のアクションへ / 次のチェックへ
・更新対象が2行以上の場合
エラー終了 / 更新登録せずに、正常終了 / 更新登録せずに、次のアクションへ / 次のチェックへ
入力必須チェック ・入力必須フィールドに対してNULLで更新登録しようとする場合
エラー終了 / 更新登録せずに、正常終了 / 更新登録せずに、次のアクションへ / NULLを維持し次のチェックへ(※2)
・入力必須フィールドに対してNULL以外で更新登録しようとする場合
次のチェックへ
重複不可チェック ・重複エラーが発生する場合
エラー終了 / 更新登録せずに、正常終了 / 更新登録せずに、次のアクションへ
・重複エラーが発生しない場合
更新登録して次のチェックへ

(※1) 「検索キーフィールド」に指定するためには該当フィールドに対してインデックスを設定する必要があります。
(※2) アクション先DB上で、該当フィールドに対して「トリガ」を設定している場合にご利用ください。

 

削除(DELETE)

アクション対象DBのデータを削除します。
削除するデータは、「検索キーフィールド」(※1)に指定するデータを照合して特定します。

チェック項目 処理
識別キーチェック ・識別キーがNULLの場合
エラー終了 / 削除せずに、正常終了 / 削除せずに、次のアクションへ
・識別キーがNULL以外の場合
次のチェックへ
認証キーチェック ・認証キーがNULLの場合
エラー終了 / 削除せずに、正常終了 / 削除せずに、次のアクションへ
・認証キーがNULL以外の場合
次のチェックへ
削除対象チェック ・削除対象が存在しない場合
エラー終了 / 削除せずに、正常終了 / 削除せずに、次のアクションへ
・削除対象が1行の場合
エラー終了 / 削除せずに、正常終了 / 削除せずに、次のアクションへ / 削除して次のアクションへ
・削除対象が2行以上の場合
エラー終了 / 削除せずに、正常終了 / 削除せずに、次のアクションへ / 削除して次のアクションへ

(※1) 「検索キーフィールド」に指定するためには該当フィールドに対してインデックスを設定する必要があります。

 

エラー終了

エラー終了します。
アクション対象DBを指定する必要はありません。チェック項目はなく、以下の処理が実行されます。

チェック項目 処理
(なし) トランザクションDBにデータは登録しない。
エラー終了するまでに実行した処理は、通常DBに反映しない。
フォームから登録した場合は、システムエラーページに遷移する。
正常終了

正常終了します。
アクション対象DBを指定する必要はありません。チェック項目はなく、以下の処理が実行されます。

チェック項目 処理
(なし) トランザクションDBにデータを登録する。
フォームから登録した場合は、サンキューページに遷移する。

フィールドマッピング

トランザクションデータを対象DBにアクションする際に、どのデータをどのフィールドに登録、更新、更新登録、削除するかを設定します。

 

 

基本的に、マッピングは同じフィールドタイプ間、または対応可能なフィールドタイプ間で適用できます。

 

■ マッピング時の注意

(1)セレクト系フィールドのマッピングについて

セレクト、マルチセレクト、マルチセレクト(128項目)、ブーリアンのフィールドをマッピングする場合、
トランザクションDBとアクション対象DBでフィールドを共有しておく必要があります。

 

(2)異なるフィールドタイプ間でのマッピングについて

異なるフィールドタイプ間でのマッピングは以下の範囲で可能です。
ただし、アクション対象DBのフィールドにてフォーマットエラーになる(バイト数が超過する、データ形式が異なる等)場合は、フィールドタイプによっては自動的に値が切り捨てられる場合があります。

 

(マッピング対応可能なフィールドタイプ一覧)

アクション元TRDB アクション先DB 備考
メールアドレス(大・小文字無視)
メールアドレス(大・小文字区別)
メールアドレス(大・小文字無視)
メールアドレス(大・小文字区別)
数字・記号・アルファベット(32bytes) 電話番号 フォーマットエラーの場合は設定した処理へ
テキストフィールド(128bytes) 電話番号
都道府県
フォーマットエラーの場合は設定した処理へ
数字・記号・アルファベット(6bytes)
数字・記号・アルファベット(32bytes)
数字・記号・アルファベット(6bytes)
数字・記号・アルファベット(32bytes)
入りきらない値は後ろから切り捨て
整数
実数
通貨
整数
実数
通貨
・実数→整数で小数点のあるデータの場合、
小数点第一位の値を四捨五入して格納
・実数→通貨で小数点のあるデータの場合、
小数点第三位の値を四捨五入して格納
・その他、フォーマットエラーの場合は設定した処理へ
登録日時
日付(○年○月○日 ○時○分○秒)
日付(○年○月○日 ○時○分)
日付(○年○月○日 ○時)
日付(○年○月○日)
日付(○年○月)
登録日時
日付(○年○月○日 ○時○分○秒)
日付(○年○月○日 ○時○分)
日付(○年○月○日 ○時)
日付(○年○月○日)
日付(○年○月)
・入りきらない桁は切り捨て
・足りない桁は最小値を設定
テキストフィールド(32bytes)
テキストフィールド(32bytes)かな
テキストフィールド(32bytes)カナ
テキストフィールド(32bytes)ローマ字
テキストフィールド(64bytes)
テキストフィールド(64bytes)かな
テキストフィールド(64bytes)カナ
テキストフィールド(64bytes)ローマ字
テキストフィールド(128bytes)
テキストエリア(256bytes)
テキストエリア(512bytes)
テキストエリア(1024bytes)
テキストエリア(2048bytes)
テキストエリア(4096bytes)
テキストエリア(8192bytes)
テキストフィールド(32bytes)
テキストフィールド(64bytes)
テキストフィールド(128bytes)
テキストエリア(256bytes)
テキストエリア(512bytes)
テキストエリア(1024bytes)
テキストエリア(2048bytes)
テキストエリア(4096bytes)
テキストエリア(8192bytes)
・入りきらない値は後ろから切り捨て
・テキストエリア→テキストフィールドの場合、
改行コードは削除される
テキストフィールド(32bytes)かな
テキストフィールド(64bytes)かな
テキストフィールド(32bytes)かな
テキストフィールド(64bytes)かな
入りきらない値は後ろから切り捨て
テキストフィールド(32bytes)カナ
テキストフィールド(64bytes)カナ
テキストフィールド(32bytes)カナ
テキストフィールド(64bytes)カナ
入りきらない値は後ろから切り捨て
テキストフィールド(32bytes)ローマ字
テキストフィールド(64bytes)ローマ字
テキストフィールド(32bytes)ローマ字
テキストフィールド(64bytes)ローマ字
入りきらない値は後ろから切り捨て
■ 演算子でデータを更新するアクション

対象DBに更新するアクションでは、数値系のフィールド※に対して、演算子を利用できます。演算子は、対象DBに入っている数値データとトランザクションDBの数値データで演算する更新処理です。
※演算子が利用できるフィールド
整数 / 実数 / 通貨

 

演算子 意味
+= 既に入っている値に加算して格納
-= 既に入っている値に減算して格納
*= 既に入っている値に乗算して格納

例えば、セミナーの申込みを受け付けた際に、セミナーの申込者数を1件ずつカウントアップすることができます。

 

3. 制限機能

 

(1)フィールド属性について
トランザクションDBで指定できるフィールド属性は「入力必須」属性だけです。「主キー」と「重複不可」属性は指定できません。

※トランザクションDBに設定した属性を後から変更することはできません。

 

(2)フィールドタイプについて
トランザクションDBは、アクションを設定したり、登録の証跡を残す目的のデータベースのため、以下のフィールドタイプの機能を制限しています。

フィールドタイプ 制限内容
不正アドレスフラグ 不正アドレスチェックでフラグを立て、データを更新できない。
モバイルドメインフラグ モバイルドメインチェックでフラグを立て、データを更新できない。
重複フラグ 重複レコードチェックでフラグを立て、データを更新できない。
配信エラー 配信エラー処理や配信設定から、データを更新できない。
エラーカウント 配信エラー処理や配信設定から、データを更新できない。
クリックカウント カウントリセットや配信設定から、データを更新できない。
HTMLメール開封チェック カウントリセットや配信設定から、データを更新できない。
オプトアウト 配信設定から、データを更新できない。
オプトアウトURLの利用はできない。

(3)機能について
トランザクションDBは、アクションを設定したり、登録の証跡を残す目的のデータベースのため、以下の機能を制限しています。
[DB]

機能 制限内容
データメンテナンス 「整数型フィールド再ナンバリング」「画像マスタDBクリーニング」を使用不可
DBオペレーション データの更新・削除を使用不可
DB連携 直接連携使用不可
※データの更新が発生するオプションを一部制限
データ削除 使用不可
データ登録 更新を使用不可
カウントリセット 使用不可
不正アドレスチェック 使用不可
モバイルドメインチェック 使用不可
重複レコードチェック 使用不可
配信エラー処理 使用不可
登録元管理 使用不可

[Web]

機能 制限内容
フォーム管理 「旧機能を使った登録ページ設定」を使用不可
マイエリア 「4:IDログイン(非認証)」を除く全認証方法を使用不可
ステップアンケート 使用不可

[メール]

機能 制限内容
EXPRESS配信 使用不可
EXPRESS2 使用不可
SEQUENCE配信 使用不可
TIMELY配信 使用不可

[ガジェット]

機能 制限内容
RSSが付いているカウンター 使用不可
みてみて何でもランキング 使用不可
ならべて見せようショーケース 使用不可

4. 課金とオプションについて

トランザクションDBの利用に際するオプション価格一覧は以下のとおりです。

 

(オプション価格一覧)

No. 項目 単位 標準設定数 上限設定数 価格
1 月間トランザクション数超過費用 1トランザクション毎
※1
0.5円
※2
2 トランザクションDB数拡張 設定費用 1設定 10,000円
3 トランザクションDB数拡張 月次利用料 10DB毎 20DB 50DB 10,000円
4 トランザクションDB格納件数拡張 設定費用 ※3 1設定 10,000円
5 トランザクションDB格納件数拡張 月次利用料 100万件毎
※4
100万件 500万件 50,000円
6 トランザクションDBアクション数拡張 設定費用 1設定 10,000円
7 トランザクションDBアクション数拡張 月次利用料 5アクション毎 5アクション 10アクション 10,000円

※1 当月の契約レコード件数を無料分とし、超過したトランザクション数を超過分とする。

※2 超過費用100円未満は切り捨て。

※3 上限を下げる場合は下げた次の日に10万件毎にログファイルを出力します。

※4 上限の拡張は、同一アカウントで使用する全てのトランザクションDBに適用されます。

 

月間トランザクション数

トランザクション数とは、トランザクションDBに対する登録レコード数です。月間トランザクション数は1ヶ月あたりのトランザクションを指します。月間トランザクション数は当月の契約レコード件数を無料で利用でき、超過する場合は月間トランザクション数の超過費用として、1トランザクションあたり0.5円(超過費用100円未満は切り捨て)を請求いたします。

例えば、契約レコード件数が5,000件の月に、月間トランザクション数が5,221件だった場合は、超過したトランザクション数221件分の費用として100円が請求されます。

5.トランザクションDBに関する通知

トランザクションDBでは「ログが出力された場合」や「月間の無料利用分の残りが少ない場合」に利用状況をメールで通知いたします。

文面につきましては下記をご参照ください。

トランザクションDB ログファイル出力通知

件名 :[SPIRAL:{ログイン名}]トランザクションDB ログファイル出力通知

送信先:担当者ID、アカウントのご利用管理者様、連絡先1、連絡先2に登録されているメールアドレス

文面 :

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     スパイラル トランザクションDB ログファイル出力通知     
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

スパイラルでご利用のトランザクションDBのレコード件数が一定量を超えた為、
データをDBから削除し、ログに出力したことをお知らせします。

■アカウント
==================================================
XXXXX

■トランザクションDB
==================================================
XXXXX

■ログ日時
==================================================
ログ出力日時 :XXXXXXX
ログ削除日時 :XXXXXXX

※ログは削除日まで操作画面のDBグループの
 トランザクションDBからダウンロードできます。

月間トランザクション数 利用状況通知

件名 :[SPIRAL:{ログイン名}]月間トランザクション数利用状況の通知

送信先:担当者ID、アカウントのご利用管理者様、連絡先1、連絡先2に登録されているメールアドレス

文面 :

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     スパイラル 月間トランザクション数 利用状況通知
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

スパイラルでご利用のトランザクションDBにおいて、
月間の無料利用分が残り10%を切ったことをお知らせします。

■アカウント
==================================================
XXXXXX

■月間トランザクション数(XXXX年XX月XX日XX時時点)
==================================================
利用件数 :XXXX
無料利用分:XXXX

※月間トランザクション数とは
アカウント内の全てのトランザクションDBに対する月単位
(1日から末日まで)の登録処理の件数です。

※月間トランザクション数の無料利用分と超過分について
月間トランザクション数は、ご利用いただいた月の契約レコード件数と
同数のトランザクションまで無料で利用できます。無料分を超過する場合は、
月間トランザクション数超過分として請求いたします。

6. その他

 

(1)トランザクションDBからサンキューメールを送る際にマスタデータにエラー反映をする方法

サンクスメールの配信エラー情報をDBに取得したい場合は、トランザクションDBとマスタDBで、DB連携し、マスタのエラーカウント(配信エラー)フィールドにエラー情報を記録するようにします。マスタDBにエラー情報を記録するには、「メールアドレス」とマスタDBの「エラーカウント(配信エラー)」フィールドを使う「仮想DB(連携型)」を作成し、このDBにサンクスメール用の配信リストを作成します。

(2)トランザクションDBに格納している個人情報の削除依頼が発生した場合

個人情報マスク機能で、トランザクションデータをマスクし、個人情報を閲覧できないようにすることができます。個人情報マスクは、マスクするデータを含んだトランザクションDBのDB詳細から利用できます。本機能でマスクできるのはトランザクションDBのデータだけです。アクション先のマスタDBのデータはマスクされません。
操作方法については「トランザクションDBに登録された個人情報をマスクしたい」をご参照ください。

(3)トランザクションDBに、登録、更新、更新登録、削除をする際に、動作が重い場合

登録データ数の多いトランザクションDBに、登録、更新、更新登録、削除をする場合、動作が重くなる可能性があります。その際は、データメンテナンスのクリーニングを実施することで動作が改善されます。

(4)トランザクションDBから通常DBに対する登録で、残りレコード数がマイナス表記になる場合

トランザクションDBから通常DBに対してデータを登録する場合、通常DBの登録レコード数が割り当てレコード件数を超え、使用可能レコード数がマイナス表記になることがあります。通常DBの割り当てレコード件数を超えると、DBオペレーション、データ登録、フォーム管理を利用して、通常DBに対して直接データを登録することができなくなります。通常DBに対してデータを登録したい場合は、割り当てレコード件数を変更してください。

(5)登録済みレコード数(DB割当)が契約レコード件数より大きい場合、操作画面の利用が制限されます。

トランザクションDBから通常DBに対してデータを登録する場合、登録済みレコード数(DB割当)が契約レコード件数を超えることがあります。この場合、スパイラルにログインする際にエラーが表示され、操作画面の利用が制限されます。その場合は、管理グループにある「レコー ド数変更」より適切な契約レコード件数に変更してください。

(6)数値系フィールドの演算で、マスタDBに登録可能な演算結果の範囲

アクションで更新で設定する数値系フィールドの演算で、演算結果が以下の範囲を超えた場合、マスタDBに正しく結果を登録できません。
マスタDBに登録可能な演算結果の範囲:-2147483648から+2147483647まで

(7)ファイル型フィールドを使用する場合、アカウント総容量の上限を超えて費用が発生する可能性があります。

ファイル型フィールドにはアカウントごとに10GB(標準提供)の総容量上限がございます。
トランザクションDBでファイル型フィールドを使用して総容量上限に達した場合、続けてご利用いただくためには
拡張オプションのお申込みが必要です。
詳しくは、下記ページをご参照ください。
関連リンク ファイル型フィールドの解説 / ファイル型フィールド拡張オプション

(8)フィールド数上限とレコードサイズ上限を増やしたい場合

標準のフィールド数の上限は「150個」、全フィールドのレコードサイズ合計の上限は「16,384bytes」です。
こちらの上限はオプションにお申込みいただくことでフィールド数上限「300個」、レコードサイズ上限「30,000bytes」に拡張することが可能です。