快速查询确保高效和及时
毋庸置疑,大数据时代已经来了。那么,我们如何去应对这种局面呢?下面,我们听听拥有此方面经验的专家是如何说的吧。
首先我们要知道,在成百上千TB的信息中,我们该如何充分利用大数据。这完全取决于个人的需求和偏好。Interclick广告服务公司找到了一种在提供接近实时数据分析的同时,能提供更高效的解决方案。哈佛医学院也了解到,在对病人数量和多年保持不变的数据研究的情况下,数据也会明显增长。互联网流量监测机构comSCore,拥有12年的利用列存储数据库压缩数据的丰富经验,事实上,它采用了排序技术来优化压缩、减少处理需求。
目前,包括雅虎、Facebook、Twitter、NetFlix和eHarmony(美国在线约会网站)都认为,Hadoop是一个理想化的低成本处理 非结构化数据平台。它不仅能满足互联网巨头需要,也能满足包括摩根大通银行和其他主流的传统企业的需求。数据供应商InfoChimps同时发现,随着越来越多的附加和辅助应用的提供,Hadoop将是提供部署支持的快速成熟方案。
大数据时代下的应用
当然,并非所有的大数据部署都是根据总规模来衡量。比如Linkshare只保留了几个月但每天都需要加载和快速分析多达数十GB的数据,因此对于每天的这些数据规模来说它是一个比较大规模的部署。除此之外,我们还需要注意数据仓库扩展性的六个维度。只有这样,我们才可以制定一个较为准确的方案,从而满足最为苛刻的测试需求,并获得技术投资满足未来需要。
一、快速查询确保高效和及时
大规模并行处理平台、列存储数据库、数据库内处理技术和内存计算技术,都可以大幅降低数据查询时间,从数天、数小时缩减到几分钟甚至几秒。但这并不够。纽约广告公司Interclick发现,快速分析带来的最主要好处是高效。快速响应能争取到更多时间进行更多、更深入的查询工作。第二个好处则是,可以获得几近实时分析的结果,据此分析有助于提高决策反应水平和准确率。
Interclick所采用的大数据分析技术
通过快速响应,Interclick能够在几个小时甚至数分钟内对网上冲浪者的行为进行细分。它能够对访问旅游站点、预订酒店站点等的网名行为信息,发送给相应的航空公司、连锁酒店、汽车租赁公司等。Interclick采用的是ParAccel列存储数据库部署,内存集群可以容纳3.2TB容量的数据。#p#
压缩和削减存储成本
二、衡量数据增长时深知何为贵
通过对长达20年的医疗记录、研究各种药物的疗效和风险,哈佛医学院吸取到了这样一种教训--在规划数据仓储投资时,不仅仅需要解诸如客户、记录和交易数量等简单问题。虽然病人数量和时限仍然较为稳定,但各种医疗记录却不断丰富起来,因为涌现出了很多新的健康监测技术指标。因此,事先了解所有的动态需求至关重要。
哈佛医学院
三、数据压缩和削减存储成本
更好的数据压缩可以节省每TB硬件成本。列存储数据库,比惠普的Vertica、Infobright、ParAccel和Sybase IQ,可以实现30:1或者40:1的压缩比。而行存储数据库,比如EMC Greenplum、IBM Netezza和Teradata,平均4:1的压缩比。这是因为柱状数据可以保持一致,包含邮编、采购订单号码等多种数据。而行状数据,比如与客户相关的属性组合--名称、地址、邮编、采购订单号等等,则不具有这种优势。Aster Data和甲骨文数据库可以提供混合行/列存储功能。甲骨文的Hybrid Columnar Compression可以提供10:1的压缩比。
数据压缩
压缩比率不同很大程度上取决于数据本身,而且列存储并不总是最好的选择。如果在数据查询的时候需要调用很大属性,行存储方案可能会表现出更好的性能。事实上,行存储数据库经常被企业应用在处理混合查询的数据仓库中,而列存储数据库更多的是集中在海量数据查询中。
四、分类压缩、减少处理时间
类似连续性的列数据有利于压缩一样,我们也可以通过数据加载之前进行分类从而提高压缩比。在将数据装载进Sybase IQ至 强,comSCore使用Syncsort DMExpress软件对数据进行分类。该公司的CTO Michael Brown(图示)表示,它可以将10字节的 数据压缩成3、4个字节,而通过分类后的10个字节数据可被压缩成1个字节。“这将给我们存储海量数据提供了另外一种方式 。”
Michael Brown
此外,分类也可以提高数据处理效率。comScore对URL数据进行分类,从而将Web站点分类查询工作量降到最低。无需加载40个网站页面的URL地址从而在单个会话中进行访问,而只需对它们进行分类就可以在Facebook上露出其中20个页面,GMail上露出12个,其他的则可能会出现在NYTimes.com上面。
分类数据会触发仅仅3个站点查询,而未分类的数据则会引起多个毫不相关的数据查询。“它有助于节约CPU大部分资源和时间,”Brown说到。完全可以借助SQL语句和自编脚本对数据进行分类。不过,在IBM、甲骨文、SAP、SAS等数据集成软件中,数据分类也是一个常见功能。事实上,Hadoop是一个真正意义上的大规模数据分类和处理的良好选择。#p#
速度胜于规模
五、Hadoop的低成本非结构化数据处理
Apache Hadoop是成长速度最快的开源项目之一,它是用于处理分布式数据尤其是大量非结构化数据的组件集合。而MapReduce是基于Hadoop的快速处理大量信息的编程模型。传统的关系型数据库,比如IBM Netezz、甲骨文、Teradata和MySQL不能处理这种数据,因为它们不能适应整行或者整列数据的情形,即使它们能够提供支持,其带来的许可成本会令人望而却步。因为数据规模通常都是成百上千TB甚至PB级。Hadoop是一款免费软件,可以运行在低成本的硬件平台上(Hadoop部署需要日常维护,并不是免费的)。
Hadoop的特点
采用Hadoop的急先锋包括有雅虎、eHarmony、Facebook、NetFlix和Twitter,而且也有越来越多的商业机构对Hadoop开始感兴趣。
六、Hadoop减轻数据加载和处理烦恼
据预测,Hadoop市场规模将增长到数十亿美元,而且相应配套和集成的产品也正在迅速成长。比如著名的数据集成厂商Informatica、Pervasive Software、SnapLogic和Syncsort,都宣布了旨在帮助更快更容易的与新一代处理平台协同的产品或者集成方案。
Pervasive Software公司Data Rush工具可以提供与Hadoop协同、并行处理的优化,数据服务商InfoChimps采用该工具与Hadoop实例运行在亚马逊的EC2云平台上。该公司首席技术官Philip Kromer(图示)表示,经过Data Rush对数百GB数据的测 试发现,其性能提升了2-4倍,由以往的16个小时降低到8小时,从而帮助InfoChimps降低计算成本,能够从Twitter和其他非关系数据源获取更多数据。
Philip Kromer
Informatica、SnapLogic、Syncsort和其他厂商,在跨传统数据库和Hadoop部署上使用单个工具,正使得数据加载、分类和汇总变成可能。某个单一和熟悉的方式和工具集,会让管理数据的专业人员工作变得更加轻松。
七、速度胜于规模
在很多情况下,大数据中的“大”并不是每天加载和分析的信息数据库规模,比如市场营销人员,通常加载和分析大量数据以尽快洞察市场行情,从而做出快速反应,并重新细分市场,而不会浪费精力和金钱到无用的事情上去。
LinkShare数据分析服务
为出版商、广告商提供搜索、联合营销服务,广告网络公司Linkshare每天需要装载和分析数百GB网络点击数据,但总的数据库容量却仅为6TB。低延迟正越来越成为该公司获取竞争力的法宝之一,该公司首席运营官Jonathan Levine表示,“五年以前将昨天的数据信息提交给用户还能满足需要,但现在不能再拖延了。”#p#
充分利用所熟知的领域
八、充分利用所熟知的领域
传统甲骨文、IBM DB2和微软SQL Server部署之外,Netezza和Greenplum在2000年中期也进入了数据仓库市场。转眼间,甲骨文在2008年推出了Exadata,IBM于去年收购Netezza,而今年的早些时候微软推出SQL Server 2008 PDW。IBM、微软和甲骨文已经成为当下主流的几大供应商。比如DirectEdge证券交易所,一直以来都是使用微软解决方案的客户。该公司首席技术官Richard Hochron(图示)表示,PDW成为了“一个显而易见的选择”。
Richard Hochron
汽车数据提供商Polk公司是甲骨文的客户,其数据库开发和运营总监Doug Miller说,公司选择Exadata的很大一部分原因,是工作人员对管理这一类型数据库比较熟悉,他们正在等待着第二版的产品更新。
九、基于兼容性的应用
某些数据库平台提供有对上一代产品的兼容,而其他产品则要求用户对数据进行迁移和产品更新。Teradata就是这种提供保持对以往产品兼容性的代表产品之一,用户可以在新旧硬件的混合环境下提升整体规模。
除此之外,用户仍需要注意数据库版本和硬件厂商的特殊要求。在方案实施以前,需要仔细了解各供应商产品的兼容性,同时也需要着眼于未来的长久扩展。
沃尔玛网上超市
零售业巨头沃尔玛应用Teradata已经超过了20年。作为新协议的一部分,沃尔玛的Teradata应用部署将继续扩大和更新。一般来说,“服役期”满的硬件通常都会为升级提供很好的理由。相比上一代产品,最新的Teradata产品能够减少50%的占地面积,降低40%的能源消耗。
十、考虑扩展性的方方面面
数据库专家Richard Winter建议,在进行数据仓库平台投资时,要考虑六个方面的扩展性,它们分别是:数据的大小、数据的复杂性、用户数、查询量、查询的复杂性以及数据延迟要求。大量的并发用户(1000名、10000名或者更多),混合查询以及复杂的分析,会受限于大规模数据。如果无法满足以上这六个方面,那么系统不堪重负的速度可能要比预期更快。
Richard Winter
最后,用最复杂的数据,以及最难的查询需求去测试那些数据仓库平台,这是非常有必要的。同时,将并发用户的工作量进行复制和混合查询,从而进一步测试数据仓库平台。
【编辑推荐】