MPP数据库对比分析.docx
- 文档编号:26574703
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:19
- 大小:495.47KB
MPP数据库对比分析.docx
《MPP数据库对比分析.docx》由会员分享,可在线阅读,更多相关《MPP数据库对比分析.docx(19页珍藏版)》请在冰豆网上搜索。
MPP数据库对比分析
1 概述
随着海量数据问题的出现,海量管理能力,多类型,变化快,高可用性,低成本,高
端可扩展性等需求给企业数据战略带来了巨大的挑战。
企业数据仓库、数据中心的技术选
型变得尤其重要!
所以在选型之前,有必要对目前市场上各种大数据量的解决方案进行分
析。
2 主流分布式并行处理数据库产品介绍
2.1 Greenplum
2.1.1 基础架构
Greenplum 是基于 Hadoop 的一款分布式数据库产品,在处理海量数据方面相比传统数
据库有着较大的优势。
Greenplum 整体架构如下图:
SQL
MapReduc
...
SQL
MapReduc
Master
e
e
Severs
查询解析、优化、分发
Network Interconnect
Segment
...
...
Severs
... ...
查询处理、数
据存储
External
Sources
数据加载
数据库由 Master Severs 和 Segment Severs 通过 Interconnect 互联组成。
Master 主机负责:
建立与客户端的连接和管理;SQL 的解析并形成执行计划;执行计
划向 Segment 的分发收集 Segment 的执行结果;Master 不存储业务数据,只存储数据字典。
Segment 主机负责:
业务数据的存储和存取;用户查询 SQL 的执行。
2.1.2 主要特性
Greenplum 整体有如下技术特点:
◆ Shared-nothing 架构
海量数据库采用最易于扩展的 Shared-nothing 架构,每个节点都有自己的操作系统、
数据库、硬件资源,节点之间通过网络来通信。
◆ 基于 gNet Software Interconnect
数据库的内部通信通过基于超级计算的“软件 Switch”内部连接层,基于通用的 gNet
(GigE, 10GigE) NICs/switches 在节点间传递消息和数据,采用高扩展协议,支持扩展到
1000 个以上节点。
◆ 并行加载技术
利用并行数据流引擎,数据加载完全并行,加载数据可达到 4。
5T/小时(理想配置)。
并且可以直接通过 SQL 语句对外部表进行操作
◆ 支持行、列压缩存储技术
海量数据库支持 ZLIB 和 QUICKLZ 方式的压缩,压缩比可到 10:
1。
压缩数据不一定
会带来性能的下降,压缩表通过利用空闲的 CPU 资源,而减少 I/O 资源占用。
海量数据库除支持主流的行存储模式外,还支持列存储模式。
如果常用的查询只取表
中少量字段,则列模式效率更高,如查询需要取表中的大量字段,行模式效率更高。
海量数据库的多种压缩存储技术在提高数据存储能力的同时,也可根据不同应用需求
提高查询的效率
2.1.3 主要局限
●列存储模式的使用有限制,不支持 delete/update 操作。
●用户不可灵活控制事务的提交,用户提交的处理将被自动视作整体事务,整体提
交,整体回滚。
●数据库需要额外的空间清理维护(vacuum),给数据库维护带来额外的工作量。
●用户不能灵活分配或控制服务器资源。
●对磁盘 IO 有比较高的要求。
●备份机制还不完善,没有增量备份。
2.2 Vertica
2.2.1 基础架构
与以往常见的行式关系型数据库不同,Vertica 是一种基于列存储(Column-Oriented)
的数据库体系结构,这种存储机构更适合在数据仓库存储和商业智能方面发挥特长。
常见的 RDBMS 都是面向行(Row-Oriented Database)存储的,在对某一列汇总计算
的时候几乎不可避免的要进行额外的 I/O 寻址扫描,而面向列存储的数据库能够连续进行
I/O 操作,减少了 I/O 开销,从而达到数量级上的性能提升。
同时,Vertica 支持海量并行存储(MPP)架构,实现了完全无共享,因此扩展容易,
可以利用廉价的硬件来获取高的性能,具有很高的性价比。
如下图,展示的是单节点上的 Vertica 的基本体系结构。
Vertica 体系结构
作为关系型数据库,Vertica 的查询 SQL 也是在前端被解析和优化的。
但与传统的关
系型数据库有所不同,Vertica 内部是混合存储的,包括两种不同的存储结构:
写优化器
(WOS)和读优化器(ROS)。
(1) 写优化器 WOS(Write-Optimized Store)
是位于主存储器上的一个数据结构,用于有效的支持数据插入和更新操作;数据的存
放是无序的,非压缩的。
(2) 读优化器 ROS(Read-Optimized Store)
是磁盘物理存储,存放的是排序和压缩后的数据库大块数据,因此这里的查询相比于
WOS 性能更好。
(3) Tuple Mover 进程
是 Vertica 内部的一个进程,定期的以大数据块的形式把数据从 WOS 移到 ROS,由
于是对整个 WOS 操作,TupleMover 一次能非常有效的排序很多记录,最后批量把它们写
入磁盘。
在 Vertica 内部,不论是 WOS 还是 ROS 都是按列存储的。
2.2.2 主要特性
Vertica 的关键特性:
1 列存储(Column-orientation)
由于大多数的查询都是要从磁盘读取数据,因此可以说 disk I/O 在很大程度上决定了
一个查询的最终响应时间。
2 压缩机制(Aggressive Compression)
在数据存储方面,Vertica 利用内部的特定算法对数据进行压缩处理。
这样的机制会大
大减少 disk I/O 的时间(D),同时由于 Vertica 对扫描和聚合等操作也在内部进行了优化,
可以直接处理压缩后的数据,这样 CPU 的工作负载(C)也减少了。
如上例中的 AVG 聚
合函数,Vertica 是不需要将压缩数据先做类似解压这种处理的,因此查询性能得到优化。
3 读优化存储(Read-Optimized Storage)
Vertica 的数据库存储容器 ROS Container 专门为读操作进行了优化设计,且其中的数
据是经过了排序和压缩处理的,即每个磁盘页上不会有空白空间,而传统的数据库一般会
在每页上预留空间以便日后的 insert 操作来使用。
4 多种排序方式的冗余存储
为了高可用性和备份恢复的需要,Vertica 会按照不同的排序方式对数据做冗余存储,
这不但避免了大量的日志操作,也为查询带来了便利。
Vertica 的查询优化器会自动选择最
优的排序方式来完成特定的查询。
5 并行无共享设计
Vertica 支持完全无共享海量并行存储(MPP)架构,随着硬件 Server 的增加,多个
CPU 并行处理,性能也可以得到线性的扩展,这样用户使用廉价的硬件就可以获得较高的
性能改善。
6 其他管理特征
除了有优越的性能以外,Vertica 在数据库管理方面也进行了非常人性化的设计。
Vertica Database Designer 是一个界面化的日常管理工具,并且能为用户作出详尽的
DB 层物理设计方案,大大减少了日后的性能调优方面的开销。
Vertica 通过 K-Safety 值的设置,完成了数据库的备份恢复机制,并保证了高可用性。
对于数据库中的每个表每个列,Vertica 都会在至少 K+1 个节点上存储,如果有 K 个节点
宕机,依然能够保证 Vertica DB 是完整可用的;当损坏的节点恢复时,Vertica 自动完成
节点间的热交换,把其他节点上的正确数据恢复过来。
通过这种机制也保证了 Vertcia库
的节点数目可以自由伸缩而不会影响到数据库的操作。
Vertica 通过两种技术来实现在线的持续数据装载而不会影响到数据库的访问。
Vertica 通常运行在快照隔离(Snapshot Isolation)模式下,该模式下查询读取的是最
近的一致的数据库快照,这个快照是不能被并发的 update 或 delete 操作更改的,因此查
询操作也不需要占用锁,这种方式保证了数据装载(insert)和其他查询能互不干扰。
另外,
Vertica 可以把数据直接装载到 WOS 结构中,WOS 中的数据是不排序或索引的,所以装
载速度会很快,然后再由 Tuple Mover 进程在后台把数据移入 ROS 中,由于 TupleMover
的操作是大块读取(bulk-load)的,所以性能也很好。
2.2.3 主要局限
●不支持 SQL 存储过程及函数,用户需通过 UDFs(User Defined Function,基于
C++)来自定义函数或过程。
●软件授权按原始未经压缩的裸数据量计算。
●列存储的一些劣势,复杂查询等性能不理想。
●对内存有比较高的要求。
●在国内还没有成功案例。
2.3 Sybase IQ(15.4)
2.3.1 基础架构
SYBASE IQ 是 Sybase 公司推出的特别为数据仓库设计的关系型数据库。
SYBASE IQ
的架构与大多数关系型数据库不同,它特别的设计用以支持大量并发用户的即席查询。
其
设计与执行进程优先考虑查询性能,其次是完成批量数据更新的速度。
而传统关系型数据
库引擎的设计既考虑在线的事务进程又考虑数据仓库(而事实上,往往更多的关注事务进
程)。
Sybase 在 2010 年推出的 Sybase IQ 15.3 就采用了全共享架构的 PlexQ 技术,该技术
重新定义了企业范围的业务信息,全共享架构可轻松支持涉及海量数据集、海量并发用户
数和独特工作流程的多种复杂分析样式,大大增加了其效益。
与其他 MPP 解决方案不同,
Sybase IQ 的 PlexQ 网格技术能够动态管理可轻松扩展并且专用于不同组和流程的一系列
计算与存储资源中的分析工作量,从而使其能够以更低的成本更轻松地支持日益增长的数
据量以及快速增长的用户社区。
Sybase IQ 15.4 采用业内领先的 MPP 列式数据库和最先进的数据库内分析技术,并革
命性地加入 MapReduce 与 Hadoop 集成,以应对大数据时代的分析挑战,开启洞察关键业
务的能力。
Sybase IQ 15.4 正在打破数据分析的壁垒,彻底改变“大数据分析”领域。
基于成熟的 PlexQ 技术构建的 Sybase IQ 采用下图所示的三层构架:
基本层:
数据库管理系统 (DBMS),这是一个全共享 MPP 分析 DBMS 引擎,是
Sybase IQ 最大的独特优势。
第二层:
分析应用程序服务层,其提供 C++ 和 Java 数据库内 API,并可实现与外
部数据源的集成和联邦;包括四种 与 Hadoop 的集成方法。
顶层:
Sybase IQ 生态系统,由四个强大且不同的合作伙伴和认证 ISV 应用程序组成。
基于这种 PlexQ 技术,Sybase IQ 15.4 将大数据转变成可指挥每个人都行动的情报信息,
从而在整个企业的用户和业务流程范围内轻松具备大数据的分析能力。
2.3.2 主要特性
Sybase IQ(15.4)的关键特性:
1. 更强的数据管理
大量增强的功能改善了 Sybase IQ 的数据管理、部署和可维护性。
更快速的批量加载:
批量加载数据通过 ODBC 和 JDBC 接口插入到 Sybase 中,从而
实现具有更高可扩展性的应用程序,同时可极大提高加载性能。
更出色的文本压缩:
更出色地对 VARCHAR、VARBINARY、CHAR 和 BINARY 压
缩可实现以更高效率、更低成本部署高性能文本分析应用程序,同时极大提高压缩速率。
2. 丰富的应用程序
Sybase IQ 15.4 增加了一系列 API 和工具,用于创建在数据库内运行的高级分析算法,
并且能通过 PlexQ 网格能充分利用大规模并行处理的能力。
支持自带 Map Reduce 的表参数化用户自定义函数(UDF)——这是 Sybase IQ 的本地应
用程序编程接口,可使应用程序编程人员在 Sybase IQ 数据库服务器内构建和部署 C++
库。
使用这些 API 可实现专有算法或算法包,安全地位于 Sybase IQ 内,通过在保存于
Sybase IQ 数据库服务器中的数据附近执行,以快 10 倍的速度返回结果。
此框架可实现
在 Sybase IQ 中开发和部署 MapReduce 程序,以分析涉及结构化、半结构化和非结构化
数据格式的超大数据集。
C++、Map 和 Reduce 算法通过标准 SQL 加以调用,并且由
Sybase IQ 强大的查询引擎自动在 PlexQ 网格中进行分发和并行化。
Hadoop 集成与联邦——将基于 Hadoop 的分析的结果与运行于 Sybase IQ 中的查询相
集成。
Sybase 是唯一一家提供 4 种不同方法将标准 SQL 查询(客户端联邦、ETL 处理、数
据联邦和查询联邦)中的 Hadoop 数据和分析与分析数据库相集成的厂商。
Sybase IQ 15.4
充分利用 Hadoop 来识别海量结构化和非结构化数据集中的相关数据点,然后将Hadoop
中的相关数据点集成到 Sybase IQ 中,以便利用传统数据和来自其他数据源的结果集进行
分析。
预测模型标记语言 (PMML) 支持——通过 Zementis 提供的认证插件,自动执行使用
业界标准语言定义在 SAS、SPSS、“R”等工具以及其他流行预测工作平台产品中所创建的分
析模型。
充分利用流行的分析工具构建预测模型,自动执行在 SybaseIQ 中部署的预测模
型,并使用业界标准语言,以避免形成厂商捆绑。
“R”集成:
——用户可使用 RJDBC 接口,以及流行的开源统计工具“R”查询 Sybase IQ
数据库。
此外,用户还可以将来自 Sybase IQ 的“R”库作为 SQL 查询中的函数调用加以执
行,并返回结果集。
3. 数据库内分析库
更新的数据库内统计和数据挖掘库(来自 Fuzzy • Logix 的 DBLytix):
在 Sybase IQ 内
运行的高级分析、统计和数据挖掘算法库。
Sybase IQ 15.4 中的更新可使该库充分利用一些
数据挖掘算法中的 MapReduce API 进行大规模并行处理,并且包含多种新函数,例如支持
向量机、神经网络和 Adaptive Boosting。
4. 扩展的生态系统
Sybase IQ还非常适合面向大数据分析的端到端全面解决方案。
重要的工具和互补的
合作伙伴产品可在以下方面提供帮助:
Sybase PowerDesigner® 16.1 参考架构生成器:
可通过在实施 Sybase IQ 数据仓库和数
据集市时生成最佳硬件配置,快速实现价值。
Sybase Control Center(SCC) :
改进方面包括大量管理功能,例如过程、函数、UDF(表、
TPF 和 JavaEE )及文本索引。
用户能够更轻松地管理 SCC 中频繁使用的功能,以及更轻
松地部署内置、外部和文本数据库内分析。
此外该版本还包含了新的 SQL执行窗口,该
窗口可实现易于测试的特定 SQL 例程。
已通过 SAP®BusinessObjects™ 认证:
Sybase IQ 15.4 已通过认证,可与 SAP Business
Objects Business Intelligence Platform 4.0 和 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,对新数据源和多结构数据类型进行更深入的分析处理,
提供具有突破性的性能和可扩展性的分析能力。
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-MapReduce 是 Aster Data 公司的专利,在同类技术中(Greenplum)属于领先地
位。
SQL-MapReduce框架可以使数据科学家和商业分析师对复杂的信息进行快速调查分
析,允许一组关联计算机(计算机群集)使用软件语言(如Java、C#、Python、C++和
R)并行进行程序表达,然后通过标准 SQL 激活(调用)使用。
◆ 基于 MPP 的并行分析平台
第一个大规模并行分析平台, 借助 S Q L -MapReduce 支持嵌入式分析应用程序,使
企业能显著加快 TB 乃至 PB 级数据的处理,为提供新的交互性大数据应用带来了无数机
会
◆ 可视化集成开发环境
第一个可视化集成开发环境 (Aster Data Developer Express),拥有立即可用的 SQL-
MapReduce 模块(Aster Data Analytic Foundation 的一部分),使大数据分析更快、更简单。
◆ 动态负载管理(Dynamic Mixed Workload Management)
支持最细粒度的负载均衡管理机制。
◆ 多种容错、自动恢复机制
Aster Data nCluster 的设计彻底地避免了由于硬件和软件故障、用户或管理员的错误以
及本地或站点的破坏引起的意外停机。
此外,现场管理的独特功能尽量减少或完全避免了
对比项
Greenplum
Vertica
Sybase IQ
TD Aster
Data
无共享 MPP 架构
★
★
share-everything
★
支持开放硬件平台
★
★
★
★
负载管理
★
★
★
★
按列存储
★
★
★
★
按行存储
★
不支持
不支持
★
In-DB MapReduce
★
提供 hadoop
的接口
提供 Mapreduce
API 接口
★
系统在线扩容
★
★
不确定
线性扩展
★不能动态减
少节点
★可动态增
减节点
★
表分区
★
★
★
索引
★
★
★
资源分配
用户只能设定
优先级,系统
自动分配资源
可控制 CPU/
内存等系统
资源分配
不确定
计划停机。
倘若出现了硬件和软件故障,ROC(面向修复计算)技术便在在线数据重新分
配中提供了大规模容错性的实时修复。
同时,它允许在查询、在线备份和修复、在线复原
和在线向外扩展过程中进行下载或导出,这样就不再需要考虑停工计划预算了。
◆ 支持行、列压缩存储技术
2.4.3 主要局限
●在国内目前没有发现有实施案例,没有较完整的解决方案,应用市场较小;
●产品还不够成熟,如表管理可能导致性能问题;
●混合负载控制能力较差。
3 对比分析
4 性价比与最终选择
综合以上分析,并考虑性价比因素,我们在 MPP 数据库中倾向于 Greenplum。
★最多,
而家性价比高。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MPP 数据库 对比 分析