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
  • 负载均衡
  • 数据查询
  • 数据加载
  • 服务监控
  • 容错和扩展