在法语中我们称并发控制问题是一杯咖啡原则。它应该是英文相同的,不应该吗?
这是原则。让我们想象一下医院管理系统。医生使用应用程序显示患者并进行修改。在点击“更新”之前,他先去喝咖啡。另一位医生在其客户端应用程序上显示相同的患者,并单击“更新”。当第一位医生回来时,他点击“更新”。这是问题:必须接受哪个更新?实际上,这是一个修辞问题:它是开发人员/架构师来回答它。
我正在考虑的一个解决方案是在表格中添加“ locked ”列。当我得到患者进行更新时,我将布尔值设置为 true ,并在我刚刚更新时将其设置为 false 。任何“获取更新”都会检查“已锁定”是否设置为 false 以允许写入。
您是否发现使用此解决方案有任何问题?
答案 0 :(得分:0)
在法语中,我们将并发控制问题称为“杯子” 咖啡原理。英语应该是一样的,不应该吗?
我从来没有听说过用英语说过,但我明白你的意思。将英语作为第一语言的数据库开发人员可能无法理解之前的你的意思,但在解释之后
。所有现代数据库都实现交易;正确使用事务将保证您想要的数据库行为。
"锁定"专栏是不必要的。如果您在交易中保持其状态,则对其状态的更改将不会对其他交易可见。如果在事务之外维护其状态,则可能会使其值与实际(dbms已发布和维护)锁不一致。