加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[转]大数据分析的十二个解决方案

发布时间:2020-12-14 02:45:03 所属栏目:大数据 来源:网络整理
导读:当数据以成百上千TB不断增长的时候,我们需要一种独特技术来应对这种前所未有的挑战。 大数据分析迎来大时代 全球各行各业的组织机构已经意识到,最准确的商务决策来自于事实,而不是凭空臆想。这也就意味着,他们需要在内部交易系统的历史信息之外,采用基


当数据以成百上千TB不断增长的时候,我们需要一种独特技术来应对这种前所未有的挑战。

大数据分析迎来大时代

全球各行各业的组织机构已经意识到,最准确的商务决策来自于事实,而不是凭空臆想。这也就意味着,他们需要在内部交易系统的历史信息之外,采用基于数据分析的决策模型和技术支持。互联网点击数据、传感数据、日志文件、具有丰富地理空间信息的移动数据和涉及网络的各类评论,成为了海量信息的多种形式。

极具挑战性的是,传统的数据库部署不能处理数TB数据,也不能很好的支持高级别的数据分析。在过去十几年中,大规模并行处理(MPP)平台和列存储数据库开启了新一轮数据分析史上的革命。而且近年来技术不断发展,我们开始看到,技术升级带来的已知架构之间的界限变得更加模糊。更为重要的是,开始逐步出现了处理半结构化和非结构化信息的NoSQL等平台。

大数据分析迎来大时代

本文中,我们将向大家介绍迄今为止,包括EMC的Greenplum、Hadoop和MapReduce等提供大数据分析的产品。此外,惠普前段时间收购实时分析平台Vertica、IBM独立的基于DB2智能分析系统和Netezza的相关产品。当然,也有微软的Parallel Data Warehouse、SAP旗下公司Sybase的Sybase IQ数据仓库分析工具等。下面,就让我们来了解业界大数据分析的这十二大产品:

1.模块化EMC Appliance处理多种数据类型

2010年EMC收购了Greenplum,随后,利用EMC自身存储硬件和支持复制与备份功能的Greenplum大规模并行处理(MPP)数据库,推出了EMC Greenplum Data Computing Appliance (DCA)。通过与SAS和MapR等合作伙伴,DCA扩大了对Greenplum的数据库支持 。

支持大数据分析的EMC Appliance

今年5月,EMC推出了自己的Hadoop软件工具,而且该公司还承诺,今年秋季发布的模块化DCA将支持Greenplum SQL/关系型数据库,Hadoop部署也能在同样的设备上得到支持。借助Hadoop,EMC能够解决诸如网络点击数据、非结构数据等真正大数据分析的困难。模块化的DCA也能够在同样的设备上支持长期保留的高容量的存储模块,从而满足监测需求。

2.Hadoop和MapReduce提炼大数据

Hadoop是一个开放源码的分布式数据处理系统架构,主要面向存储和处理结构化、半结构化或非结构化、真正意义上的大数据(通常成百上千的TB甚至PB级别数据)应用。网络点击和社交媒体分析应用,正在极大地推动应用需求。Hadoop提供的MapReduce(和其他一些环境)是处理大数据集理想解决方案。

MapReduce能将大数据问题分解成多个子问题,将它们分配到成百上千个处理节点之上,然后将结果汇集到一个小数据集当中,从而更容易分析得出最后的结果。

MapReduce结构图

Hadoop可以运行在低成本的硬件产品之上,通过扩展可以成为商业存储和数据分析的替代方案。它已经成为很多互联网巨头,比如AOL、eHarmony(美国在线约会网站)、易趣、Facebook、Twitter和Netflix大数据分析的主要解决方案。也有更多传统的巨头公司比如摩根大通银行,也正在考虑采用这一解决方案。

3.惠普Vertica电子商务分析

今年二月被惠普收购的Vertica,是能提供高效数据存储和快速查询的列存储数据库实时分析平台。相比传统的关系数据库,更低的维护和运营成本,就可以获得更快速的部署、运行和维护。该数据库还支持大规模并行处理(MPP)。在收购之后,惠普随即推出了基于x86硬件的HP Vertica。通过MPP的扩展性可以让Vertica为高端数字营销、电子商务客户(比如AOL、Twitter、 Groupon)分析处理的数据达到PB级。

惠普Vertica实时分析平台

其实,早在惠普收购之前,Vertica就推出有包括内存、闪存快速分析等一系列创新产品。它是首个新增Hadoop链接支持客户管理关系型数据的产品之一,也是首个基于云部署风险的产品平台之一。目前,Vertica支持惠普的云服务自动化解决方案。

4.IBM提供运维和分析数据仓库

去年,IBM推出了基于DB2的Smart Analytic System(图中左侧),那么它为何还要收购另外的Netezza方案平台呢?因为前者是具备高扩展性企业数据仓库的平台,可以支持成千上万的用户和各类应用操作。比如,呼叫中心通常拥有大量的雇员需要快速回拨客户的历史通话记录。Smart Analytic System提供了整合信息的DB2数据库,预配置Cognos BI软件模块,可以在IBM Power System(RISC或者X86架构)上运行。

Smart Analytic System及Netezza

Netezza致力于为数字化营销公司、电信、和其他挖掘成百上千TB甚至PB级别数据的公司,提供高可扩展分析应用的解决方案。IBM的Netezza TwinFin数据仓库设备,支持大规模并行处理,可以在一天时间内部署完毕。Netezza支持多种语言和方式进行数据库分析,其中包括Java、C、C++、Python和MapReduce。与此同时,它还支持如SAS,IBM SPSS使用的矩阵操作方法和R编程语言。IBM Netezza最近增加了一个高容量长期存档设备以满足更多要求。



5.Infobright减少DBA工作量和查询时间

Infobright列存储数据库,旨在为数十TB级别数据提供各类分析服务。而这一块也正是甲骨文和微软SQL Server的核心市场之一。InfoBright还表示,建立在MySQL基础之上的数据库也提供了另外一种选择,它专门针对分析应用、低成本简化劳动力工作、交付高性能的服务进行设计。

列存储数据库能够自动创建索引,而且无需进行数据分区和DBA调整。相比传统数据库,它可以减少90%的人工工作量,而且由 于其采用高数据压缩,在数据库许可和存储等方面的开支也可以减少一半。

Knowledge Grid查询引擎

InfoBright最新的4.0版本产品,新增了一个DomainExpert的功能。企业用户可以借此忽略不断重复的那些数据,比如邮箱地址 、URL和IP地址。与此同时,公司还可以增加与呼叫记录、业务交易或者地理位置信息相关的数据。Kowledge Grid查询引擎则可以帮助过滤那些静态数据而只关注那些变化的数据。也就是说,它可以帮助节省数据查询的时间,因为那些无关的数据无需进行解压缩和筛选。

6.Kognitio提供三倍速度和虚拟多维数据集

Kognitio是一家本身不生产硬件产品的数据库厂商,它看到了客户对快速部署的广泛兴趣和市场需求,推出了在惠普、IBM硬件产品上预配置有WX2数据库的Lakes、Rivers和Rapids解决方案。

Lakes能够以低成本、10TB数据存储和每个模块48个运算核心提供大容量存储服务。电信或金融服务公司,可以使用这种配置来扫描大量的分支结构的各种信息记录。Rivers则提供了容量和速度之间的平衡,预配置为2.5TB存储容量,它的每个模块拥有48个运算核心。而追求查询性能的Rapids,其预配置提供有96个运算核心,每个模块仅仅为1.5TB。该产品方案主要针对金融公司在算法交易或者其他高性能要求方面的需求。

Kognitio基于内存运算的数据仓库和数据分析

今年, Kognitio新增了一个虚拟化OLAP风格的Pablo分析引擎。它提供了灵活的、为企业用户进行分析的解决方案。用户可升级选用WX2构建一个虚拟多维数据集。因此,WX2数据库中任何一个维度的数据都可在内存中用于快速分析。这种分析的前端接口是我们常见的Microsoft Excel。

7.微软SQL Server新增PDW功能

今年年初微软发布的SQL Server R2 Parallel Data Warehouse(PDW,并行数据仓库),一改以往SQL Server部署时间需要花 费两年半时间的历史,它可以帮助客户扩展部署数百TB级别数据的分析解决方案。支持这一产品的包括有合作伙伴惠普的硬件平台。发布之初,虽然微软官网提供有让利折扣,但PDW售价仍超过13000美元/TB(用户和硬件访问量)。

SQL Server PDW

和很多产品一样,PDW使用了大规模并行处理来支持高扩展性,但微软进入这一市场实属“姗姗来迟”,而且在一定程度上说,数据仓库分析和内存分析计算市场落下了后腿。目前,微软寄希望于其整体数据库平台在市场上带来的差异化竞争力。这意味着,所有沿袭了基于微软平台的数据和数据管理,将被广泛应用在信息集成领域——Reporting and Analysis Services,而这一切都基于SQL Server数据库。

微软在今年10月12日通过推出Apache Hadoop和相关的SQL Azure Hadoop服务,宣布进入大数据领域。Azure服务将在2011年底亮相,而相应的本地配套软件要在明年上半年推出,现在也不清楚微软是否会与其他硬件合作伙伴或者相关大数据设备厂商合作。

8.甲骨文讲述Engineered Systems的故事

甲骨文表示,Exadata(图中左侧)是迄今以来发布的产品中最为成功的产品,自从2008年推出以来,已经拥有超过1000名客户。而engineered system使得甲骨文11g数据库,可以支持基于X86的数据处理和磁盘存储层,其闪存缓存也使得可以实现超快速查询处理。

它既可应用在任意事务环境中,也可以应用在数据仓库(但不能同时进行)。Exadata的混合柱状压缩能够实现列存储数据库的某些高效率特点,提供高达10:1的压缩比,而大部分行存储数据库的平均压缩比为4:1。

甲骨文在9月通过宣布Oracle SuperCluster(图中右侧),扩展了engineered systems产品家族。它采用了最新的Sun Sparc T-4芯片。SuperCluster支持全机架/半机架配置,而且用户可以在半机架容量基础上进行扩容。满额配置提供有1200个CPU线程,4TB内存,97TB至198TB磁盘存储,8.66TB闪存。

甲骨文大数据分析系统设施

甲骨文声称,SuperCluster事务处理和数据仓库性能相比传统服务器架构能分别带来10倍和50倍速度提升。但作为一个专有的Unix机器,甲骨文想通过SuperCluster,在面向x86硬件的数据仓库部署迁移大潮中力挽狂澜。甲骨文的Exadata和Exalogic都基于x86架构而且运行Linux系统。

在十月召开的Oracle OpenWorld中,甲骨文宣布将新增一个分布式pache Hadoop软件和相关的大数据设备。甲骨文也计划推出一个独立的基于开源BerkeleyDB产品的NoSQL。


9.ParAccel大打列存储、MPP和数据库分析组合拳

ParAccel是ParAccel Analytic Database(PADB)的开发厂商——提供快速、选择性查询和列存储数据库,并基于大规模并行处理优势特点的产品。该公式表示,其平台支持一系列针对各种复杂、先进应用的工作负载报告和分析。

ParAccel大数据解决方案

内置的分析算法可以为分析师提供高级数学运算、数据统计、和数据挖掘等各种功能,同时,它还提供一个开放的API,可以扩展数据库的各种数据处理能力和第三方分析应用。

Table functions被用来传送和接收第三方和采用C、C++等编写的定制算法的数据结果。ParAccel与Fuzzy Logix——一家提供各种描述统计学、统计实验模拟和模式识别功能库功能的服务商。此外, Table functions还支持MapReduce和广泛应用在金融服务的700多种分析技术。

10.Sybase推进IQ列存储数据库

SAP旗下的Sybase是列存储数据库管理系统的首批厂商,而且目前仍然是拥有2000多个客户的畅销厂商。今年夏天推出了Sybase IQ 15.3版本,该版本产品能够处理更多数据和更多数据类型,也能胜任更多查询,当然这主要得益于其包含了一个名叫PlexQ 的大规模并行处理功能。

基于MPP大规模并行处理的PlexQ分布式查询平台,通过将任务分散到网格配置中的多台计算机,加速了高度复杂的查询。有报道说,它能提供比现有的IQ部署快12倍的交付能力。

Sybase IQ

为了支持不同的分析,15.3版本的产品增加了分布式处理功能,来执行PlexQ网格中跨CPU的查询服务。为了确保实现最快速度的查询,PlexQ包含了一个逻辑服务器——让管理员对PlexQ网格的物理服务器组成虚拟群集,以便优化分析工作负载、用户需求和应用程序。

Sybase IQ和其他大多数的支持MPP功能的产品之间区别主要在于,它采用了全共享的方式。全共享的缺点是CPU会争相访问共享存储(通常是SAN),而这会降低查询性能。不过Sybase坚持认为,从优化查询的角度来说全共享会更加灵活,因为所有的CPU 都会访问所有的数据。所以,我们可以对某个特定的查询尽可能多(或者少)地分配计算资源。

11.Teradata从EDWs跨入大规模分析领域

一旦成为企业级数据仓库(EDW)的宣传者,近年来Teradata就已经放松了扩展Teradata数据库产品家族的步伐。该公司的高性能、高容量产品被广泛采用和复制,因为其中包括了很多企业工作量管理的功能模块,包括虚拟OLAP(三维立体式)分析模型 。

Teradata在数据库分析领域不断推陈出新,但在结构化数据、半结构化数据和大部分非结构化数据领域几乎没有很大成果。这也就是为什么该公司要收购Aster Data——一家提供SQL-MapReduce框架的公司。MapReduce处理拥有广泛的市场需求,因为存在着大量的互联网点击数据、传感数据和社交媒体内容。

Teradata平台产品家族

Teradata日前宣布了一项Aster Data MapReduce产品的计划,它建立在以往产品同样的硬件平台之上,而且在Teradata和Aster Data之间新增了两种集成方法。通过收购,Teradata打破了在数据仓储业被认为最广泛、最具扩展性的界限。

12.1010data提供基于云计算大数据分析

正如标题所说,1010data能够提供基于云计算的大数据分析平台。很大数据库平台供应商提供基于云的沙箱测试和开发环境, 但1010data的管理数据库服务,主要针对将整个工作负载迁移到云的全过程。

该服务支持一种提供“丰富而又高级的内置分析功能”,其中包括有预测分析。其一大卖点是服务包括了数据建模和设计、信息集成和数据转换。


文章来源:http://www.csdn.net/article/2011-11-18/307678/3?




数据仓库技术中的MPP



数据仓库世界里面的massively parallel processing 大概定义:
  MPP 是将任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果。
  首先MPP 必须消除手工切分数据的工作量。 这是MySQL 在互联网应用中的主要局限性。
  另外MPP 的切分必须在任何时候都是平均的 , 不然某些节点处理的时间就明显多于另外一些节点。
   对于工作负载是不是要平均分布有同种和异种之分,同种就是所有节点在数据装载的时候都同时转载,异种就是可以指定部分节点专门用来装载数据(逻辑上的不 是物理上) , 而其他所有节点用来负责查询。 Aster Data 和Greenplum 都属于这种。 两者之间并没有明显的优势科研,同种的工作负载情况下,需要软件提供商保证所有节点的负载是平衡的。 而异种的工作负载可以在你觉得数据装载很慢的情况下手工指定更多节点装载数据 。 区别其实就是自动化和手工控制,看个人喜好而已。
  另外一个问题是查询如何被初始化的。 比如要查询销售最好的10件商品,每个节点都要先计算出自己的最好的10件商品,然后向上汇总,汇总的过程,肯定有些节点做的工作比其他节点要多。
   上面只是一个简单的单表查询,如果是两个表的连接查询,可能还会涉及到节点之间计算的中间过程如何传递的问题。 是将大表和小表都平均分布,然后节点计算的时候将得到的结果汇总(可能要两次汇总),还是将大表平均分布,小表的数据传输给每个节点,这样汇总就只需要一 次。 (其中一个特例可以参考后面给出的Oracle Partition Wise Join) 。 两种执行计划很难说谁好谁坏,数据量的大小可能会产生不同的影响。 有些特定的厂商专门对这种执行计划做过了优化的,比如EMC Greenplum 和 HP Vertica 。 这其中涉及到很多取舍问题,比如数据分布模式,数据重新分布的成本,中间交换数据的网卡速度,储存介质读写的速度和数据量大小(计算过程一般都会用临时表 储存中间过程)。
  一般在设计MPP 数据仓库的时候都会有一个指导原则用来得到比较好的性能,比如数据如何分布,customer 一般按照hash 分布比较好,而sales_order 一般按照时间分布。
  所以一般建议在选型做POC 的时候,针对你自己需要的典型查询模式和负载进行测试。 一般优化的时候会考虑如下问题:

  • 查询如何初始化? 是否有足够的节点用来处理查询?
  • 同样的,数据装载的时候是否有足够节点用来装载数据
  • 数据装载如何影响查询的,一些列数据库数据装载的时候一般不适合处理查询。
  • 数据该复制多少份?把常用的数据分布在更多的节点上显然会减少数据移动的影响
  • 一般用来做高可用的数据能用在查询上嘛?
  • 有什么工具能查看查询的执行计划吗?这些功能能帮助你定位性能瓶颈或给出你指导意见嘛?
  在开始使用MPP 的时候你至少应该明白几件事:
  • 不同的数据分布策略到底如何影响你的
  • 不同的工作负载模式如何影响你的设计
  Share Everthing 和 Share Nothing
   数据仓库里面share everything 的代表是Oracle 的Exadata 。 Sybase 也从oracle 引入了rac 的套件,但是Sybase 本身没有硬件,所有架构上还是跟Exadata 有很大区别。 就跟普通所说的RAC 和 Exadata 的在架构上的区别一样。


  Exadata 是用一个储存阵列来存放数据的,跟Oracle 10g 里面ASM Disk + Disk 是完全不同的。
  share nothing 的架构在数据仓库里面更多, Teradata,IBM Netezza , Vertica,Greenplum, Aster Data 基本都是。


   这个是比较传统的share nothing 架构, Sybase IQ , Vertica , Greenplum Community , Aster Data 基本都是这种,纯软件上实现的share nothing, 里面Disk 跟Disk 之间是分开的,Node 跟Node 之间就是纯的物理上的服务器。
  Teradata ,IBM Netazza ,将来可能出现的EMC Greenplum + 硬件(现在的Greenplum DCA不是 ) ,HP Vertica + 硬件 架构图是这样的:


  (IBM Netazza Architecture)
  里面的磁盘阵列是磁盘阵列,互相之间是可以转移数据的, 前面讲的几个(Sybase IQ) 这种Disk 跟Disk 之间是不能传数据的,要交换数据必须通过计算层面发送内部消息。
  他们之间最大的区别就是在执行计划里面数据重分布会非常不一样,具体这个后面我写Exadata vs Netezza 会详细说。 大家也可以参考最下面参考资料给出的连接:


  (MPP 厂商纯软件和软件加硬件的share nothing 架构区别)
  纯软件的MPP 理论上的伸缩性可能可以到比较高的级别,但是数据越大可能执行某些SQL 就没有在比较小数据量的时候优秀了。 大概的梯度在1P 跟200TB 左右吧。
   软件+硬件的伸缩性更好,但是他硬件必须是一开始就预订好的,不能今天加一台机器,明天加两个磁盘的,里面使用的私有化硬件也都是专门为特殊目的而造 的,比如内部通道一般使用Cisco 的InfiniBand , 磁盘阵列也基本都是一些高端磁盘(但不是NetAPP 那么高端的), 不是简单的任意服务器安装软件就算数据仓库了。
  各数据仓库MPP 的实现
  Microsoft 没有mpp , 他的集群甚至都不是线性伸缩的(坑爹啊), 但是他08 年就收购了在Linux+Ingres 上做MPP 的DATAllegro , 但是新版还没出来。
  Sybase IQ 最新版15。3 做出来MPP , 时间是今年7月份才发布,Sybase IQ 本身是共享磁盘,但是它跟RAC 的区别是它不共享节点的计算资源。
   基于Mysql 的InfoBright 没有MPP , 但是非常有名的Percona 给了他们一个MPP 的解决方案, 完全的share nothing ,不共享磁盘,但是由于Mysql 本身并没有parallel query 的能力,所以其实这个MPP 计算能力很有限。
  Vertica , Greenplum , Aster Data 的MPP 都是纯软件的share nothing 并且不共享磁盘的, 数据移动和重分布完全是靠计算机集群完成。
   Teradata , IBM Netezza 以及将来可能出现的HP Vertica +硬件, Greenplum + EMC 硬件 , Aster Data + Teradata 硬件都是完全的share nothing , 他们共享的是磁盘阵列, 但是部分数据传输和重分布是靠磁盘阵列完成。
  参考资料
  节点计算中的数据分配和重新分配问题:Oracle Partition Wise Joiin
  http://blogs.oracle.com/datawarehousing/entry/partition_wise_joins
  数据库 MPP 的秘密
    http://davidmenninger.ventanaresearch.com/2011/01/19/secrets-revealed-in-massively-parallel-processing-and-database-technology/
  Oracle Exadata
  http://www.netezza.com/eBooks/Exadata-TwinFin-Compared.pdf
  InfoBright 的MPP 实现
  http://www.infobright.org/Blog/Entry/shard_query_infobright_open-source_mpp_solution


文章来源:http://www.dedecms.com/knowledge/data-base/generalized/2012/0703/2510.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读