前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >复制延迟案例(4)-一致前缀读

复制延迟案例(4)-一致前缀读

作者头像
JavaEdge
发布2022-08-01 08:14:56
1560
发布2022-08-01 08:14:56
举报
文章被收录于专栏:JavaEdge

该案例违反因果律。 想象先生和夫人之间的对话:

Mr Mrs,你能看到多远未来? Mrs 通常约10s,Mr.

这两句之间有因果关系:夫人听到先生的问题并回答该问题。想象第三者老王在通过从节点听对话。 夫人说的内容是从一个延迟很低的从节点读取,但先生所说的内容,从节点的延迟要大的多,如图-5,于是该观察者会听到:

Mrs 通常约十秒钟,Mr Mr Mrs,你能看到多远未来?

对观察者来说,看起来好像夫人在先生发问前就回答了问题。

图-5 若某些分区的复制速度慢于其他分区,则观察者在看到问题前,可能会看到答案
图-5 若某些分区的复制速度慢于其他分区,则观察者在看到问题前,可能会看到答案

防止这种异常,需要新类型的保证:一致前缀读(consistent prefix reads),若一系列写入按某个顺序发生,那么任何人读取这些写入时,也会看见它们以同样的顺序出现。

这是分片数据库中的特殊问题。若数据库总以相同顺序写入,则读总会看到一致的序列,不会发生这种异常。许多分布式数据库中,不同分片独立运行,因此不存在全局写入顺序。这就导致,当用户从DB读数据时,可能会看到DB某些部分处于较旧状态,某些处于较新状态。

解决方案

确保任何具有因果顺序关系的写人都交给一个分片来完成,但该方案实际的实现效率大打折扣 。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/07/31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 解决方案
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档