简单来说:“事务性”和“非事务性”的区别是什么?
在我的情况下,我提出了这个问题,是因为我在阅读“MDM”的以下定义时遇到了困惑:
“在计算中,主数据管理”(MDM)包括一组过程和工具,用于一致地定义和管理组织的非事务性数据实体(可能包括参考数据)。”
简单来说:“事务性”和“非事务性”的区别是什么?
在我的情况下,我提出了这个问题,是因为我在阅读“MDM”的以下定义时遇到了困惑:
“在计算中,主数据管理”(MDM)包括一组过程和工具,用于一致地定义和管理组织的非事务性数据实体(可能包括参考数据)。”
我认为理解事务性数据和非事务性数据之间的区别最好的方法是通过例子来说明。
非事务性数据(这些信息与企业相关的时间比事务性数据更长)
事务性数据(具有时间维度,一旦交易完成就变成历史性数据)
举个例子来说明事务(transaction):
假设您有一个处理客户订单、付款和其他计费内容的数据库,所以数据非常重要。您提供了一个 Web UI 界面,Web UI 调用业务包类和方法。完成业务作业后,这些方法也会调用 dao(数据访问对象) 类来处理crud(Create-Read-Update-Delete)(增删改查)操作。因此,后端服务器建立在 n-tier 应用程序模型上,存在dom(Domain Object Model),领域对象模型,可在服务端点与数据库之间双向传输数据。
在用户尝试更新某些信息(例如电话号码、付款方式和信用卡)的情况下,如果服务器正在更新这三个数据,如果其中一个出现问题会怎样?例如,已经更新了付款类型和电话号码,但在更新信用卡时发生错误。则本次计费业务响应失败。
但是,如果您有一种机制,可以将所有信息更新包装到一个信息更新组中,那么在发生任何错误的情况下,整个更新将被回滚。这是事务(transaction)的示例。
如果没有事务(transaction)机制,假设您将所有信息都保存在自定义文件中,并处理 I/O 机制,则您的应用程序将不得不处理每种可能的错误场景。
要了解更多信息,请查看以下有用的维基百科文章:
“TRANSACTIONAL”一般指在交易过程中获取的数据,例如,当您注册销售或购票时。