理解MySQL——并行数据库与分区(Partion)
2009-12-30 00:00:00 来源:WEB开发网核心提示: 轮转法适合顺序扫描关系,对点查询和范围查询的处理较复杂,理解MySQL——并行数据库与分区(Partion)(4), 散列划分特别适合点查询,速度最快,并且划分是基于划分属性的,则排序操作可以如下进行:对每个分区并行的排序, 范围划分对点查询、范
轮转法适合顺序扫描关系,对点查询和范围查询的处理较复杂。
散列划分特别适合点查询,速度最快。
范围划分对点查询、范围查询以及顺序扫描都支持较好,所以适用性很广。但是,这种方式存在一个问题——执行偏斜(execution skew),也就是说某些范围的元组较多,使得大量的I/O出现在某几个磁盘。
1.3、查询间并行(interquery parallism)
查询间并行指的是不同的查询或事务间并行的执行。这种形式的并行可以提高事务的吞吐量,然而,单个事务并不能执行得更快(即响应时间不能减少)。查询间的并行主要用于扩展事务处理系统,在单位时间内能够处理更多的事务。
查询间并行是数据库系统最易实现的一种并行,在共享内存的并行系统(如SMP)中尤其这样。为单处理器设计的数据库系统可以不用修改,或者很少修改就能用到共享内存的体系结构。
在共享磁盘和无共享的体系结构中,实现查询间并行要更复杂一些。各个处理需要协调来进行封锁、日志操作等等,这就需要处理器之间的传递消息。并行数据库系统必须保证两个处理器不会同时更新同一数据。而且,处理器访问数据时,系统必须保证处理器缓存的数据是最新的数据,即缓存一致性问题。
1.4、查询内并行(intraquery parallism)
查询内并行是指单个查询要在多个处理器和磁盘上同时进行。为了理解,来考虑一个对某关系进行排序的查询。假设关系已经基于某个属性进行了范围划分,存储于多个磁盘上,并且划分是基于划分属性的。则排序操作可以如下进行:对每个分区并行的排序,然后将各个已经有序的分区合并到一起。
单个查询的执行可以有两种并行方式:
[]
更多精彩
赞助商链接