并行数据库基础知识文档

上传人:第*** 文档编号:58052088 上传时间:2018-10-26 格式:PDF 页数:12 大小:548.73KB
返回 下载 相关 举报
并行数据库基础知识文档_第1页
第1页 / 共12页
并行数据库基础知识文档_第2页
第2页 / 共12页
并行数据库基础知识文档_第3页
第3页 / 共12页
并行数据库基础知识文档_第4页
第4页 / 共12页
并行数据库基础知识文档_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《并行数据库基础知识文档》由会员分享,可在线阅读,更多相关《并行数据库基础知识文档(12页珍藏版)》请在金锄头文库上搜索。

1、题目:题目:并行数据库(一)并行数据库(一)学院学院:经济与管理学院专业专业:情报学导师导师:李慧完成人及学号完成人及学号:玄洪升(17061212329)指导教师指导教师:刘东苏 杨昭君2017 年 12 月 1 日- 1 -目目录录数据库最新发展趋势图文介绍数据库最新发展趋势图文介绍2 2并行数据库概述并行数据库概述.6 6概念. 6 发展背景. 6 功能. 7并行查询技术并行查询技术. 9 9概念. 9 并行化形式9 并行粒度10- 2 -数据库最新发展趋势图文介绍数据库最新发展趋势图文介绍数据库排名年度盘点数据库排名年度盘点说到盘点,首先肯定得看看 DB-Engines 的全球数据库排

2、名。下表是 2017 年 1 月份前20 名数据库引擎最新排名。DB-Engines 2017-01 数据库前 20 名列表DB-Engines 这个排名在业界引用得非常多,权威性也很高,总体来说比较客观,它不像很多咨询机构采用市场调查, 或者某个数据库厂商发布的数据, 而是通过以下 6 个方面的统计数据来综合评估各个数据库产品得分并给出综合排名:1.数据库相关网站数量(当前通过 google、bing、yandex 搜索引擎统计) 2.公众关注度(通过 Google trends 计算) 3.技术讨论活跃度(通过 Stack Overflow、DBA Stack Exchange 问答及用户

3、统计) 4.招聘职位(通过 Indeed、Simply Hired 统计) 5.专业档案(通过 LinkedIn、Upwork 统计) 6.社交网络信息(通过 Twitter 统计)DB-Engines 这个方法我认为比较科学,我个人也比较喜欢用这种方式来快速分析事物活跃情况与趋势。当然,这个排名只是反应全球流行程度,不能反应出产品营收情况,也不代表国内流行度排名。下图上各数据库产品的竞争关系及客户流向示意图:- 3 -各数据库产品的竞争关系及客户流向示意图从排名来看 Oracle、MySQL、SQL Server 三大数据库产品是绝对遥遥领先,呈三足鼎立局面。PostgreSQL、Mongo

4、DB 比较稳的站在前五,得分也不相上下,两家一直在争夺老四的位置。DB2 曾经是数据库的领导者,但近几年发展乏力,在持续下滑,特别是互联网行业及中小企业 IT 里基本没有 DB2 的身影,在金融等领域也受到非常大的挑战,估计明年老六的位置也危险。MongoDB、Redis、Elasticsearch、Neo4j 在自己的领域取得了领导地位。总体来说,去年 MySQL、SQLServer、PostgreSQL、MongoDB、Redis、 Elasticsearch 都是市场大赢家,在自家的地盘都发展得非常不错。而 Oracle、DB2、Access、Sybase 几家都比较悲催,活跃度在不停下

5、滑。- 4 -2013 年以来几大主流数据库排名变化整体趋势上图是 2013 年以来几大主流数据库排名变化整体趋势。2013 年以来开源数据库与商业数据库的发展趋势分析上图是 2013 年以来开源数据库与商业数据库的发展趋势分析,整体大家能明显感受到开源数据库都呈良好的发展势头, 而商业数据库的市场被慢慢吞食, 但从近一年发展趋势来看,开源数据库并没有完全打败商业数据库的势头,未来很长时间还会是激烈竞争状态,目前商业数据库主要是靠 Oracle、SQLServer 在支撑。- 5 -各种数据库类型市场百分比NoSQL 发展一直很快,几年前有些人会说 NoSQL 要代替关系型数据库,但最近大家都

6、开始冷静一点了,从上图可以看出,NoSQL 虽然发展很好,但是目前 RDBMS 仍是占据了 80的活跃度,处于统治地位。- 6 -并行数据库概述并行数据库概述概念概念并行数据库(Parallel Database)是并行处理技术与数据库技术的结合。并行处理(Parallel Processing)是计算机系统中能同时执行两个或更多个处理机的一种计算方法。处理机可同时工作于同一程序的不同方面。并行处理技术主要是以算法为核心, 并行语言为描述, 软硬件作为实现工具的相互联系而又相互制约的一种结构技术。发展背景发展背景关系数据模型是并行处理与数据库相结合的关键。在关系数据模型中,数据库是元组的集合,

7、数据库操作实例实际是集合操作,很多情况下可以转化为等价的一系列对子集的操作, 而且这些子操作没有数据相关性, 因此具有潜在的并行性。并行数据库是并行机上的数据库, 这里一个数据库被分解为若干子操作, 交给多个结点同时处理,每个结点是一个独立的系统,可以有各自的、内存和外存,因此操作数据可以分散在各个结点上, 这样大大增加了带宽, 消灭了数据库中常见的 “瓶颈” 。MPP(Massively Parallel Processor)大量信息并行处理机- 7 -功能功能并行数据库系统(Parallel Database System)是新一代高性能的数据库系统,是在并行处理机(MPP)和集群并行计算

8、环境的基础上建立的数据库系统。并行数据库系统的高性能可以从两个方面理解: 速度提升(SpeedUp); 范围提升(ScaleUp)。速度提升是指,通过并行处理,可以使用更少的时间完成同样多的数据库事务。范围提升是指,通过并行处理,在相同的处理时间内,可以完成更多的数据库事务。并行数据库系统基于多处理节点的物理结构, 将数据库管理技术与并行处理技术有机结合,来实现系统的高性能。目标目标一个并行数据库应该实现如下目标:1.高性能并行数据库系统通过将数据库管理技术与并行处理技术有机结合, 发挥多处理机结构的优势,从而提供比相应大型机系统要高得多的性能价格比和可用性。例如, 通过将数据库在多个磁盘上分

9、布存储, 利用多个处理机对磁盘数据进行并行处理,从而解决磁盘“I/O”瓶颈问题。2.高可用性并行数据库系统可通过数据复制来增强数据库的可用性。这样,当一个磁盘损坏时,该盘上的数据在其他磁盘上的副本仍可供使用,且无需额外开销。3.可扩充性数据库的可扩充性指系统通过增加处理和存储能力而平滑地扩展性能的能力。 理想情况下,并行数据库系统应具有两个方面的可扩充优势:线性伸缩和线性加速。其中, 线性伸缩比是指当任务扩大 N 倍, 系统处理和存储能力也扩大 N 倍时系统性能不变。- 8 -线性加速比是指当任务不变而系统处理和存储能力扩大 N 倍时,系统性能也能提高 N倍- 9 -并性查询技术并性查询技术概

10、念概念首先,介绍并行数据库系统中关于并行查询处理的一些概念。并行执行计划(简称 PP):对应于传统的顺序查询处理计划(简称 SP),相应于并行处理环境下的执行计划。并行化方案: 如果查询 Q 的某个并行执行计划 PP 与 Q 的一个顺序执行计划 SP 对应于相同的操作树,则称 PP 为 SP 的一个并行化方案并行化:由顺序执行计划 SP 得到某个 PP 的过程。并行化形式并行化形式并行化可以分为水平并行化(独立并行化,Independent Parallelism)和垂直并行化(流水线并行化,PipeliningParallelism)两种形式,如下图所示。如果两个操作 OP1、OP2 无相互

11、依赖关系,则称这两个操作相互独立。水平并行化水平并行化指的是互相独立的多个操作或者一个操作内互相独立的多个子操作分别由不同的处理机并行执行的形式。例如,排序操作、扫描操作由不同的处理机并行执行就是水平并行化的实例。 排序排序排序 扫描扫描扫描 垂直并行化垂直并行化则是指存在流水线方式依赖关系的操作分别由不同处理机并行执行的形式。流水线方式依赖:如果 OP2 无需等待 OP1 执行完毕即可在另一处理机上开始执行- 10 -例如: 扫描操作排序操作连接操作分组操作由不同的处理机并行执行就是垂直并行优化的实例。并性粒度并性粒度一个串行计划可以通过不同的并行化过程得到不同的并行执行计划。 通过以下概念

12、来刻画一下并行过程。并行粒度:查询执行的并行程度。分为以下四种: 事物间并行性(不同事务间的并行性):是粒度最粗也是最容易实现的并行性。由于这种并行性允许多个进程或线程同时处理多个用户请求,因此可以显著增加系统吞吐量,支持更多的并发用户。 查询间并行性(也就是事务内并行性):同一事务内的不同查询如果是不相关的,它们并行执行必将提高效率,但是,同一事务内的查询如果是相关的,它们并行执行比较复杂,系统必须进行相关性控制。 操作间并行性(同一查询内不同操作间并行性):同一查询内的不同操作往往可以并行执行。考虑一条 SQL 查询语句可以分解成多个子操作,有多个处理机执行。例如下列查询:SELECTDE

13、PTNUM ,EMPNUMFROMDEPT,EMPWHEREDEPT.DEPTNUM = EMP.DEPTNUMGROUPBYDEPTNUMORDERBYDEPTNUM;可以分解为扫描 DEPT 表和 EMP 表,对两表进行结合,对结合结果排序以及分组和输出五个子任务。 前一操作的输出即是下一操作的输入。 如果后一操作等待前一操作产生一定量- 11 -的输出后(而不必等待前一操作执行完毕)即可在另一处理机上开始执行,即采用垂直并行或流水线并行的方式。 操作内并行性 (同一操作内的并行性) :操作内并行性的粒度最细, 它将同一操作 (如扫描操作、合并操作、排序操作等)分解成多个独立的子操作,由不同的处理机同时执行。下图给出这四种并行性的相互关系。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号