当前位置:网站首页>多数据中心操作和检测并发写入
多数据中心操作和检测并发写入
2022-07-31 16:31:00 【华为云】
多数据中心操作
无主复制也适用于多数据中心操作,因其旨在更好的容忍并发写冲突、网络中断和延迟尖峰等。
Cassandra在其默认配置的无主模型都支持跨数据中心操作:副本的数量n包括所有数据中心的节点,在配置中,您可以指定每个数据中心中您想拥有的副本的数量。无论数据中心如何,每个来自客户端的写入都会发送到所有副本,但客户端通常只等待来自其本地数据中心内的法定节点的确认,从而不会受到跨数据中心链路延迟和中断的影响。对其他数据中心的高延迟写入通常被配置为异步发生,尽管配置有一定的灵活性【50,51】。
Riak将客户端和数据库节点之间的所有通信保持在一个数据中心本地,因此n描述了一个数据中心内的副本数量。数据库集群之间的跨数据中心复制在后台异步发生,其风格类似于多领导者复制。
检测并发写入
Dynamo风格DB允许多个客户端对相同K并发写,即使使用严格quorum机制也可能冲突。类似多主复制,但在DynamoDB中,在读修复或数据回传期间也可能产生并发写冲突。
由于网络延迟不稳定或局部失效,请求在不同节点可能不同顺序到达。如图-12显示两个客户机A、B同时向主键X发起写请求:
- 节点1收到A的写入,但由于节点失效,没接收到B的写
- 节点2首先收到A的写,然后接收B的写
- 节点3先接收B的写,然后是A的写

若节点每当接收到新的写请求就简单覆盖原有K,则节点将永久不一致,如图-12,节点2认为X最终值B,而其他节点认为值是A。
副本应收敛于相同值,才能达成最终一致。有人可能希望副本之间能自动处理,但很不幸,大多数实现都很垃圾,若不想丢数据,就得知道很多有关DB内部冲突处理的机制。
边栏推荐
- 小程序:matlab解微分方程「建议收藏」
- 2020微信小程序反编译教程(小程序反编译源码能用吗)
- form 表单提交后,使页面不跳转[通俗易懂]
- How to switch remote server in gerrit
- i.MX6ULL驱动开发 | 33 - NXP原厂网络设备驱动浅读(LAN8720 PHY)
- tensorflow2.0 cnn(layerwise)
- 关于柱状图的经典画法总结
- 苹果官网样式调整 结账时产品图片“巨大化”
- Stuck in sill idealTree buildDeps during npm installation, npm installation is slow, npm installation is stuck in one place
- 字符串反转的实现方法总结「建议收藏」
猜你喜欢

研发过程中的文档管理与工具

Graham's Scan method for solving convex hull problems

联邦学习:联邦场景下的多源知识图谱嵌入

2022年必读的12本机器学习书籍推荐

Foreign media right, apple on May be true in inventory

动态规划之线性dp(上)

上传图片-微信小程序(那些年的坑记录2022.4)

The 2nd China PWA Developer Day

6-22 Vulnerability exploit - postgresql database password cracking

关于柱状图的经典画法总结
随机推荐
t-sne 数据可视化网络中的部分参数+
6-22漏洞利用-postgresql数据库密码破解
Insert into data table to insert data
How to install CV2 smoothly in Anaconda
Stuck in sill idealTree buildDeps during npm installation, npm installation is slow, npm installation is stuck in one place
LeetCode_733_图像渲染
第二届中国PWA开发者日
动态规划之线性dp(下)
阿里三面:MQ 消息丢失、重复、积压问题,如何解决?
智能垃圾桶(八)——红外对管传感器(树莓派pico)
LevelSequence源码分析
Implementing DDD based on ABP
Flutter 获取状态栏statusbar的高度
C语言-函数
Emmet syntax
Delete the disk in good condition (recovery partition)
利用PHP开发具有注册、登陆、文件上传、发布动态功能的网站
How does automated testing create business value?
flutter设置statusbar状态栏的背景颜色和 APP(AppBar)内部颜色一致方法。
【pytorch】1.7 pytorch与numpy,tensor与array的转换