ACID
ACID:RDBMS的理论基石
- 原子性(Atomicity)
- 一致性(Consistency)
- 隔离性(Isolation)
- 持久性(Durability)
CAP理论
Brewer的CAP理论:在一个分布式环境下,存在3个核心需求
- 数据的一致性(Consistency)
- 系统的高可用性(Aviliability)
- 分区容错性(Partition Tolerance)
这三个需求不可能同时满足,最多只能满足2个。
Base理论
弱化了的CAP理论:
- Basically Availible(基本可用)
- Soft state(软状态、柔性事务)
- Eventual Consistency(最终一致性)
NWR法则
NWR :
- N:复制的节点数量
- W:成功写操作的最小节点数
- R:成功读操作的最小节点数
当 R + W > N
,可以保证强一致性。
当R + W <= N
,无法保证数据的一致性。
极端情况:
W = 1, R = N
,写要求高性能高可用R = 1, W = N
,读要求高性能高可用
读写平衡:W = Q, R = Q, Q = N/2+1
分布式数据库架构
分布式数据库架构优势:
- 数据的并行计算和访问
- 灵活的扩展性
- I/O通道的扩展
- 对应用透明
- 主机资源的整合
- 数据的冗余
架构:
- 主机数量
- 数据冗余
- 系统监控
- 水平扩展
- 备份及恢复
- 容灾
影响数据库数量的因素:
- 系统容量
- 查询性能
- 加载性能
- 恢复时间
备份考虑的因素:分布式环境下,可能Rman备份不能使用,可以考虑将数据库中的数据导出成格式化文件进行备份,恢复时使用Sql*Loader进行导入恢复。
扩展性要考虑的因素:
- 当业务数据接近系统设计的上限值时,需要容量扩展
- 当数据处理的速度无法满足业务需求时,需要性能扩展
- 为了防止突发事件使数据库崩溃
分布式系统中间件架构
分布式系统中间件优势:
- 统一对外的API
- 高效的查询和加载性能
- 负载均衡
- 灵活的扩展性
架构中间件需要考虑的因素:
- 统一API
- 负载均衡
- 数据查询
- 数据加载
- 服务监控
- 容错和扩展