大规模并行数据库技术分析与发展展望报告.pdf
《大规模并行数据库技术分析与发展展望报告.pdf》由会员分享,可在线阅读,更多相关《大规模并行数据库技术分析与发展展望报告.pdf(32页珍藏版)》请在三一文库上搜索。
1、大规模并行数据库技术分析 与发展展望报告 何鸿凌/业务支撑系统部 2 架构特点 技术要点分析 未来展望 并行数据库技术分析 与发展展望 3 什么是并行数据库(MPP DB) Parallel database system seeks to improve performance through parallelization of various operations such as loading data ,building indexes, and evaluating queries by using multiple CPUs and Disks in Parallel. Wiki
2、pedia 并行 强调多节点同时执行,共同解决一 个大问题。在严格的高性能网络环 境中,严格的执行要求和反馈时限。 分布式 强调数据或计算分布在不同节 点之上,对上提供透明性(位 置透明性、任务透明性等)。 MPP DB HDFSMRSpark Sharding DB Share disk DB 4 三种构建数据库集群的方式 Share nothing 每个节点是一个完整的数据库 (包括执行&存储),数据Hash 分布。两阶段提交。 Share Disk 节点间共享文件存储,存储对计 算透明。单节点失效不影响全局。 节点内并行,节点间并行。 Sharding 每个节点是一个完整的数据库 (包括
3、执行&存储), 数据由应 用决定分布。基本无跨节点事务。 传统技术代表:DB2传统技术代表: ORACLE Mysql集群新代表:各类典型MPP DB,例如Gbase 8a、 Vertica、GP、ParAccel 新代表:各类SQL over Hadoop,比如Impala、 SparkSQL等。Google mesa 均可视为并行数据库范畴 存储存储 存储 执行执行执行 互联网络 存储存储 存储 执行执行执行 互联网络 存储存储 执行执行执行 存储总线 分布式数据库范畴 5 并行数据库的应用案例 eBayFacebook TwitterChina Mobile 6 并行数据库的特点 并行数
4、据库是大数据基础设施中的重要组成部分之一。Hadoop、 MPP DB、 NoSQL、流处理、内存数据库等技术各有适用范围。 并行数据库(特指Share nothing的MPP DB结构)适合以下场景: 适合结构化数据。半结构化和非结构化数据不符合关系理论,用RDBMS并不合理和优化 适合不是简单存和取,而是有大量库内分析的场景。例如:多表关联的复杂查询和处理。 适合临时、灵活的任务。例如:自助分析和即席查询等一次性任务、交互性要求较高的。 适合一次写多次读的操作。并行数据库需要在数据分布(计算Hash)和存储格式(比如 列存、压缩、索引、页面统计信息等)方面进行较多的处理以便为查询进行优化。
5、 并行数据库的缺点 存储和计算紧密耦合,扩展受限,节点故障情况下性能下降严重,大规模集群可用性。 7 架构特点 技术要点分析 未来展望 并行数据库技术分析 与发展展望 8 并行数据库中的主要功能模块 执行引擎 查询分析和执行器 分布式事务 分布式锁 并发控制 存储引擎 副本管理 数据分布 数据存储格式 管理功能 元数据管理 3A 9 节点架构风格:有Master和无Master Master节点承担的主要功能:访问入口、元数据管理、SQL Parser、生成执行计划和任务调度、 管理两阶段提交。 有专职Master无专职Master 典型产品:GP、AsterData、 ParAccel、Ha
6、wg等 Master一主一备(类似NameNode HA),数据同 步,故障时候切换 优点:架构简单,不影响数据节点效率,不形成性 能短板 缺点:不能动态伸缩,无法负载均衡,切换影响大 (需要关闭所有连接,重启数据库) 典型产品:Gbase 8a、Vertica、Teradata、DB2、 Impala 、IBM BigSQL、HP DragonRed、Vertica VIVE等,数据节点和Master节点代码部署到一台物 理机,被连接上即充当此次连接的Master 优点:类似NameNode Federation提供足够的扩 展性,一个节点失效不影响数据库整体状态 缺点:由于装载、大查询合并
7、、导出等一般在主节 点执行,因此可能影响数据节点的性能,形成短板。 元数据需要全局协调。 两种方式各有优劣,在大规模集群下,无专职Master架构优势更加明显,其向“多Master”架 构发展也很容易(Gbase8a、Vertica大集群模式)。 多Master是未来方向,Master功能分拆,通过Zookeeper之类的软件进行协调。提供良好的扩 展性和高可用的同时,保证足够的透明性,保证数据节点的对等性。 10 存储引擎的关键技术点:数据分布 按行进行Hash分布是 MPP的主要特征。其 他分布方式,包括一致性Hash都难以充分发 挥MPP架构的优点。因为无法提供给执行引 擎用于查询优化的
8、元数据,以及无法控制数 据的摆放 这种紧密耦合的非透明带来了巨大的好处 (同样分布的表的高效关联),同时也带来 了麻烦(扩展性、高可用等) 一些改进的SQL over Hadoop方案借用了这 一点,比如HDFS Colocation、Pivotal Hawg、Vertica VIVE等 没有解决Hash分布的解决方案都难以处理多 个大表关联(Join)的问题,他们多通过预 关联的方式来规避这个问题,形成某种类似 OLAP多维立方体的解决方案(比如Google Dremel、Mesa,eBay Kylin等);或通过 shuffle实现重新分布。 11 存储引擎的关键技术点:存储格式 行存储
9、数据按行依次存储,最传统 的数据存储方式 适合按行访问的场景,比如 OLTP型负载 通过索引解决某列字段快速 查找和关联的问题 列存储 数据按列或列族依次存储 , 由于重复数值多为同列,因 此压缩率高 数据即索引,适合按列访问 的场景,比如OLAP型负载 “仅列存储”与“列存储+ 针对性优化的执行引擎”有 很大差别 行列混合存储 先行后列,或者先列后行 索引或统计信息紧挨数据存 放 典型的O记风格,有过渡创 造需求的嫌疑。 12 行存,列存的测试结果 数据加载单表查询多表查询 列存V6:17:570:47:160:01:50 列存G6:20:110:41:050:09:57 行存G3:00:1
10、11:10:310:37:16 行存A3:16:561:10:030:32:28 HIVE1:37:051:16:560:42:57 以上是8个节点8T数据的测试情况 由于源文件是行格式,因此列存模式加载慢。插入和 删除也是同样的情况 除全表扫描情况以外,列存模式查询比行存快 13 存储引擎的关键技术点:文件系统 裸设备 直接通过块设备的接口(Block I/O)使用存储 器。由于没有中间环节和多层缓存,因此性能 较高,但实现上要考虑多种操作系统,多种块 设备的问题。现在已经很少采用。 存储引擎 块设备 存储引擎 块设备 OS文件系统 存储引擎 分布式文件系统 操作系统文件系统 利用POSIX
11、接口进行数据的存取。缺点是经过 了额外文件系统层,存在性能损失;优点是屏 蔽了复杂的设备和OS,易于移植,可以利用 文件系统的缓存。目前大多采用这种方式 分布式文件系统 一部分并行数据库以文件存储系统或外部表 (两种方式有所差别)等形式支持查询HDFS 或Hbase中的数据。这其实是SQL over HDFS的范畴,可以降级满足部分查询需求。 14 存储引擎的关键技术点:硬件的发展 硬盘 依靠旋转结构和磁介质 存取信息。SAS/SATA 两种接口 固态盘(SATA) 依靠闪存进行存取,随 机IO提升明显。满足摩 尔定律,价格持续下降。 PCIe Flash卡 依靠闪存进行存取,通 过计算机总线
12、提供访问, 性能提升更加明显 主内存RAM 依靠RAM,存取速度 极快,但需解决易失性, 价格持续下降。 15 存储引擎的关键技术点:硬件的影响 当前:磁盘-数据存储,电子盘-缓存,内存-缓存。 Gbase8a、Verica利用内存形成了写优化区 大多数MPP都在内存中开设大容量缓存,比如Teradata的内存多温度方式 大多数MPP均开始通过TableSpace支持混合存储(磁盘+SSD) 大多数MPP均可以支持将临时文件缓存至SSD 近期:电子盘-数据存储,内存-缓存,磁盘-数据备份 电子盘价格已经迅速接近企业级硬盘SAS,内存越来越便宜 Exadata的全SSD配置,Teradata的全
13、SSD配置 其他MPP均可以不做任何改动将底层数据存储硬件换为SSD 未来:内存-数据存储,电子盘-快照和日志,磁盘-数据备份 电子盘和内存更加便宜 通过新的存储硬件,解决了MPP中长久一来的困难 典型解决方案:柏睿Rapids DB、HANA 16 执行引擎的关键技术点 操作语言 申明式语言 过程式语言 系统优化 基于规则 基于成本 各类SQL over Hadoop或类似的方案借用了部分或全部的并行数据库查询引擎的设计理念, 并在逐步完善中。例如: Hive/Tez/Stinger/Impala/SparkSQL目前是基于规则优化,正在尝试基于成本的优化器 SparkSQL 流水线、Pre
14、sto的流水线、Pivotal Hawq/IBM BigSQL/Vertica VIVE的流水线 Pivotal Hawq/IBM BigSQL/Vectorwise on HDFS/HP DragonRed /Vertica VIVE基于成 本的优化器 Pivotal Hawq/Vertica VIVE基于Hash分片的并行查询引擎 执行引擎面向计算,借用比较容易。存储引擎较难,因其面向数据存储格式,对HDFS有较大 改动。 分布式管理 两阶段提交 时钟同步 并发管理 锁 多版本 17 保障系统高可用的策略 高可用指节点失效的情况下,通过机制(一般是副本)屏蔽对数据库的影响。不包括为了保 证
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大规模 并行 数据库技术 分析 发展 展望 报告
链接地址:https://www.31doc.com/p-3333011.html