分布式数据库一主多从复制的优点
- 分摊负载
- 专机专用
- 便于冷备
- 高可用
MySQL复制注意事项:
- 主主复制的两个数据库不能并发写入。
- 复制只是增加了数据的读并发处理能力,没有增加写并发能力和存储能力。
- 更新表结构会导致巨大的同步延迟。
数据分片的挑战
- 需要大量的额外代码,处理逻辑因此变得更加复杂。
- 无法执行多分片的联合查询。
- 无法使用数据库的事务。
- 随着数据的增长,如何增加更多的服务器。
CAP原理
当网络分区失效发生的时候,我们要么取消操作,这样数据就是一致的, 但是系统却不 可用;要么我们继续写入数据,但是数据的一致性就得不到保证。 对于一个分布式系统而言,网络失效一定会发生,也就是说,分区耐受性是必须要保证 的,那么在可用性和一致性上就必须二选一。 当网络分区失效,也就是网络不可用的时候,如果选择了-致性,系统就可能返回一个 错误码或者干脆超时,即系统不可用。如果选择了可用性,那么系统总是可以返回一个 数据,但是并不能保证这个数据是最新的。 所以,关于CAP原理,更准确的说法是,在分布式系统必须要满足分区耐受性的前提下, 可用性和一致性无法同时满足。
ACID
- 原子性(Atomicity) :事务要么全部完成,要么全部取消。如果事务 崩溃,状态回到事务之前(事务回滚)
- 隔离性(Isolation) :如果2个事务T1和T2同时运行,事务T1和T2最终的结果是相同的,不管T1和T2谁先结束,隔离性主要依靠锁现。
- 持久性(Durability) :一旦事务提交,不管发生什么(崩溃或者出错) ,数据要保存在数据库中。
- 一致性 (Consistency) : 只有合法的数据(依照关系约束和函数约束)才能写入数据库。
BASE
- 基本可用(Basically Available)系统在出现不可预知故障时,允许损失部分可用性,如响应时间.上的损失或功能上的损失。
- Soft state (弱状态)软状态,指允许系统中的二数据存在中间状态,并认为该中间状态的存在不会影响系统的整体可用性,即允许系在- 不同节点的数据副本之间进行数据同步的过程存在延时。
- Eventually consistent (最终一致性 )指系统中所有的数据副本,在经过一段时间的同步后,最终能够达到一个一致的状态,因此最- 终一致性的本 质是需要系统保证数据能够达到一致,而不需要实时保证系统数据的强-致性。
本文由 biezhi 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:
2020/07/16 10:25