【CMU 15-445】Lecture 13: Query Execution II 学习笔记

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


本节课主要介绍一些并行查询的机制。

Parallel vs Distributed Databases

并行数据库与分布式数据库的区别:

  • 并行数据库的节点资源在物理位置上距离较近;分布式数据库则较远
  • 并行数据库各节点间的数据交流较快且可靠;分布式数据库较慢且不可靠
  • 并行数据库各节点间的数据传输延迟较小,可忽略不急;分布式数据库节点传输延迟较大,需要考虑在内

两种数据库在用户看来都是一样的,对于某个查询,返回最终结果;但是内部的设计却大不相同。

Process Models

本节介绍数据库中一些并行处理请求的模型,这些模型表明数据库系统是如何支持并行查询的。其基本思想是,系统中存在多个Worker;模型的不同点在于Worker的形式,如进程或线程。

Process per Worker

第一种模型是给每个Worker分配一个进程,由操作系统负责管理,如下图所示。数据库系统中的分配者将应用程序的请求分配给其中一个Worker,后续的请求数据与返回结果将由Worker进行接收和返回。
在这里插入图片描述
进程模型的优点是,其中一个进程的崩溃不会导致整个系统的崩溃;但是其去缺点就是严重依赖OS的调度,数据库系统难以自行调度进程。

Thread per Worker

第二种则是以线程的形式管理每一个Worker,为如今常用的数据库并行处理模型。这种模型使得线程的控制权在数据库系统手中而不依赖操作系统的调度,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值