大数据时代的数据管理

jopen 12年前
     <div id="news_body">     <p> 不知怎么地,大数据,<a href="/misc/goto?guid=4958195620481192708">Big Data</a> 这个词就变得流行起来。</p>     <p> 处理大数据惯常是属于<a href="/misc/goto?guid=4958195621226283644">商业智能(BI)</a>的事情。抽取数据、挖掘数据,制成报表、OLAP、仪表盘、挖掘模型,作为辅助决策之用。不过在 BI 领域都不这么叫法,大伙儿都说海量数据,Large-scale Data。这听起来还是略显学术气,不如 Big Data 来的通俗——大数据。这大概是因为如今随处可见的数据,一种爆炸效应带来的结果,已经脱离某种专业的范畴,人们需要用更简单的术语来命名这种数据爆炸。这给不温不火的 BI 带来一些新的刺激,让 BI 人看到一些希望。</p>     <p> 以前,不说国内,就算是国外,做 BI 也大多是局限在几个大行当,电信、金融、零售、政府,他们需要数据来帮助自己理性决策。在国内很长一段时间里,更是仅限于电信和金融两个行当。可是尴尬的地方在于,决策者有时候更愿意相信自己的直觉,而非数据。这种意识虽然逐渐在变化,可从来没有发生过根本的变化。意识的变化是艰难的。当一些新兴行业的介入,他们对数据的利用方式,价值的榨取,让人看到数据分析不仅仅用于辅助决策,而是可以从数据中获得收益了,它已经不再是一种锦上添花的东西了,那正是因为大数据时代的到来。这得感谢互联网以及还未兴起的物联网,在这些行当里面,数据在爆发,不断增长。他们不甘心只是如报表、OLAP、仪表盘之类的分析应用。数据分析部门可以按照推荐系统的点击效果利润分成;交易的数据可以包装成分析服务销售给商户,让他们自己去洞察市场商机;根据用户的点击流行为和上网内容,个性化广告布放等等。</p>     <p> 就在刚过去的9月,<a href="/misc/goto?guid=4958195621966613447">TDWI(数据仓库学院)</a>发布了2011年第四季度最佳实践报告,而这份最佳实践的主题正是大数据分析。TDWI 会通过调查问卷的方式,对全球范围的企业调查,目标对象既有 IT 人,有业务单位的人,也有咨询顾问。问卷的问题一般都会询问企业应用 BI 技术的实际情况,现在如何,计划如何。所以,这类最佳实践报告可以反映出当下某项技术的现状和趋势。报告的内容也遵循一定结构,一下定义,二看现状,三分长短,四谈趋势,最后再来个厂商介绍。同样,这份大数据分析的最佳实践报告也是如此结构。</p>     <p> 其中关于“大数据”的定义,值得关注。如果我们仅仅从字面上看,大数据似乎跟海量数据差别不大,仅仅是变得更加通俗?并非如此,这份报告给出一些区别,TDWI 赋予这个术语更多的含义,更多符合目前数据爆炸时代的含义。</p>     <p> <strong>大数据的3V</strong></p>     <p> Big Data 的3V。大数据有3V 的特性。</p>     <p> Volume、Variety、Velocity。这3V 表明大数据的三方面特质:量大、多样、实时。对,不光是数据量大了。对 TB、PB 数据级的处理,已经成为基本配置。还能处理多样性的数据类型,结构化数据和非结构化数据,能处理 Web 数据,能处理语音数据甚至是图像、视频数据。实时。以前的决策支持时代,可以用批量处理的方式,隔夜处理数据,等决策者第二天上班,可以看到昨天的经营数据。但现在的互联网时代,业务在24小时不间断运营,决策已经不是第二天上班才做出,而是在客户每次浏览页面,每次下订单的过程中都存在,都会需要对用户进行实时的推荐,决策已经变得实时。</p>     <p> 这个定义非常完美,形式上也很漂亮,3个V。</p>     <p> 可细细想想,这每个方面的V,难道不是传统 BI 一直在试图征服的嘛?也许所谓大数据时代,是新瓶装旧酒。只是换了一个称呼,而具体要解决的问题,仍是那些存在已久的问题。可毕竟大数据时代轰轰烈烈地,踏着旧的海量数据浪潮而来,而且这将是更高一浪。平常人站在下面,是否会腿脚发软,或是识破浪头的力度,来个漂亮的转身冲浪呢?</p>     <p> <strong>大数据管理的需求与挑战</strong></p>     <p> 在这样的大数据时代,数据仍然是最关键的。如何将大数据管理好,仍然是对企业的考验。</p>     <p> 无处不数据。手机通话、移动在产生数据,ATM 在产生数据,商品上的 RFID 在产生数据,包裹从一个城市到另一个城市在产生数据。就算是一个小小的店铺,当它销售出去一瓶水,也可能会记录到 Excel 里面,产生了数据。数据记录这世界的存在和变化。</p>     <p> 当企业的某项资产非常重要,数量巨大时,就需要有效管理。如今,数据已经成为这种资产。以前人们还不会将它看做是资产,而是一种附属物。客户来办理业务,在系统中产生了这种附属物。而现在,发现在客户办理业务这条信息中,蕴含这一些客户的需求,成千上万条这类信息累积下来,就能洞察客户所需,为设计新产品,为客户个性化营销产生新的价值。数据变成一种资产了,需要被管理起来。</p>     <p> 数据仓库是管理数据的工具。在近二三十年里,以某种类似蜗牛的速度爬行,它始终还是贵族家的玩具。只有那些多金的买主才会为它买单。这让数据管理变得高高在上,数据当做资产只是停留在理念层面。人们还在争论着,数据仓库能够给我们带来什么?</p>     <p> 我自己曾总结过一句话,体现数据仓库的六项价值——“能快速、及时、方便、准确而安全地访问整合过的数据。”现在看看,发现这个描述还蛮符合大数据时代,对数据管理的需求。</p>     <p> 而这六方面价值也对应了不同的技术领域。</p>     <ul>      <li>数据仓库硬件、软件、模型要保障对数据的快速访问。比如专用设备,按照数据温度选择数据是否高速存储,采用特殊存储技术;</li>      <li><a href="/misc/goto?guid=4958195622717656750">DW</a> 模型确保数据的整合性,当你需要企业视图的数据,需要以年为周期的数据,需要数据模型的支持;</li>      <li><a href="/misc/goto?guid=4958195623467605295">ETL</a> 保障数据及时性。批量的 ETL 已经不足够,需要准实时,甚至是数据流式处理;</li>      <li>元数据管理让数据访问更方便,不仅仅将数据以表、字段的方式管理,要将数据切分地更小,可管理;</li>      <li>数据质量管理保障数据的准确一致,让数据可信;</li>      <li>数据仓库架构、权限管理保障数据访问安全。</li>     </ul>     <p> 大数据时代对六项价值之一——快速访问数据的性能,有明显推动。人们最迫切的希望还是从无到有,从慢到快吧。让数据唾手可得。</p>     <p> <strong>数据库技术在变化</strong></p>     <p> 传统数据库并未专为数据分析而设计,数据仓库专用设备的兴起(Data Warehouse Appliance),如 Teradata、Netezza、Greeplum、Sybase IQ 等等,正表明面向事务性处理的传统数据库和面向分析的分析型数据库走向分离,泾渭分明。数据仓库专用设备,一般都会采用软硬一体,以提供最佳性能。这类数据库会采用更适于数据查询的技术,以列式存储或 MPP(大规模并行处理)两大成熟技术为代表。另外,新兴的互联网企业也在尝试一些新技术,比如 MapReduce 技术(这得感谢 Google 将它发扬光大),Yahoo 的开源小组开发出 Hadoop,就是一种基于 MapReduce 技术的并行计算框架。在2008年之前,非死book 就在 Hadoop 基础上开发出类似数据仓库的 Hive,用来分析点击流和日志文件。几年下来,基于 Hadoop 的整套数据仓库解决方案已日臻成熟。目前在国内也有不少应用,尤其在互联网行业的数据分析,很多就是基于这个开源方案,比如淘宝的数据魔方。而在一些商业性的产品中,也已经融入 MapReduce 技术,如 AsterData。</p>     <p> 低廉的数据仓库解决方案降低了数据管理的门槛,长尾的中小企业不一定非得去跟 Oracle、IBM 这样的大公司去谈高高在上的价格。开源的产品,配置足够的硬件存储,有一支专业的服务团队,就可以架构一个数据仓库平台。在去年,就曾有多位朋友向我咨询的数据仓库方案,他们有一个不约而同的期望,价格不要太高。他们有服务团队。我没有其他推荐,只有推荐 Hadoop。</p>     <p> 还有一些其他的技术可以让数据访问性能提高,比如数据温度技术,可以区分经常被访问和很少被访问的数据,经常访问的就是高温数据,这类数据将存储在高速存储区,访问路径会非常直接,而低温数据则可以放在非高速存储区,访问路径也可一些相对复杂一些。近两年,存储访问的技术也在变化着,比如 Teradata 前几年推出固态硬盘数据仓库,用接近闪存的性能访问数据,比原来在磁盘上顺序读取数据快很多。后来又兴起一批内存数据库产品,这类产品在 DBMS 软件上进行优化,规避传统数据库(数据仓库)读取数据时的磁盘 IO 操作,再次大大节省访问时间。比如 SAP 的 HanaBI、Oracle 的 TimesTen、SolidDB、extremeDB、Altibase。</p>     <p> 文本、语音、图像、社交网络、地理位置…大数据时代的数据类型如此丰富。用关系型数据库存储这类数据,再深入去分析挖掘这些数据,开始有些负累。</p>     <p> 于是,越来越多的 NoSQL 数据库涌现出来,其中很大一部分是用于分析用途。比如西班牙有个小厂商,叫 illumnate,他们拥有一个叫 Correlation DBMS 的数据库产品。它不像关系数据库那样按照表、字段存储,那样冗余很大。CDMBS 的做法是,针对每个不同的值,只有一个地方存储,而所有对这个值的引用,都在索引中记录。比如有个客户的姓名叫“张三”,而还有一个公司名字也叫“张三”,那么在 CDBMS 里面,只存有一个“张三”这个值,但在索引里面记录了有两个地方引用它。这种数据库是专门为分析而设计的。因为不存储冗余数据,所以它对于海量数据,非常节省空间。如果说这个有点不太吸引人的话,另一个据称的优点就是做 ad-hoc 查询非常快捷。</p>     <p> 社交网络很火热,非死book、推ter、QQ、MSN,甚至是普通的电信通话、邮件,都构成社交网络。人们决策的一个重要依据其实就跟社交群体相关,周围人的决策会带动你的决策,用社交网络理论来做决策支持是一个重大方向。</p>     <p> 用关系型数据库来存储社交数据有点吃力。我跟你打电话,“我”是一个“用户”的实体,“你”是另一个“用户”的实体,我们之间存在了“通话”的关系;“你”还可能跟“她”发生了关系。但社交网络的分析还需要关注圈子、关系紧密度…… 人们想从中找到人与人之间的关系、圈子,是不是一个家庭的,是不是一个公司的,是不是情侣关系。甚至还要去发现一个人的重要程度,是否具备某种影响力。用实体关系来表述这种社交网络需要绕些弯路转换。所以,自然出现了一种图数据库(Graph DBMS)。数据按照节点、关系和属性键值存储。开源产品 Neo4j 就是这类 GDBMS。基本上这也是一种键值数据库,也就是说其最底层数据存储都是按照 key-value 存放的,这种存储方式是比较适合并行处理,适用于分析。而 graph database 的重要特点就是内置了常见的 graph 算法,它的存储结构让这类算法性能倍增。可想,未来也许会出现专为图像分析而出的数据库,专为视频分析的,等等。</p>     <p> 数据的量越来越大,种类越来越丰富,大数据时代需要新的数据管理手段。列式、MPP 的关系型数据仓库在改变着,NoSQL 的 CDBMS、GDBMS 也试图在改变着。关系型数据库是企业 IT 建设时代的数据管理基石,而在 Big Data 时代,也许需要一种新的,正在探索中的数据管理基石。</p>     <div id="come_from">      <br /> 来自:      <a id="link_source2" href="/misc/goto?guid=4958195624199136212" target="_blank">InfoQ</a>     </div>    </div>