简单说明:“交易”和“非交易”之间有什么区别?
在我的案例中,我在阅读“MDM”的以下定义时提出了这个问题:
“在计算中,主数据管理”(MDM)包含一组 一致定义和管理的流程和工具 组织的非交易数据实体(可能包括 参考数据)。“
答案 0 :(得分:18)
我认为理解交易数据和非交易数据之间区别的最佳方法是通过示例
非交易(这些信息与企业相关的持续时间比交易数据更长。)
交易(具有时间维度,并在交易完成后成为历史)
答案 1 :(得分:4)
当您收集并将一组操作包装成一个操作时,您的操作组将原子,并且任何子操作失败都将以回滚结束整体使整套操作可靠。这种操作结构的属性称为事务性。
举例说明交易;
想想你有一个处理客户订单,付款和其他账单的数据库,因此数据非常重要。您提供了web-ui和web-ui调用业务包类和方法。完成双职后,这些方法还会调用 dao (代表数据访问对象)类来处理 crud 操作。因此,后端服务器使用n层应用程序模型构建,并且有 dom 对象(代表域对象模型),它们以两种方式从服务端点传输数据数据库上下。
在用户想要更新某些信息的情况下,请说出电话号码,付款方式和信用卡。当服务器更新其中三个数据时,如果一个问题发生了怎么办?假设付款类型和电话号码已更新,但在更新信用卡时出现错误?如果计费失败,您将在一天或一个月结束。
但是如果你有一个机制,它将所有的信息更新包装到一个信息更新组中,那么在任何错误的情况下,整个更新将被回滚。这是交易的一个示例。
如果没有事务机制,假设您将所有信息保存在您处理io机制的自定义文件中,那么您的应用程序将必须处理所有可能的错误情况。
了解更多信息,您应该查看这些有用的维基百科文章;
答案 2 :(得分:1)
基本上,事务是一个或多个添加,更新,删除,修改数据库的更改,这些更改必须全部完成或者不应执行任何步骤。当数据完整性很重要时,事务数据库很有用。如果事务中的某个步骤失败,则必须将步骤回滚到未对数据库进行任何更改的状态。
您何时需要交易的一个示例是当您进行银行交易以将资金从一个帐户转移到另一个帐户时。该交易包括两个动作。
1)从账户A中取钱
2)将钱存入账户B.
如果您未能从帐户A中移除资金,则交易将失败,并且帐户A中不会从帐户中移除任何资金,并且帐户B中不会存入任何资金。
如果您成功从帐户A中删除了资金,但未能向帐户B添加资金,则交易将失败并且必须回滚交易,以便不从帐户A中扣除资金。
只有从账户A中移除资金并添加到账户B时,交易才会将更改提交给数据库。
这是一个代码示例的链接,用于使用SQLTransaction对象开始事务,提交事务并在失败时回滚: https://stackoverflow.com/a/21285747/311749
非事务性数据库可能具有更好的性能,因为它不必担心回滚更改。非交易数据库中的个人数据可能不需要交易处理,就像在银行账户之间管理资金一样。
可能的非交易清单的示例包括: 客户列表,联系信息,供应商信息,位置列表和零件清单。
Master Data Services旨在支持您要与多个应用程序共享的非事务性数据。
例如,您可能希望使用公司成员联系信息的单个主列表,并使其可供不同的应用程序访问。如果您有许多需要相同信息的应用程序,这比尝试为每个应用程序维护不同的联系人列表要好得多。
其他来源: https://en.wikipedia.org/wiki/Database_transaction
https://dba.stackexchange.com/questions/17246/diff-in-transactional-and-non-transactional-tables
答案 3 :(得分:0)
当它表示非事务性时,我认为这意味着数据不是由OLTP(在线事务处理)系统直接访问,而是存储在中央存储库中,所有系统都来自和发布每X小时更新一次(按照预先确定的间隔)
答案 4 :(得分:0)
TRANSACTIONAL在常用词中表示在TRANSACTION流程中获得的DATA,例如,当您注册销售或票证时。