并行数据库系统与多媒体对象服务器技术解析
立即解锁
发布时间: 2025-08-25 01:06:51 阅读量: 1 订阅数: 9 


并行与分布式处理手册核心内容解析
### 并行数据库系统与多媒体对象服务器技术解析
#### 1. 数据库架构
并行数据库系统主要有三种架构,它们各有优缺点,以下是详细介绍:
| 架构类型 | 特点 | 优点 | 缺点 |
| --- | --- | --- | --- |
| 共享一切架构 | 所有处理器可访问所有内存和磁盘 | 软件设计简单,资源共享灵活,易支持任意程度的处理器并行 | 缺乏可扩展性和容错性 |
| 共享磁盘架构 | 每个处理器有自己的私有内存,但都可访问所有磁盘 | 处理器分配灵活,有一定容错性,故障处理器模块不影响数据访问 | 数据库部分可缓存在处理器私有内存,维护数据库一致性是主要问题 |
| 共享无架构 | 磁盘和内存仅由单个处理器访问 | 适合大规模系统,可通过数据冗余和多访问路径提供高容错性 | - |
此外,这三种基本架构类型还有很多变体。例如,共享无架构的单个节点可以是“共享一切”的对称多处理器。同时,物理系统架构和软件架构需要区分开来,如共享磁盘的物理配置可能会以共享无数据库的方式实现。
#### 2. 并行查询处理
并行查询处理有多种并行形式,包括分区并行(数据并行)、流水线并行和树状并行:
- **分区并行**:对一组数据的操作在数据的不同分区上并行执行。
- **流水线并行**:当一组数据项可以通过多个操作进行流水线处理时适用。例如,SCAN 操作从磁盘存储系统读取元组,SELECT 操作对元组进行条件测试,这两个操作可以流水线执行,在读取元组的同时进行条件测试。
```mermaid
graph LR
A[SCAN 操作] --> B[SELECT 操作]
```
- **树状并行**:在关系查询中,当两个操作没有依赖关系(即一个操作的输出不是另一个操作的输入)时适用。例如,四个关系表 T1、T2、T3 和 T4 的连接操作可以并行进行。
查询执行计划(QEP)是指对给定查询的物理实现的特定选择,由优化器根据以下因素选择:
- 代数变换,如操作的交换性或传递性。
- 操作的不同物理实现,如不同的连接算法,或使用索引与全表扫描。
- 数据的统计信息,如条件的选择性。
- 操作的成本,如处理器周期、I/O 操作、主内存使用。
- 操作之间的相互关系,如一个操作的输出如果使元组按一定顺序排列,可以使下一个操作更高效。
QEP 可以用有向树结构抽象表示,树的节点是操作符的物理实现,叶子节点通常是从磁盘存储表读取数据的 SCAN 操作符。
#### 3. 数据分区
数据分区方式对共享无架构系统的性能有重要影响,常见的数据分布方法有:
- **哈希法**:如果有 N 个节点,将每个元组的一个(组)属性哈希到一个节点编号,元组存储在该节点。大多数系统使用一个系统范围的哈希函数。
- **基于值的分区**:用户可以为某个属性指定分区范围,属性值在子范围 i 的所有元组将存储在节点 i。
- **轮询法**:每个新元组按顺序存储在下一个节点,对节点数量取模。
##### 3.1 主键访问
轮询法简单且能使元组在节点间均匀分布,但在根据属性值查找元组时没有线索,需要在每个节点执行子查询。而哈希法和基于值的分区法可以直接将查询导向包含记录的节点,提高查询效率。例如,对于查询“SELECT balance FROM Accounts WHERE acct - num = 1234;”,如果元组按 acct - num 属性哈希,查询管理器可以直接将查询发送到包含该记录的节点。
哈希法在范围搜索方面有明显缺点。如果元组按
0
0
复制全文
相关推荐










