博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分布式一致性解决分布式一致性问题用二阶段提交一个没有高可用组件的数据库不能依靠外部软件来实现高可用...
阅读量:6977 次
发布时间:2019-06-27

本文共 623 字,大约阅读时间需要 2 分钟。

聊聊分布式数据库的那些事儿|InfoQ大咖说

https://v.qq.com/x/page/r03631pv2j3.html

 

 

数据库需要支持事务,事务需要ACID
分布式数据库不一定需要支持事务,所以不一定支持ACID,只是提出了一个理论CAP,目前业界包括TiDB都普遍支持C和P,分布式数据库是比较新的技术,目前业界还没有相应标准,比如TPCC性能压测都是只针对单机数据库

分布式数据库里的A和P没什么好说的,可以讨论的是C,一致性

单机一致性:写入一条数据,再读出的时候,能不能读出刚才写入的最新那条数据

分布式一致性:
1、强一致性 2、最终一致性
强一致性 :TiDB支持强一致性,各个副本都是同步模式
最终一致性: 阿里的DRDS是最终一致性

解决分布式一致性问题,用二阶段提交,two-phase commit
队列或者其他技术本身都解决不了问题,只有两阶段提交是目前主流数据库采用的方案,包括SQL Server,PGSQL
两阶段提交需要用分布式事务管理器来拒绝单点

 

一个没有高可用组件的数据库,不能依靠外部软件来实现高可用,比较MySQL主从依靠zookeeper来做故障切换

但是zookeeper只能知道master挂了,但是不知道主从数据是否一致!
本质上无法解决问题

例如packmaker+corosync 做SQL Server的主从切换,SQL Server只能用共享存储,否则也是无法知道主从数据是否一致

 

f

转载地址:http://jxupl.baihongyu.com/

你可能感兴趣的文章
在typescript中导入第三方类库import报错
查看>>
AndroidApplication优化解耦
查看>>
[Vue CLI 3] 源码之 webpack-chain
查看>>
《JavaScript高级程序设计(第3版)》教程大纲
查看>>
spring cloud服务发现注解之@EnableDiscoveryClient与@EnableEurekaClient
查看>>
一个高仿追书神器的vue阅读器。已成功做成app
查看>>
阿里90后工程师利用ARM硬件特性开启安卓8终端“上帝模式”
查看>>
win10 spark+scala+eclipse+sbt 安装配置
查看>>
JS+CSS3 360度全景图插件 - Watch3D.js
查看>>
Kibana 用户指南(使用Flight仪表盘探索Kibana)
查看>>
前端工程师成长之多读好书
查看>>
浅谈 javascript 中的this绑定问题
查看>>
【跃迁之路】【425天】刻意练习系列184—SQL(2018.04.06)
查看>>
一分钟了解 TCP/IP 模型
查看>>
json
查看>>
JavaScript实现冒泡排序
查看>>
在实践中我遇到stompjs, websocket和nginx的问题与总结
查看>>
Techshack Weekly 第 0002 期
查看>>
Ubuntu的apt-get使用国内的源
查看>>
Android系统--TouchEvent的处理流程
查看>>