WEB开发网
开发学院数据库MySQL 理解MySQL——并行数据库与分区(Partion) 阅读

理解MySQL——并行数据库与分区(Partion)

 2009-12-30 00:00:00 来源:WEB开发网   
核心提示: 这种结构中,由于数据是各个处理器私有的,理解MySQL——并行数据库与分区(Partion)(3),因此系统中数据的分布就需要特殊的处理,以尽量保证系统中各个节点的负载基本平衡,如name = “hustcat”;(3) 范围查询(range query),如 20 &l

这种结构中,由于数据是各个处理器私有的,因此系统中数据的分布就需要特殊的处理,以尽量保证系统中各个节点的负载基本平衡,但在目前的数据库领域,这个数据分布问题已经有比较合理的解决方案。

由于数据是分布在各个处理节点上的,因此,使用这种结构的并行数据库系统,在扩展时不可避免地会导致数据在整个系统范围内的重分布(Re-Distribution)问题。

Shared-Nothing结构的典型代表是Teradata(并行数据库的先驱),值得一提的是,MySQL NDB Cluster也使用了这种结构。

1.2、I/O并行(I/O Parallelism)

I/O并行的最简单形式是通过对关系划分,放置到多个磁盘上来缩减从磁盘读取关系的时间。并行数据库中数据划分最通用的形式是水平划分(horizontal portioning),一个关系中的元组被划分到多个磁盘。

1.2.1、常用划分技术

假定将数据划分到n个磁盘D0,D1,…,Dn中。

(1)    轮转法(round-bin)。对关系顺序扫描,将第i个元组存储到标号为Di%n的磁盘上;该方式保证了元组在多个磁盘上均匀分布。

(2)    散列划分(hash partion)。选定一个值域为{0, 1, …,n-1}的散列函数,对关系中的元组基于划分属性进行散列。如果散列函数返回i,则将其存储到第i个磁盘。

(3)    范围划分(range partion)。

由于将关系存储到多个磁盘,读写时能同时进行,划分(partion)能大大提高系统的读写性能。数据的存取可以分为以下几类:

(1)    扫描整个关系;

(2)    点查询(point query),如name = “hustcat”;

(3)    范围查询(range query),如 20 < age < 30。

不同的划分技术,对这些存取类型的效率是不同的:

上一页  1 2 3 4 5 6 7 8  下一页

Tags:理解 MySQL 并行

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接