1 / 11
文档名称:

MPP数据库对比分析.doc

格式:doc   大小:469KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

MPP数据库对比分析.doc

上传人:小果冻 2024/5/11 文件大小:469 KB

下载得到文件列表

MPP数据库对比分析.doc

相关文档

文档介绍

文档介绍:该【MPP数据库对比分析 】是由【小果冻】上传分享,文档一共【11】页,该文档可以免费在线阅读,需要了解更多关于【MPP数据库对比分析 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。概述随着海量数据问题的出现,海量管理能力,多类型,变化快,高可用性,低本钱,高端可扩展性等需求给企业数据战略带来了巨大的挑战。企业数据仓库、数据中心的技术选型变得尤其重要!所以在选型之前,有必要对目前市场上各种大数据量的解决方案进行分析。主流分布式并行处理数据库产品介绍Greenplum根底架构Greenplum是基于Hadoop的一款分布式数据库产品,在处理海量数据方面相比传统数据库有着较大的优势。Greenplum整体架构如以下图:NetworkInterconnect............MasterSevers查询解析、优化、分发SegmentSevers查询处理、数据存储SQLMapReduceExternalSources数据加载SQLMapReduce...SQLMapReduce数据库由MasterSevers和SegmentSevers通过Interconnect互联组成。Master主机负责:建立与客户端的连接和管理;SQL的解析并形成执行方案;执行方案向Segment的分发收集Segment的执行结果;Master不存储业务数据,只存储数据字典。Segment主机负责:业务数据的存储和存取;用户查询SQL的执行。主要特性Greenplum整体有如下技术特点:Shared-nothing架构海量数据库采用最易于扩展的Shared-nothing架构,每个节点都有自己的操作系统、数据库、硬件资源,节点之间通过网络来通信。SoftwareInterconnect数据库的内部通信通过基于超级计算的“软件Switch〞内部连接层,(GigE,10GigE)NICs/switches在节点间传递消息和数据,采用高扩展协议,支持扩展到1000个以上节点。并行加载技术利用并行数据流引擎,数据加载完全并行,加载数据可到达4。5T/小时〔理想配置〕。并且可以直接通过SQL语句对外部表进行操作支持行、列压缩存储技术海量数据库支持ZLIB和QUICKLZ方式的压缩,压缩比可到10:1。压缩数据不一定会带来性能的下降,压缩表通过利用空闲的CPU资源,而减少I/O资源占用。海量数据库除支持主流的行存储模式外,还支持列存储模式。如果常用的查询只取表中少量字段,那么列模式效率更高,如查询需要取表中的大量字段,行模式效率更高。海量数据库的多种压缩存储技术在提高数据存储能力的同时,也可根据不同应用需求提高查询的效率主要局限列存储模式的使用有限制,不支持delete/update操作。用户不可灵巧控制事务的提交,用户提交的处理将被自动视作整体事务,整体提交,整体回滚。数据库需要额外的空间清理维护〔vacuum〕,给数据库维护带来额外的工作量。用户不能灵巧分配或控制效劳器资源。对磁盘IO有比较高的要求。备份机制还不完善,没有增量备份。Vertica根底架构与以往常见的行式关系型数据库不同,Vertica是一种基于列存储〔Column-Oriented〕的数据库体系结构,这种存储机构更适合在数据仓库存储和商业智能方面发挥特长。常见的RDBMS都是面向行〔Row-OrientedDatabase〕存储的,在对某一列汇总计算的时候几乎不可防止的要进行额外的I/O寻址扫描,而面向列存储的数据库能够连续进行I/O操作,减少了I/O开销,从而到达数量级上的性能提升。同时,Vertica支持海量并行存储〔MPP〕架构,实现了完全无共享,因此扩展容易,可以利用廉价的硬件来获取高的性能,具有很高的性价比。如以下图,展示的是单节点上的Vertica的根本体系结构。Vertica体系结构作为关系型数据库,Vertica的查询SQL也是在前端被解析和优化的。但与传统的关系型数据库有所不同,Vertica内部是混合存储的,包括两种不同的存储结构:写优化器〔WOS〕和读优化器〔ROS〕。(1)写优化器WOS〔Write-OptimizedStore〕是位于主存储器上的一个数据结构,用于有效的支持数据插入和更新操作;数据的存放是无序的,非压缩的。(2)读优化器ROS〔Read-OptimizedStore〕是磁盘物理存储,存放的是排序和压缩后的数据库大块数据,因此这里的查询相比于WOS性能更好。(3)TupleMover进程是Vertica内部的一个进程,定期的以大数据块的形式把数据从WOS移到ROS,由于是对整个WOS操作,TupleMover一次能非常有效的排序很多记录,最后批量把它们写入磁盘。在Vertica内部,不管是WOS还是ROS都是按列存储的。主要特性Vertica的关键特性:1列存储〔Column-orientation〕由于大多数的查询都是要从磁盘读取数据,因此可以说diskI/O在很大程度上决定了一个查询的最终响应时间。2压缩机制〔pression〕在数据存储方面,Vertica利用内部的特定算法对数据进行压缩处理。这样的机制会大大减少diskI/O的时间〔D〕,同时由于Vertica对扫描和聚合等操作也在内部进行了优化,可以直接处理压缩后的数据,这样CPU的工作负载〔C〕也减少了。如上例中的AVG聚合函数,Vertica是不需要将压缩数据先做类似解压这种处理的,因此查询性能得到优化。3读优化存储〔Read-OptimizedStorage〕Vertica的数据库存储容器ROSContainer专门为读操作进行了优化设计,且其中的数据是经过了排序和压缩处理的,即每个磁盘页上不会有空白空间,而传统的数据库一般会在每页上预留空间以便日后的insert操作来使用。4多种排序方式的冗余存储为了高可用性和备份恢复的需要,Vertica会按照不同的排序方式对数据做冗余存储,这不但防止了大量的日志操作,也为查询带来了便利。Vertica的查询优化器会自动选择最优的排序方式来完成特定的查询。5并行无共享设计Vertica支持完全无共享海量并行存储〔MPP〕架构,随着硬件Server的增加,多个CPU并行处理,性能也可以得到线性的扩展,这样用户使用廉价的硬件就可以获得较高的性能改善。6其他管理特征除了有优越的性能以外,Vertica在数据库管理方面也进行了非常人性化的设计。VerticaDatabaseDesigner是一个界面化的日常管理工具,并且能为用户作出详尽的DB层物理设计方案,大大减少了日后的性能调优方面的开销。Vertica通过K-Safety值的设置,完成了数据库的备份恢复机制,并保证了高可用性。对于数据库中的每个表每个列,Vertica都会在至少K+1个节点上存储,如果有K个节点宕机,依然能够保证VerticaDB是完整可用的;当损坏的节点恢复时,Vertica自动完成节点间的热交换,把其他节点上的正确数据恢复过来。通过这种机制也保证了Vertcia库的节点数目可以自由伸缩而不会影响到数据库的操作。Vertica通过两种技术来实现在线的持续数据装载而不会影响到数据库的访问。Vertica通常运行在快照隔离〔SnapshotIsolation〕模式下,该模式下查询读取的是最近的一致的数据库快照,这个快照是不能被并发的update或delete操作更改的,因此查询操作也不需要占用锁,这种方式保证了数据装载〔insert〕和其他查询能互不干扰。另外,Vertica可以把数据直接装载到WOS结构中,WOS中的数据是不排序或索引的,所以装载速度会很快,然后再由TupleMover进程在后台把数据移入ROS中,由于TupleMover的操作是大块读取〔bulk-load〕的,所以性能也很好。主要局限不支持SQL存储过程及函数,用户需通过UDFs〔UserDefinedFunction,基于C++〕来自定义函数或过程。软件授权按原始未经压缩的裸数据量计算。列存储的一些劣势,复杂查询等性能不理想。对内存有比较高的要求。在国内还没有成功案例。SybaseIQ()根底架构SYBASEIQ是Sybase公司推出的特别为数据仓库设计的关系型数据库。SYBASEIQ的架构与大多数关系型数据库不同,它特别的设计用以支持大量并发用户的即席查询。其设计与执行进程优先考虑查询性能,其次是完成批量数据更新的速度。而传统关系型数据库引擎的设计既考虑在线的事务进程又考虑数据仓库〔而事实上,往往更多的关注事务进程〕。,该技术重新定义了企业范围的业务信息,全共享架构可轻松支持涉及海量数据集、海量并发用户数和独特工作流程的多种复杂分析样式,大大增加了其效益。与其他MPP解决方案不同,SybaseIQ的PlexQ网格技术能够动态管理可轻松扩展并且专用于不同组和流程的一系列计算与存储资源中的分析工作量,从而使其能够以更低的本钱更轻松地支持日益增长的数据量以及快速增长的用户社区。,并革命性地参加MapReduce与Hadoop集成,以应对大数据时代的分析挑战,开启洞察关键业务的能力。,彻底改变“大数据分析〞领域。基于成熟的PlexQ技术构建的SybaseIQ采用以下图所示的三层构架:根本层:数据库管理系统(DBMS),这是一个全共享MPP分析DBMS引擎,是SybaseIQ最大的独特优势。第二层:分析应用程序效劳层,其提供C++和Java数据库内API,并可实现与外部数据源的集成和联邦;包括四种与Hadoop的集成方法。顶层:SybaseIQ生态系统,由四个强大且不同的合作伙伴和认证ISV应用程序组成。基于这种PlexQ技术,,从而在整个企业的用户和业务流程范围内轻松具备大数据的分析能力。主要特性SybaseIQ〔〕的关键特性:1.?更强的数据管理大量增强的功能改善了SybaseIQ的数据管理、部署和可维护性。更快速的批量加载:批量加载数据通过ODBC和JDBC接口插入到Sybase中,从而实现具有更高可扩展性的应用程序,同时可极大提高加载性能。更出色的文本压缩:更出色地对VARCHAR、VARBINARY、CHAR和BINARY压缩可实现以更高效率、更低本钱部署高性能文本分析应用程序,同时极大提高压缩速率。2.?,用于创立在数据库内运行的高级分析算法,并且能通过PlexQ网格能充分利用大规模并行处理的能力。支持自带MapReduce的表参数化用户自定义函数(UDF)——这是SybaseIQ的本地应用程序编程接口,可使应用程序编程人员在SybaseIQ数据库效劳器内构建和部署C++库。使用这些API可实现专有算法或算法包,平安地位于SybaseIQ内,通过在保存于SybaseIQ数据库效劳器中的数据附近执行,以快10倍的速度返回结果。此框架可实现在SybaseIQ中开发和部署MapReduce程序,以分析涉及结构化、半结构化和非结构化数据格式的超大数据集。C++、Map和Reduce算法通过标准SQL加以调用,并且由SybaseIQ强大的查询引擎自动在PlexQ网格中进行分发和并行化。Hadoop集成与联邦——将基于Hadoop的分析的结果与运行于SybaseIQ中的查询相集成。Sybase是唯一一家提供4种不同方法将标准SQL查询(客户端联邦、ETL处理、数据联邦和查询联邦)中的Hadoop数据和分析与分析数据库相集成的厂商。,然后将Hadoop中的相关数据点集成到SybaseIQ中,以便利用传统数据和来自其他数据源的结果集进行分析。预测模型标记语言(PMML)支持——通过Zementis提供的认证插件,自动执行使用业界标准语言定义在SAS、SPSS、“R〞等工具以及其他流行预测工作平台产品中所创立的分析模型。充分利用流行的分析工具构建预测模型,自动执行在SybaseIQ中部署的预测模型,并使用业界标准语言,以防止形成厂商捆绑。“R〞集成:——用户可使用RJDBC接口,以及流行的开源统计工具“R〞查询SybaseIQ数据库。此外,用户还可以将来自SybaseIQ的“R〞库作为SQL查询中的函数调用加以执行,并返回结果集。3.?数据库内分析库更新的数据库内统计和数据挖掘库(来自Fuzzy?Logix的DBLytix):在SybaseIQ内运行的高级分析、统计和数据挖掘算法库。,并且包含多种新函数,例如支持向量机、神经网络和AdaptiveBoosting。4.?扩展的生态系统SybaseIQ还非常适合面向大数据分析的端到端全面解决方案。重要的工具和互补的合作伙伴产品可在以下方面提供帮助:SybasePowerDesigner?:可通过在实施SybaseIQ数据仓库和数据集市时生成最正确硬件配置,快速实现价值。SybaseControlCenter(SCC):改进方面包括大量管理功能,例如过程、函数、UDF(表、TPF和JavaEE)及文本索引。中频繁使用的功能,以及更轻松地部署内置、外部和文本数据库内分析。此外该版本还包含了新的SQL执行窗口,该窗口可实现易于测试的特定SQL例程。已通过SAP?BusinessObjects?认证:,?,以提供丰富的端到端业务分析框架。主要局限SybaseIQMPP是Share-Disk架构增加硬件,无法线性的提升数据库性能。列存储的一些劣势,装载速度,复杂查询等性能不理想。插入操作上表级锁,影响数据导入时影响表上的并发操作。〔*〕TeradataAsterDataTeradata天睿公司的AsterData分析平台是市场领先的大数据分析解决方案。AsterData分析平台嵌入了MapReduce,对新数据源和多结构数据类型进行更深入的分析处理,提供具有突破性的性能和可扩展性的分析能力。AsterData解决方案利用AsterData专利SQL-MapReduce来并行处理数据和应用程序,可在大范围内提供丰富的分析洞察力。根底架构TDAsterData平台架构如下:其中AsterDatabase架构如下:主要特性TDAsterData有如下技术特点:Shared-nothing架构海量数据库采用最易于扩展的Shared-nothing架构,每个节点都有自己的操作系统、数据库、硬件资源,节点之间通过网络来通信。SQL–MapReduceSQL-MapReduce是AsterData公司的专利,在同类技术中〔Greenplum〕属于领先地位。SQL-MapReduce框架可以使数据科学家和商业分析师对复杂的信息进行快速调查分析,允许一组关联计算机〔计算机群集〕使用软件语言〔如Java、C#、Python、C++和R〕并行进行程序表达,然后通过标准SQL激活〔调用〕使用。基于MPP的并行分析平台第一个大规模并行分析平台,借助SQL-MapReduce支持嵌入式分析应用程序,使企业能显著加快TB乃至PB级数据的处理,为提供新的交互性大数据应用带来了无数时机可视化集成开发环境第一个可视化集成开发环境(AsterDataDeveloperExpress),拥有立即可用的SQL-MapReduce模块〔AsterDataAnalyticFoundation的一局部〕,使大数据分析更快、更简单。动态负载管理〔DynamicMixedWorkloadManagement〕支持最细粒度的负载均衡管理机制。多种容错、自动恢复机制AsterDatanCluster的设计彻底地防止了由于硬件和软件故障、用户或管理员的错误以及本地或站点的破坏引起的意外停机。此外,现场管理的独特功能尽量减少或完全防止了方案停机。倘假设出现了硬件和软件故障,ROC〔面向修复计算〕技术便在在线数据重新分配中提供了大规模容错性的实时修复。同时,它允许在查询、在线备份和修复、在线复原和在线向外扩展过程中进行下载或导出,这样就不再需要考虑停工方案预算了。支持行、列压缩存储技术主要局限在国内目前没有发现有实施案例,没有较完整的解决方案,应用市场较小;产品还不够成熟,如表管理可能导致性能问题;混合负载控制能力较差。比照分析比照项GreenplumVerticaSybaseIQTDAsterData无共享MPP架构★★share-everything★支持开放硬件平台★★★★负载管理★★★★按列存储★★★★按行存储★ 不支持 不支持★In-DBMapReduce★提供hadoop的接口 提供MapreduceAPI接口★系统在线扩容★★不确定线性扩展★不能动态减少节点★可动态增减节点 ★表分区★★★ 索引★ ★★资源分配用户只能设定优先级,系统自动分配资源可控制CPU/内存等系统资源分配不确定性价比与最终选择综合以上分析,并考虑性价比因素,我们在MPP数据库中倾向于Greenplum。★最多,而家性价比高。