尽量要求事务执行能够并行化。图14.16Teradata DBC的事务处理是并行的图14.16中,每个竖放的矩形表示处理器,分别记为AMP1、AMP2、AMP3和AMP4,横放的矩形表示事务。图14.18算符内并行注:为算符,为算符实例i,n=并行度2.算符间并行算符间并行指的是不同的算符并行计算。图14.19中的两个选择算符是独立并行的。算法14.2是并行关联连接算法。......
2023-10-28
索引在数据库系统里扮演了重要角色。索引文件是一种在数据库系统里影响性能的重要数据结构。为了得到并行数据库的高性能(如较短的响应时间和高的吞吐量),索引文件需要有效地进行分割,并将一个个的文件分配到各个节点上。为了分割索引,考虑负载、兼顾不同的性能,有多种技术可用。参考文献[4]中详细讨论了并行数据库系统中的索引问题。
为了提高I/O的性能,数据的分割与分配很重要。如前所述,数据片的分配可以通过一些策略(如round-robin、hash、range)来实现。从性能方面考虑,数据分割与分配(称为declustering)的主要目标有如下两个。
●响应时间最短:查询执行期间并行实施的独立I/O数目越多,查询响应时间越短。
●吞吐量最高:如果每个查询的I/O操作可以并行实施,则吞吐量会增加。
讨论并行数据库系统数据的安置问题,下面几个方面是不可忽视的。
●分割和分配单元的数据类型:取决于使用了declustering的应用环境,而其中的数据类型和使用方式多种多样。分割和分配单元可以是关系(即记录集合)、文件或其他特定数据结构(如B树索引、多媒体文件)。按照特定数据类型的不同,分割和分配单元也可以是不同的。如果是关系,则可以基于键属性分片。文件则可以按连续数据块分割。B树索引文件的索引节点也可用作索引的分割和分配单元。
●数据分割和分配的程度:如何确定关系或文件分割和分配的磁盘数目是一个与性能相关的重要问题。小文件(例如小于一个磁道的文件)最好将整个文件分配到一个磁盘上。对于大文件来说,declustering程度越高,I/O并行性越高,当然也增加了服务于读/写请求时磁盘上的最长寻道时间和最大旋转延迟。随着declustering程度的提高,负载均衡会得到改善。不过,对于涉及复杂连接的事务来说,继续declustering会降低吞吐量,因为通信和启动/终止开销会增加。
●分割和分配策略:最简单的分割策略是采用round-robin方法分发元组。如果数据库应用为每个查询访问关系都顺序扫描其所有元组,则采用round-robin方法分割显得十分优秀。此时,会获得很好的负载均衡。哈希分割按照对每个元组的属性施加哈希函数来分配元组。哈希分割适合用于数据顺序存取和关联存取(associative access)的那些应用,将元组按特定属性的关联存取,可以直接定位到单个磁盘。范围(range)分割按照分割属性的范围分配元组。这对于按属性范围存取元组十分有利。
●负载均衡:负载均衡是并行数据库系统中的一个重要因素。并行数据库系统有物理资源级和操作级两个负载均衡问题。物理资源级负载均衡处理系统运行时物理资源的均衡使用问题(如CPU、I/O设备和通信网络)。操作级负载均衡按照分割数据将操作划分为子操作。扭曲的数据分布会引起严重问题,导致分割不平衡和破坏负载均衡。
●高可用性:在处理被分割的并行数据库系统中的数据时,高可用性是影响数据定位策略的一个重要因素。获得高可用性的常用途径是在各个处理器的磁盘上复制数据。一个副本出故障,其他副本仍可用。
倒排文件(inverted file)是数据库系统中常用的一种索引数据结构。倒排文件类似书后的索引表,针对每个关键词会给出其出现的页码,一个关键词对应一个或多个页码。在数据库系统里,倒排文件常用来描述一个属性对应于哪些主键。这在查询非主键属性时会提高效率。例如,在关系Student里,利用倒排文件为年龄属性建立索引,当查询age=20的学生时无需逐个扫描关系里的记录,无需比较每个学生记录里的age是否为20,而是先查询索引表,找到20就可找到相应记录的主键,借助这些主键就可找到相应的记录。
问题是,并行处理系统中如何存放倒排文件才合适呢?
我们来看两类并行系统:在无共享(shared-nothing)模型里,每个处理器都有自己的内存和外存。处理器间借助消息交换进行通信。在全共享(shared-everything)模型里,每个处理器可以同时访问公共存储和任意硬盘。处理器也可以有私有内存。(www.chuimin.cn)
在单台机器上使用倒排文件实现信息检索是常用的方法。当然,在多处理器上使用倒排文件实现信息检索也是很有用的。
倒排文件系统一般由索引文件(index file)、定位文件(posting file)和文档文件(document file)三个文件构成,如图14.25所示。
索引文件一般是关键词的有序列表,索引指向一个文档集合,即文档文件记录。索引文件里的条目由一个存取词项和两个字段构成。这两个字段,一个是该存取词项在定位文件里条目的定位和距定位点的位移。定位文件由一组记录构成,每个记录关联索引文件的一个存取词项和文档文件里含有该存取词项的记录。除此之外,还有权重(weight),权重用于描述该存取词项在文档中的地位。文档文件包含用户真正需要的文档记录。
图14.25 倒排文件的结构
在并行系统里,分割一个倒排文件可以提高负载均衡和检索效率。
参考文献[4]中提出了一种并行倒排文件的设计方案。
下面先讨论倒排文件的分割问题。
在一个全共享多处理器系统里,常使用磁盘阵列。构造多磁盘I/O系统的方法很多,有同步磁盘阵列,也有异步磁盘阵列。在同步磁盘阵列里,所有磁盘的转速和机械臂运动是同步的,因此可以采用同步方式为I/O请求提供服务。异步磁盘阵列与同步磁盘阵列类似,除了硬件上不支持同步旋转以外。无论如何,磁盘阵列可以作为一个整体为单个I/O请求提供服务。当然,所有的磁盘也可以独立响应于多个请求。这样,在应用级软件,独立的磁盘阵列可以提供I/O并行性。
参考文献[4]提出了索引文件和文档文件各自按其记录id分割的方案。而对其中间文件,即定位文件,文献中讨论和分析了分别按词项(term)和按文档标识(doc id)分割定位文件的情况。
参考文献[4]得出的结论:全共享体系结构适合中等规模的信息检索系统,或者使用无共享体系结构的若干节点。如果词项分布均匀,则按词项id分割,如果词项分布不均匀,则选文档id分割。
有关分布式数据库技术的文章
尽量要求事务执行能够并行化。图14.16Teradata DBC的事务处理是并行的图14.16中,每个竖放的矩形表示处理器,分别记为AMP1、AMP2、AMP3和AMP4,横放的矩形表示事务。图14.18算符内并行注:为算符,为算符实例i,n=并行度2.算符间并行算符间并行指的是不同的算符并行计算。图14.19中的两个选择算符是独立并行的。算法14.2是并行关联连接算法。......
2023-10-28
首先我们讨论并行计算机及其体系结构。并行系统与并行计算密切关联。图14.1共享内存体系结构对于数据库系统来说,大部分共享内存的商务产品可以使用查询间并行算法来提高事务吞吐量和使用查询内并行算法来节省决策支持查询的响应时间。图14.2共享磁盘体系结构共享磁盘的优点:成本低、高可扩展性、负载均衡、高可用性,以及能方便地迁移到单处理器系统。图14.3无共享体系结构无共享的并行数据库系统如Teradata的DBC和Tandem的NonStop SQL等。......
2023-10-28
实现并行数据库系统依赖于分布式数据库技术。图14.9Teradata DBC并行数据库系统的硬件体系结构图14.9中的DSU是disk storage unit的首字母缩写,负责存储数据。其中,IFP处理来自本地连接终端的请求,COP处理来自网络的请求,因此称为通信处理器。图14.10Teradata DBC示意图图14.11Teradata IFP示意图由图14.12可知,通信处理器COP的主要组成模块是网络接口、负载均衡、会话控制、输入数据转换、SQL解析器、调度器和Ynet接口等。图14.12Teradata COP示意图图14.13Teradata AMP示意图......
2023-10-28
并行查询优化与分布查询处理类似。并行查询优化可以同时利用算符内并行和算符间并行的优点,还可以使用分布式数据库管理系统的技术。并行查询优化是指生成一个给定查询的执行计划,达到目标成本函数最小的目的。为了精确预测,成本模型必须包含并行环境的知识。为了估算执行计划的成本,成本模型使用数据库统计和组织信息,如关系基和分割等,就像分布式查询优化器一样。......
2023-10-28
某种程度上说,泛在计算是物联网的升华,是更高层次上的物联网。图20.5普适计算“计算机消失了”,而又到处都有,就是普适计算的基本思想。在这里,普适计算技术的支持是关键。人们在家生活,关系舒适、健康、安全、快乐,普适计算提供了技术基础。2008年7月28日,在ISO/IEC JTC1 SC25最终标准草案投票中,中国IGRS标准以96%的高支持率顺利通过,正式成为国际标准。......
2023-10-28
并行数据库系统可以粗略定义为在一个紧耦合多处理器上构造的DBMS。并行数据库系统支持数据库功能,提供C/S接口和一些通用功能。下面讨论并行数据库系统的体系结构。图14.8并行数据库系统的体系结构并行计算机有多个CPU,CPU之间会分工,一部分CPU负责处理会话和用户请求,另一部分CPU负责数据存取和管理。......
2023-10-28
1.搜索引擎技术原理搜索引擎有三步。但即使最大的搜索引擎建立的索引数据库,仍占互联网上不到30%的普通网页,不同搜索引擎之间的网页数据重叠率一般在30%以下。我们使用不同搜索引擎的重要原因,就是因为它们能分别搜索到不同的网页。同时,市场需求的多元化也导致了搜索引擎的发展格局必然是行业化和细分化。......
2023-11-01
LonWorks技术的目标是提供建造开放控制系统所需的便捷、具有优良性价比的开发平台。LonWorks技术的关键部件包括:1.神经元芯片神经元芯片是一种专用于价格低廉的控制设备使之具有智能和网络功能的半导体器件。......
2023-11-22
相关推荐