deletemapping和get请求一致吗_提到数据库一致性,每个开发人员都应该知道这些...

2f74be5f3634c6a223e58981bb637733.png 作者 | Roberto Vitillo 译者 | 冬雨 策划 | 陈思 数据存储提供的一致性保证往往有悖于你的直觉,分布式存储尤是如此。有许多一致性模型对各种一致性保证给出了定义,本文将借助这些模型探讨这些一致性保证的区别是什么,你需要结合自己的需要做出怎样的权衡。

本文最初发布于 Roberto Vitillo 个人博客,InfoQ 中文站翻译并分享。

设象一下,如果给一个变量赋了值,然后立即读取,却发现读不到它,会不会很是让人抓狂呀!

x = 42
assert(x == 42) # 抛出异常

然而,使用具有弱一致性保证的分布式数据存储时还真有可能发生这样的情况。“但是等等,难道不应该由数据库为我处理一致性问题吗?”你可能会提出这样的问题。答案是,能够尽早读取到更新的值取决于数据库提供的保证。

为了提供高可用性和性能,一些数据库所提供的一致性保证与你的直觉并不相符。还有一些软件(比如 Azure 的 Cosmos DB 和 Cassandra)则将选择权交给你,由你自己选择是想要更好的性能还是更强的保证。因此,你应该知道需要做哪些权衡。

剖析数据库请求

让我们看看,当你向数据库发出一个请求时会发生什么

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值