当前位置:网站首页>复制延迟案例(4)-一致前缀读
复制延迟案例(4)-一致前缀读
2022-08-02 03:37:00 【JavaEdge.】
该案例违反因果律。 想象先生和夫人之间的对话:
Mr
Mrs,你能看到多远未来?Mrs
通常约10s,Mr.
这两句之间有因果关系:夫人听到先生的问题并回答该问题。想象第三者老王在通过从节点听对话。 夫人说的内容是从一个延迟很低的从节点读取,但先生所说的内容,从节点的延迟要大的多,如图-5,于是该观察者会听到:
Mrs
通常约十秒钟,MrMr
Mrs,你能看到多远未来?
对观察者来说,看起来好像夫人在先生发问前就回答了问题。
防止这种异常,需要新类型的保证:一致前缀读(consistent prefix reads),若一系列写入按某个顺序发生,那么任何人读取这些写入时,也会看见它们以同样的顺序出现。
这是分片数据库中的特殊问题。若数据库总以相同顺序写入,则读总会看到一致的序列,不会发生这种异常。许多分布式数据库中,不同分片独立运行,因此不存在全局写入顺序。这就导致,当用户从DB读数据时,可能会看到DB某些部分处于较旧状态,某些处于较新状态。
解决方案
确保任何具有因果顺序关系的写人都交给一个分片来完成,但该方案实际的实现效率大打折扣 。
边栏推荐
猜你喜欢
随机推荐
Zabbix删除一些大表历史数据脚本
Nexus 5 phone uses Nexmon tool to get CSI information
位居榜首 | 未来智安荣登CCIA「2022年中国网安产业潜力之星」榜单
树莓派4B设置双网卡静态IP、网卡优先级、查看系统多少位
深度学习基础之batch_size
Research Notes (8) Deep Learning and Its Application in WiFi Human Perception (Part 1)
如何将 DevSecOps 引入企业?
8款最佳实践,保护你的 IaC 安全!
Nexus 5手机使用Nexmon工具获取CSI信息
吴恩达机器学习系列课程笔记——第七章:正则化(Regularization)
ftp服务的部署和优化
QObject: Cannot create children for a parent that is in a different thread.
JPA自定义SQL Column ××× not found.
七分钟深入理解——卷积神经网络(CNN)
吴恩达机器学习系列课程笔记——第十五章:异常检测(Anomaly Detection)
科研笔记(八) 深度学习及其在 WiFi 人体感知中的应用(下)
PHP5.6安装ssh2扩展用与执行远程命令
生物识别学习资源推荐
使用Ansible编写playbook自动化安装php7.3.14
腾讯云+keepalived搭建云服务器主备实践