web-dev-qa-db-ja.com

トランザクションと非トランザクションの違い

簡単に言うと、「トランザクション」と「非トランザクション」の違いは何ですか?

私の場合、次の「MDM」の定義を読んでいるときにこの質問を思いつきました。

「コンピューティングでは、マスターデータ管理(MDM)は、組織の非トランザクションデータエンティティ(参照データを含む場合があります)を一貫して定義および管理する一連のプロセスとツールで構成されます。」

15
philips

トランザクションデータと非トランザクションデータの違いを理解する最良の方法は、例を使用することです

非トランザクション(これらの情報は、トランザクションデータよりも長期間企業に関連しています。)

  • 顧客:名前、設定
  • 製品:名前、階層
  • サイト/ロケーション:アドレス
  • アカウント:契約詳細

トランザクション(時間ディメンションがあり、トランザクションが完了すると履歴になります)

  • 財務:注文、請求書、支払い
18
DB Prasad

一連の操作を1つにまとめてラップすると、操作のグループはatomicになり、サブ操作の失敗はすべてrollback一連の操作を信頼できるものにします。この種の操作構造のプロパティは、transactionalと呼ばれます。

transaction;に関する例を示す

顧客の注文、支払い、その他の請求事項を処理するデータベースがあると考えてください。したがって、データは非常に重要です。 Web-UIを提供し、Web-UIがビジネスパッケージのクラスとメソッドを呼び出します。また、これらのメソッドは、biジョブの完了後、daoを呼び出します(data access object)クラスを使用してcrud操作を処理します。したがって、バックエンドサーバーはn層アプリケーションモデルで構築され、domオブジェクト(domainオブジェクトの略)がありますモデル)は、サービスエンドポイントからデータベースにデータを双方向で送信します。

ユーザーがいくつかの情報を更新したいシナリオで、電話番号、支払いタイプ、クレジットカードを言ってみましょう。サーバーがこれらのデータの3つを更新しているときに、1つのデータで問題が発生した場合はどうなりますか?たとえば、支払いタイプと電話番号が更新されたが、クレジットカードの更新中にエラーが発生したとします。最終的には、請求が失敗した日または月になります。

ただし、すべての情報更新を情報更新グループにラップするメカニズムがある場合、エラーが発生すると、更新全体がロールバックされます。これはtransactionの例です。

トランザクションメカニズムがない場合、ioメカニズムを処理するカスタムファイルのすべての情報を保持するとします。アプリケーションは、考えられるすべてのエラーシナリオを処理する必要があります。

詳細については、これらの有用なウィキペディアの記事をチェックアウトしてください。

5

基本的に、トランザクションは、データベースへの1つまたは複数の追加、更新、削除、変更の変更であり、すべて完了する必要があるか、いずれのステップも実行してはなりません。トランザクションデータベースは、データの整合性が重要な場合に役立ちます。トランザクションのいずれかのステップが失敗した場合、データベースに変更が加えられていない状態にステップをロールバックする必要があります。

トランザクションが必要になる場合の例は、銀行取引を行って、ある口座から別の口座にお金を移動する場合です。トランザクションは2つのアクションで構成されます。

1)アカウントAからお金を受け取る

2)お金をアカウントBに入れます。

アカウントAからお金を削除できなかった場合、取引は失敗し、アカウントAからお金は削除されず、アカウントBにはお金が置かれません。

アカウントAからお金を正常に削除したが、アカウントBにお金を追加できなかった場合、トランザクションは失敗し、アカウントAからお金が取り出されないようにトランザクションをロールバックする必要があります。

お金がアカウントAから削除され、かつアカウントBに追加された場合にのみ、トランザクションはデータベースへの変更をコミットします。

SQLTransactionオブジェクトを使用してトランザクションを開始し、コミットして、失敗時にロールバックするためのコードサンプルへのリンクを次に示します。 https://stackoverflow.com/a/21285747/311749

非トランザクションデータベースは、変更のロールバックを心配する必要がないため、おそらくパフォーマンスが向上します。非トランザクションデータベース内の個々のデータは、銀行口座間のお金を管理する場合のようにトランザクション処理を必要としない場合があります。

可能な非トランザクションリストの例には、顧客リスト、連絡先情報、サプライヤー情報、ロケーションリスト、パーツリストなどがあります。

マスターデータサービスは、複数のアプリケーションと共有する非トランザクションデータをサポートするように設計されています。

たとえば、会社のメンバーの連絡先情報の単一のマスターリストを使用して、さまざまなアプリケーションからアクセスできるようにすることができます。この同じ情報を必要とするアプリケーションがたくさんある場合は、アプリケーションごとに異なる連絡先リストを維持するよりもはるかに優れています。

追加のソース: https://en.wikipedia.org/wiki/Database_transaction

https://dba.stackexchange.com/questions/17246/diff-in-transactional-and-non-transactional-tables

1
WWC

非トランザクションと表示されている場合、 [〜#〜] oltp [〜#〜] (オンライントランザクション処理)システムがデータに直接アクセスしていないことを意味します。中央リポジトリは、すべてのシステムがX時間ごとに(事前に決められた間隔で)更新を送信および更新しました

0
Diego

TRANSACTIONALは、一般的な言葉で言うと、トランザクションまたはトランザクションを登録するときなどに、トランザクションプロセスで取得されるデータであることを意味します。

0
Carlos Carranza