分布式数据库模式解析
1. 数据库复制
数据库复制最初是作为实现高可用性的一种手段而被采用的。通过复制,数据库管理员可以配置一个备用数据库,以便在主数据库出现故障时接管其工作。
数据库复制通常利用大多数关系数据库用于支持 ACID 事务的事务日志。当一个符合 ACID 标准的数据库中的事务提交时,事务记录会立即写入事务日志,这样即使发生故障,数据也能得以保留。一个监控事务日志的复制进程可以将这些更改应用到备份数据库,从而创建一个副本。
以下是日志式复制的流程:
1. 数据库事务以异步“惰性”方式写入数据库文件。
2. 数据库事务提交时立即写入事务日志。
3. 复制进程监控事务日志,并将事务应用到只读从数据库。
复制通常是异步的,但在某些数据库中,提交操作可以延迟到事务复制到从数据库之后进行。复制通常是向多服务器分发数据库负载的第一步。通过复制,读工作负载可以以横向扩展的方式进行分发,不过数据库事务仍必须应用到主副本上。
2. 无共享和共享磁盘架构
复制模式在将读活动分布到多个服务器方面效果很好,但它不能分布事务性写负载,这些写负载仍然必须专门定向到主服务器。此外,复制在分发数据仓库工作负载方面的价值也有限。在线事务处理(OLTP)工作负载通常由大量短时间的请求组成,而在数据仓库环境中,工作负载通常由较少数量但数据密集型的查询组成。
为了在多个数据库服务器之间并行执行查询,出现了无共享集群数据库架构。数据库服务器可以分为以下几类:
| 架构类型 | 描述 |
| ---- | ---- |
| 共享一切 | 每个数据库进程共享相同的内存、C
超级会员免费看
订阅专栏 解锁全文
1414

被折叠的 条评论
为什么被折叠?



