Week6- 总结
一、mysql 复制
1.主从复制: 只有一个主处理写请求
2.主多从复制:多个从,不同的地方使用数据
分摊负载,专机专用,便于冷备,高可用
3.主主复制:只有一个主处理写请求
注意:
1)主主复制的两个数据库不能并发写入
2)复制只是增加了数据读并发的处理能力,没有增加写并发能力和存储能力
3)更新表结构会导致巨大的同步延迟
二、数据分片
分片目标:增加并发写入的能力,增加存储能力
分片特点
分片原理:根据算法把数据写到不同的数据库中
数据分片的挑战
1)需要大量的额外代码,处理逻辑因此变得更加复杂
2)无法执行多分片的查询
3)无法使用数据库的事务
4)随着数据的增长,如何增加更多的服务器
三、分布式数据库中间件
四、Nosql
CAP 原理
一致性 consistency:每次读取得数据应该是最近写入的数据或者返回一个错误,而不是过期的数据。 (数据正确)
可用性:每次请求都应该得到一个响应,而不是返回一个错误或者失去响应,不过这个响应不需要保证数据是最近写入的,也就是说系统需要一直都是可以正常使用的,不会引起调用者的异常,但是并不保证响应的数据是最新的。(不出错)
分区耐受性 Partition tolerance: 即使因为网络原因,部分服务器节点之间消息丢失或者延迟了,系统依然应该可以操作的(不挂)
五、最终一致写冲突
简单策略:根据时间戳最后写入覆盖
客户端冲突解决:给不同的购物车编号,后面再获取时进行合并处理
投票解决冲突:至少两个节点返回
Cassandra:分布式解决方案,至少一半的节点
六、Hbase 架构
七、分布式一致 ZooKeeper
1。分布式系统脑裂:不同服务器获得了相互冲突的数据信息或者执行指令,导致整个集群陷入混乱、数据损坏
2.架构
3.zab 协议
4.树状记录结构
5。配置管理
6 选 master:竞选申请
7.性能:读的性能更好一点
评论