gpt4 book ai didi

database - 软件事务内存是否与数据库事务相同?

转载 作者:太空狗 更新时间:2023-10-30 01:48:43 29 4
gpt4 key购买 nike

我已经阅读了很多有关软件事务内存的内容,尤其是与 Haskell 相关的内容,但我想弄清楚它与数据库事务有何不同? STM 是否有一些我不了解的优点?

最佳答案

软件事务内存中“事务”的概念是明确从数据库中借用的。不同之处在于交易的实现地点和使用方式。

STM 是一个语言级别的概念:直到一个事务被提交后,一系列的操作才会生效。通常这意味着某些全局/共享变量的值仅在事务成功时才会更改。该属性由语言运行时强制执行。没有持久性的固有概念:交易中涉及的变量本质上可能是纯粹动态的(例如,工作队列的大小)。

数据库事务是一个应用层的概念:一系列的数据操作在事务提交后才会生效。由于这是一个数据库,持久性是基础:在数据库内部“生效”的意思是数据保存在某个持久性存储中。

您可能会使用数据库和数据库事务来实现 STM 风格的算法,但您会失去语言级实现的轻松和便利(在大多数情况下可能会失去性能)。

关于database - 软件事务内存是否与数据库事务相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2495671/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com