MPP数据库对比分析.pdf

上传人:白大夫 文档编号:5402813 上传时间:2020-05-01 格式:PDF 页数:11 大小:645.67KB
返回 下载 相关 举报
MPP数据库对比分析.pdf_第1页
第1页 / 共11页
MPP数据库对比分析.pdf_第2页
第2页 / 共11页
MPP数据库对比分析.pdf_第3页
第3页 / 共11页
MPP数据库对比分析.pdf_第4页
第4页 / 共11页
MPP数据库对比分析.pdf_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《MPP数据库对比分析.pdf》由会员分享,可在线阅读,更多相关《MPP数据库对比分析.pdf(11页珍藏版)》请在三一文库上搜索。

1、1 概述 随着海量数据问题的出现,海量管理能力,多类型,变化快,高可用性,低成本,高端 可扩展性等需求给企业数据战略带来了巨大的挑战。企业数据仓库、 数据中心的技术选型变 得尤其重要!所以在选型之前,有必要对目前市场上各种大数据量的解决方案进行分析。 2 主流分布式并行处理数据库产品介绍 2.1 Greenplum 2.1.1 基础架构 Greenplum 是基于 Hadoop 的一款分布式数据库产品,在处理海量数据方面相比传统数 据库有着较大的优势。 Greenplum 整体架构如下图: 数据库由 Master Severs 和 Segment Severs通过 Interconnect 互

2、联组成。 Master 主机负责:建立与客户端的连接和管理;SQL 的解析并形成执行计划;执行计 划向 Segment的分发收集Segment 的执行结果; Master 不存储业务数据,只存储数据字典。 Segment主机负责:业务数据的存储和存取;用户查询SQL 的执行。 2.1.2 主要特性 Greenplum 整体有如下技术特点: Shared-nothing 架构 Network Interconnect . . . . Master Severs 查询 解析、优化、分发 Segment Severs 查询处 理、数 据存 储 External Sources 数据加 载 SQL M

3、apReduc . SQL MapReduc 海量数据库采用最易于扩展的Shared-nothing 架构,每个节点都有自己的操作系统、数 据库、硬件资源,节点之间通过网络来通信。 基于 gNet Software Interconnect 数据库的内部通信通过基于超级计算的“ 软件Switch” 内部连接层,基于通用的gNet (GigE,10GigE) NICs/switches 在节点间传递消息和数据,采用高扩展协议, 支持扩展到1000 个以上节点。 并行加载技术 利用并行数据流引擎,数据加载完全并行,加载数据可达到4。5T/小时(理想配置) 。 并且可以直接通过SQL 语句对外部表进

4、行操作 支持行、列压缩存储技术 海量数据库支持ZLIB 和 QUICKLZ方式的压缩,压缩比可到10:1。压缩数据不一定 会带来性能的下降,压缩表通过利用空闲的CPU 资源,而减少I/O 资源占用。 海量数据库除支持主流的行存储模式外,还支持列存储模式。如果常用的查询只取表中 少量字段,则列模式效率更高,如查询需要取表中的大量字段,行模式效率更高。 海量数据库的多种压缩存储技术在提高数据存储能力的同时,也可根据不同应用需求提 高查询的效率 2.1.3 主要局限 列存储模式的使用有限制,不支持delete/update 操作。 用户不可灵活控制事务的提交,用户提交的处理将被自动视作整体事务,整体

5、提交, 整体回滚。 数据库需要额外的空间清理维护(vacuum) ,给数据库维护带来额外的工作量。 用户不能灵活分配或控制服务器资源。 对磁盘 IO 有比较高的要求。 备份机制还不完善,没有增量备份。 2.2 Vertica 2.2.1 基础架构 与以往常见的行式关系型数据库不同,Vertica 是一种基于列存储(Column-Oriented ) 的数据库体系结构,这种存储机构更适合在数据仓库存储和商业智能方面发挥特长。 常见的 RDBMS 都是面向行( Row-Oriented Database)存储的,在对某一列汇总计算的 时候几乎不可避免的要进行额外的I/O 寻址扫描, 而面向列存储的

6、数据库能够连续进行I/O 操作,减少了I/O 开销,从而达到数量级上的性能提升。 同时, Vertica 支持海量并行存储(MPP)架构,实现了完全无共享,因此扩展容易, 可以利用廉价的硬件来获取高的性能,具有很高的性价比。 如下图,展示的是单节点上的Vertica 的基本体系结构。 Vertica 体系结构 作为关系型数据库,Vertica 的查询 SQL 也是在前端被解析和优化的。但与传统的关系 型数据库有所不同,Vertica 内部是混合存储的,包括两种不同的存储结构:写优化器( WOS) 和读优化器( ROS) 。 (1) 写优化器WOS(Write-Optimized Store )

7、 是位于主存储器上的一个数据结构,用于有效的支持数据插入和更新操作;数据的存放 是无序的,非压缩的。 (2) 读优化器ROS(Read-Optimized Store) 是磁盘物理存储,存放的是排序和压缩后的数据库大块数据,因此这里的查询相比于 WOS 性能更好。 (3) Tuple Mover 进程 是 Vertica 内部的一个进程,定期的以大数据块的形式把数据从WOS 移到 ROS,由于 是对整个WOS 操作, TupleMover 一次能非常有效的排序很多记录,最后批量把它们写入 磁盘。 在 Vertica 内部,不论是WOS 还是 ROS 都是按列存储的。 2.2.2 主要特性 Ve

8、rtica 的关键特性: 1 列存储( Column-orientation ) 由于大多数的查询都是要从磁盘读取数据,因此可以说disk I/O 在很大程度上决定了一 个查询的最终响应时间。 2 压缩机制( Aggressive Compression) 在数据存储方面,Vertica 利用内部的特定算法对数据进行压缩处理。这样的机制会大 大减少 disk I/O 的时间( D) ,同时由于Vertica 对扫描和聚合等操作也在内部进行了优化, 可以直接处理压缩后的数据,这样CPU 的工作负载( C)也减少了。如上例中的AVG 聚 合函数, Vertica 是不需要将压缩数据先做类似解压这种

9、处理的,因此查询性能得到优化。 3 读优化存储( Read-Optimized Storage) Vertica 的数据库存储容器ROS Container 专门为读操作进行了优化设计,且其中的数 据是经过了排序和压缩处理的,即每个磁盘页上不会有空白空间,而传统的数据库一般会在 每页上预留空间以便日后的insert 操作来使用。 4 多种排序方式的冗余存储 为了高可用性和备份恢复的需要,Vertica 会按照不同的排序方式对数据做冗余存储, 这不但避免了大量的日志操作,也为查询带来了便利。Vertica 的查询优化器会自动选择最 优的排序方式来完成特定的查询。 5 并行无共享设计 Vertic

10、a 支持完全无共享海量并行存储(MPP)架构,随着硬件Server 的增加,多个 CPU 并行处理,性能也可以得到线性的扩展,这样用户使用廉价的硬件就可以获得较高的 性能改善。 6 其他管理特征 除了有优越的性能以外,Vertica 在数据库管理方面也进行了非常人性化的设计。 Vertica Database Designer 是一个界面化的日常管理工具,并且能为用户作出详尽的DB 层物理设计方案,大大减少了日后的性能调优方面的开销。 Vertica 通过 K-Safety 值的设置,完成了数据库的备份恢复机制,并保证了高可用性。 对于数据库中的每个表每个列,Vertica 都会在至少K+1

11、个节点上存储,如果有K 个节点 宕机,依然能够保证Vertica DB 是完整可用的;当损坏的节点恢复时,Vertica 自动完成节 点间的热交换,把其他节点上的正确数据恢复过来。通过这种机制也保证了Vertcia 库的节 点数目可以自由伸缩而不会影响到数据库的操作。 Vertica 通过两种技术来实现在线的持续数据装载而不会影响到数据库的访问。 Vertica 通常运行在快照隔离(Snapshot Isolation)模式下,该模式下查询读取的是最近 的一致的数据库快照,这个快照是不能被并发的update 或 delete 操作更改的,因此查询操 作也不需要占用锁,这种方式保证了数据装载(i

12、nsert) 和其他查询能互不干扰。另外,Vertica 可以把数据直接装载到WOS 结构中, WOS 中的数据是不排序或索引的,所以装载速度会 很快,然后再由Tuple Mover 进程在后台把数据移入ROS 中,由于TupleMover 的操作是 大块读取( bulk-load )的,所以性能也很好。 2.2.3 主要局限 不支持 SQL 存储过程及函数, 用户需通过UDFs (User Defined Function , 基于 C+) 来自定义函数或过程。 软件授权按原始未经压缩的裸数据量计算。 列存储的一些劣势,复杂查询等性能不理想。 对内存有比较高的要求。 在国内还没有成功案例。

13、2.3 Sybase IQ(15.4) 2.3.1 基础架构 SYBASE IQ 是 Sybase公司推出的特别为数据仓库设计的关系型数据库。SYBASE IQ 的架构与大多数关系型数据库不同,它特别的设计用以支持大量并发用户的即席查询。其设 计与执行进程优先考虑查询性能,其次是完成批量数据更新的速度。而传统关系型数据库引 擎的设计既考虑在线的事务进程又考虑数据仓库(而事实上,往往更多的关注事务进程)。 Sybase在 2010 年推出的Sybase IQ 15.3 就采用了全共享架构的PlexQ 技术, 该技术重 新定义了企业范围的业务信息,全共享架构可轻松支持涉及海量数据集、海量并发用户数

14、和 独特工作流程的多种复杂分析样式,大大增加了其效益。 与其他MPP 解决方案不同, Sybase IQ 的 PlexQ 网格技术能够动态管理可轻松扩展并且专用于不同组和流程的一系列计算与 存储资源中的分析工作量,从而使其能够以更低的成本更轻松地支持日益增长的数据量以及 快速增长的用户社区。 Sybase IQ 15.4 采用业内领先的MPP 列式数据库和最先进的数据库内分析技术,并革命 性地加入MapReduce 与 Hadoop 集成, 以应对大数据时代的分析挑战,开启洞察关键业务的 能力。 Sybase IQ 15.4 正在打破数据分析的壁垒,彻底改变“ 大数据分析 ” 领域。 基于成熟

15、的PlexQ 技术构建的Sybase IQ 采用下图所示的三层构架: 基本层:数据库管理系统(DBMS) , 这是一个全共享MPP 分析DBMS 引擎,是 Sybase IQ 最大的独特优势。 第二层:分析应用程序服务层,其提供C+ 和 Java 数据库内API,并可实现与外部 数据源的集成和联邦;包括四种与 Hadoop 的集成方法。 顶层: Sybase IQ 生态系统,由四个强大且不同的合作伙伴和认证ISV 应用程序组成。 基于这种PlexQ 技术, Sybase IQ 15.4 将大数据转变成可指挥每个人都行动的情报信息, 从而在整个企业的用户和业务流程范围内轻松具备大数据的分析能力。

16、 2.3.2 主要特性 Sybase IQ(15.4)的关键特性: 1. 更强的数据管理 大量增强的功能改善了Sybase IQ 的数据管理、部署和可维护性。 更快速的批量加载: 批量加载数据通过ODBC 和 JDBC 接口插入到Sybase 中,从而 实现具有更高可扩展性的应用程序,同时可极大提高加载性能。 更出色的文本压缩: 更出色地对VARCHAR 、VARBINARY 、CHAR 和 BINARY 压缩 可实现以更高效率、更低成本部署高性能文本分析应用程序,同时极大提高压缩速率。 2. 丰富的应用程序 Sybase IQ 15.4 增加了一系列API 和工具, 用于创建在数据库内运行的

17、高级分析算法, 并且能通过PlexQ 网格能充分利用大规模并行处理的能力。 支持自带 Map Reduce 的表参数化用户自定义函数(UDF) 这是Sybase IQ 的本地应 用程序编程接口,可使应用程序编程人员在Sybase IQ 数据库服务器内构建和部署C+ 库。使用这些API 可实现专有算法或算法包,安全地位于Sybase IQ 内,通过在保存于 Sybase IQ 数据库服务器中的数据附近执行,以快10 倍的速度返回结果。此框架可实现在 Sybase IQ 中开发和部署MapReduce 程序,以分析涉及结构化、半结构化和非结构化数据 格式的超大数据集。 C+、 Map 和 Redu

18、ce 算法通过标准SQL 加以调用, 并且由Sybase IQ 强大的查询引擎自动在PlexQ 网格中进行分发和并行化。 Hadoop 集成与联邦 将基于 Hadoop 的分析的结果与运行于Sybase IQ 中的查询相 集成。 Sybase 是唯一一家提供4 种不同方法将标准SQL 查询 (客户端联邦、ETL 处理、数 据联邦和查询联邦)中的Hadoop 数据和分析与分析数据库相集成的厂商。Sybase IQ 15.4 充分利用 Hadoop 来识别海量结构化和非结构化数据集中的相关数据点,然后将Hadoop 中 的相关数据点集成到Sybase IQ 中,以便利用传统数据和来自其他数据源的结

19、果集进行分 析。 预测模型标记语言(PMML) 支持 通过Zementis 提供的认证插件,自动执行使用 业界标准语言定义在SAS、SPSS、“R”等工具以及其他流行预测工作平台产品中所创建的分 析模型。 充分利用流行的分析工具构建预测模型,自动执行在Sybase IQ 中部署的预测模型, 并使用业界标准语言,以避免形成厂商捆绑。 “ R”集成 : 用户可使用RJDBC 接口,以及流行的开源统计工具“ R”查询 Sybase IQ 数据库。此外,用户还可以将来自Sybase IQ 的“R”库作为 SQL 查询中的函数调用加以执 行,并返回结果集。 3. 数据库内分析库 更新的数据库内统计和数据

20、挖掘库(来自 Fuzzy ? Logix 的 DBLytix): 在 Sybase IQ 内 运行的高级分析、统计和数据挖掘算法库。Sybase IQ 15.4 中的更新可使该库充分利用一些 数据挖掘算法中的MapReduce API 进行大规模并行处理,并且包含多种新函数,例如支持 向量机、神经网络和Adaptive Boosting 。 4. 扩展的生态系统 Sybase IQ 还非常适合面向大数据分析的端到端全面解决方案。重要的工具和互补的合 作伙伴产品可在以下方面提供帮助: Sybase PowerDesigner? 16.1 参考架构生成器: 可通过在实施Sybase IQ 数据仓库

21、和数 据集市时生成最佳硬件配置,快速实现价值。 Sybase Control Center(SCC) : 改进方面包括大量管理功能,例如过程、函数、UDF( 表、 TPF 和 JavaEE )及文本索引。 用户能够更轻松地管理SCC 中频繁使用的功能,以及更轻松 地部署内置、外部和文本数据库内分析。此外该版本还包含了新的SQL 执行窗口,该窗口 可实现易于测试的特定SQL 例程。 已通过SAP?BusinessObjects? 认证 : Sybase IQ 15.4 已通过认证,可与SAP Business Objects Business Intelligence Platform 4.0

22、和 SAP Business Objects Data Services 4.0 配合使 用,以提供丰富的端到端业务分析框架。 2.3.3 主要局限 Sybase IQ MPP 是 Share-Disk 架构 增加硬件,无法线性的提升数据库性能。 列存储的一些劣势,装载速度,复杂查询等性能不理想。 插入操作上表级锁,影响数据导入时影响表上的并发操作。(* ) 2.4 Teradata Aster Data Teradata 天睿公司的Aster Data 分析平台是市场领先的大数据分析解决方案。Aster Data 分析平台嵌入了MapReduce,对新数据源和多结构数据类型进行更深入的分析处

23、理, 提供具有突破性的性能和可扩展性的分析能力。Aster Data 解决方案利用Aster Data 专利 SQL-MapReduce 来并行处理数据和应用程序,可在大范围内提供丰富的分析洞察力。 2.4.1 基础架构 TD Aster Data 平台架构如下: 其中 Aster Database 架构如下: 2.4.2 主要特性 TD Aster Data 有如下技术特点: Shared-nothing 架构 海量数据库采用最易于扩展的Shared-nothing 架构,每个节点都有自己的操作系统、数 据库、硬件资源,节点之间通过网络来通信。 S Q L MapReduce SQL-Map

24、Reduce 是 Aster Data 公司的专利, 在同类技术中 (Greenplum) 属于领先地位。 SQL-MapReduce 框架可以使数据科学家和商业分析师对复杂的信息进行快速调查分析,允 许一组关联计算机(计算机群集)使用软件语言(如Java、C#、Python、C+ 和 R)并行 进行程序表达,然后通过标准SQL 激活(调用)使用。 基于 MPP 的并行分析平台 第一个大规模并行分析平台,借助S Q L -MapReduce 支持嵌入式分析应用程序,使 企业能显著加快TB 乃至PB 级数据的处理,为提供新的交互性大数据应用带来了无数机 会 可视化集成开发环境 第 一 个 可 视

25、 化 集 成 开 发 环 境(Aster Data Developer Express), 拥 有 立 即 可 用 的 SQL-MapReduce 模块( Aster Data Analytic Foundation 的一部分),使大数据分析更快、更 简单。 动态负载管理(Dynamic Mixed Workload Management ) 支持最细粒度的负载均衡管理机制。 多种容错、自动恢复机制 Aster Data nCluster 的设计彻底地避免了由于硬件和软件故障、用户或管理员的错误以 及本地或站点的破坏引起的意外停机。此外,现场管理的独特功能尽量减少或完全避免了计 划停机。倘若出

26、现了硬件和软件故障,ROC(面向修复计算)技术便在在线数据重新分配 中提供了大规模容错性的实时修复。同时,它允许在查询、在线备份和修复、在线复原和在 线向外扩展过程中进行下载或导出,这样就不再需要考虑停工计划预算了。 支持行、列压缩存储技术 2.4.3 主要局限 在国内目前没有发现有实施案例,没有较完整的解决方案,应用市场较小; 产品还不够成熟,如表管理可能导致性能问题; 混合负载控制能力较差。 3 对比分析 对比项Greenplum Vertica Sybase IQ TD Aster Data 无共享 MPP 架构 share-everything 支持开放硬件平台 负载管理 按列存储 按行存储不支持不支持 In-DB MapReduce 提供 hadoop 的接口 提供 Mapreduce API 接口 系统在线扩容不确定 线性扩展 不能动态减 少节点 可动态增 减节点 表分区 索引 资源分配 用户只能设定 优先级,系统 自动分配资源 可控制 CPU/ 内存等系统 资源分配 不确定 4 性价比与最终选择 综合以上分析,并考虑性价比因素,我们在MPP 数据库中倾向于Greenplum。最多, 而家性价比高。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1