Query Execution II
本节课主要介绍一些并行查询的机制。
Parallel vs Distributed Databases
并行数据库与分布式数据库的区别:
- 并行数据库的节点资源在物理位置上距离较近;分布式数据库则较远
- 并行数据库各节点间的数据交流较快且可靠;分布式数据库较慢且不可靠
- 并行数据库各节点间的数据传输延迟较小,可忽略不急;分布式数据库节点传输延迟较大,需要考虑在内
两种数据库在用户看来都是一样的,对于某个查询,返回最终结果;但是内部的设计却大不相同。
Process Models
本节介绍数据库中一些并行处理请求的模型,这些模型表明数据库系统是如何支持并行查询的。其基本思想是,系统中存在多个Worker;模型的不同点在于Worker的形式,如进程或线程。
Process per Worker
第一种模型是给每个Worker分配一个进程,由操作系统负责管理,如下图所示。数据库系统中的分配者将应用程序的请求分配给其中一个Worker,后续的请求数据与返回结果将由Worker进行接收和返回。

进程模型的优点是,其中一个进程的崩溃不会导致整个系统的崩溃;但是其去缺点就是严重依赖OS的调度,数据库系统难以自行调度进程。
Thread per Worker
第二种则是以线程的形式管理每一个Worker,为如今常用的数据库并行处理模型。这种模型使得线程的控制权在数据库系统手中而不依赖操作系统的调度,

本文介绍了并行查询处理的关键概念,包括并行数据库与分布式数据库的区别、进程和线程模型、查询间与查询内的并行执行、操作内与操作间的并行、以及I/O并行化的多磁盘和数据库分区技术。
最低0.47元/天 解锁文章
909

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



