Module 01 · Relational Database Concepts
Distributed Architecture and Clustered Databases分布式架构与集群数据库
看完本视频后,您将能够:
- 描述常见数据库架构类型及其优势。
- 描述一些管理数据和优化性能的技术。
一、 分布式数据库架构
在我们对数据库架构的探索中,我们主要关注了单服务器配置。然而,对于需要高可用性或可扩展性的关键或大规模工作负载,关系型数据库管理系统(RDBMS)提供了分布式架构。
分布式数据库架构涉及通过网络互连的机器集群,用于分散数据处理和存储任务。
这种方法带来了显著的益处:
- 增强的可扩展性 (Scalability)
- 容错能力 (Fault Tolerance)
- 整体性能提升 (Overall Performance Improvements)
二、 数据库架构类型
常见的数据库架构类型包括:
1. 共享磁盘架构 (Shared Disk Architecture)
- 配置: 多个数据库服务器并行处理工作负载。
- 连接: 每个服务器连接到共享存储,并使用高速互连与其他服务器通信。
- 优势: 有效分配工作负载,确保随着处理能力需求的增长而具备可扩展性。
- 高可用性 (High Availability, HA): 如果一台服务器发生故障,系统有机制无缝地将客户端重新路由到其他服务器,保持高可用性并最大限度地减少服务中断。
2. 共享无架构 (Shared Nothing Architecture)
- 配置: 利用复制 (Replication) 或分区 (Partitioning) 技术。
- 优势: 有效地将客户端工作负载分配到多个节点,促进并行处理和高效资源利用。
- 容错能力: 服务器发生故障时,将客户端重新路由到替代节点,增强了容错能力。
3. 组合与专业架构
- 某些分布式数据库架构采用共享磁盘、共享无、复制或分区技术的组合。
- 此外,它们还集成了专业硬件组件,以实现与可用性和可扩展性相关的特定目标。
三、 数据管理与性能优化技术
了解了不同类型的数据库架构后,我们来探讨一些管理数据和优化性能的技术:
1. 数据库复制 (Database Replication)
- 定义: 将更改从一个数据库服务器复制到一个或多个副本 (Replicas)。
- 目的: 将客户端工作负载分配到多个服务器,从而提高性能。
高可用性 (HA) 副本
- 副本驻留在同一位置时,称为 HA 副本。
- 如果主数据库服务器因软件或硬件问题发生故障,系统会将客户端重定向到 HA 副本。
灾难恢复 (Disaster Recovery, DR) 副本
- 为了减轻更广泛的灾难(如断电、火灾、地震、洪水等),组织会在地理上分散的位置建立副本。
- 这确保在整个数据中心完全中断时,客户端可以被重新路由到灾难恢复副本。
2. 数据库分区与分片 (Partitioning and Sharding)
- 分区 (Partitioning): 将包含大量数据的表划分为逻辑段,每个段包含整体数据的一个子集(例如,不同季度的销售记录)。
- 分片 (Sharding): 是一种将这些分区放置在集群中不同节点上的技术。
- 计算资源: 每个分片都拥有自己的计算资源(处理能力、内存和存储)来处理其特定的数据子集。
- 并行处理: 当客户端发出查询时,查询会在多个节点或分片上并行处理,并将来自不同节点的结果合成为最终结果返回给客户端。
- 可扩展性: 随着数据或查询工作负载的增加,可以无缝地向数据库集群添加额外的分片和节点,从而增加并行处理并提高整体性能。
- 应用: 数据库分区和分片在处理涉及海量数据的数据仓库和商业智能工作负载中尤为常见。
总结要点
- RDBMS 为关键或大规模工作负载提供分布式架构。
- 共享磁盘允许并行处理,并具备服务器故障时实现高可用性的机制。
- 共享无架构采用复制或分区来优化性能。
- 数据库复制涉及将更改从一个数据库服务器复制到一个或多个副本。
- 分片涉及将分区放置在单独的节点上,有助于增加并行处理并提高整体性能。