证明 Azure 中的事务处理
由于我正在为我的大学撰写有关“MS Azure 中的事务处理”的研讨会论文,因此我想启动银行转账模拟。我已经实现了一个入门工具来熟悉Azure: http ://www.c-sharpcorner.com/UploadFile/dhananjaycoder/48/Default.aspx。问题:实现(反)证明 Azure 中的事务正确完成的小型应用程序的最简单方法(使用 SQL Azure)是什么? (例如没有丢失更新)
Since I am writing a seminar work on "Transaction Processing in MS Azure" for my university I wanted to launch a bank-transfer simulation. I already have implemented a getting-started thingy to get familiar with Azure: http://www.c-sharpcorner.com/UploadFile/dhananjaycoder/48/Default.aspx . Question: What is the most easy way (using SQL Azure) to implement a small app which (dis)proves that transactions in Azure are done properly? (e.g. no lost updates)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
SQL Azure 具有与 SQL Server 相同的处理 - 仅限于 SQL Server 中可用的一个非常大的子集。因此,您可以将您的问题重新表述为:如何证明 SQL Server 中事务处理的正确性。
嗯,不幸的答案是:你无法证明正确性,你必须相信 MS 的这一点。
显然,您可能会遇到压力情况,试图“欺骗”RDBMS 进入困境,以查看事务是否继续受到尊重,但无法找到错误并不能证明找不到错误。
最后,我认为原子事务是 SQL Azure 或 SQL Server(一种历史悠久的 MS 产品)的关键功能之一,因此您可以非常确信它做得正确。
SQL Azure has an identical processing to SQL Server - only restricted to a very large subset of what's available in SQL Server. So you can re-phrase your question as: how do you prove the correctness of transaction handling in SQL Server.
Well, the unfortunate answer is: you can't prove correctness, you have to trust MS on that one.
Obviously, you could come with stress situation trying to "trick" the RDBMS into corner situation to see if transactions keep being respected, but not being able to find a bug does not prove that no bug could be found.
Finally, I would that atomic transactions is one of the critical feature of either SQL Azure or SQL Server (a long long established MS product), hence you can have a very high confidence, that it's done right.