//
深度解析,一文诠释大数据发展历史以及大数据和BI的根本区别(上) - 惊帆的BLOG
http://www.bucry.com/archives/1895.html
正是因为5V的产生,彻底打乱了BI的节奏,为了向业务靠拢,BI领域做出了大量的努力,例如创建不同类型的CUBE进行预处理减小Volume带来的问题,扩展数据库可直接存储json,binary来抵抗Variety。然而这并没有彻底解决问题。因为对于数据分析来讲,基本上只有查询和统计,不会涉及更新,而关系型数据库天生是用来保证一致性,例如花费了大量的性能和时间来做事物,设定强类型,保证数据不出现脏读,幻读等各种问题。
而这一切的,在数据分析领域,根本不需要!!
在谈论大数据是时候,甚至在一个数据项目上线的时候,多数人的第一反应是:这不就是BI嘛,数据挖掘不就是出报表嘛,各种柱状,饼图展示数据内容,这和用关系型数据库搞有啥区别嘛。
单从外部展现来看,我们很难界定BI报表和大数据处理的区别,但是对于从业者来说,不能忽视看似相同外观后完全不一样的思想。
首先,需要明确一点,在大多数情况下,数据本身的作用只是用来汇报事实,例如:季度指标,年终KPI达成率,月度销售报表等等信息。
多年来,对数据的存储主要在:
关系型数据库
日志
文件
对数据的需求主要在:
统计
查询
产生报表
面对这种规整的数据,迫切的需要一种工具,将其展现出来,用数据说话,这种工具就是BI,百科这样说:
BI(Business Intelligence)即商务智能,它是一套完整的解决方案,用来将企业中现有的数据进行有效的整合,快速准确地提供报表并提出决策依据,帮助企业做出明智的业务经营决策。
所以建立在关系型数据库上面的可视化工具迅速的发展,因为关系型数据库提供了很好的schema,可以明确的判断数据的类型,为可视化提供友好的支撑。
然而,随着时间的推移,存储成本的降低,用户渗透率和网络依赖度的提高,数据逐渐朝着如下几个方向扩展:
Volume(体量):存储可从数百TB到数十数百PB、甚至EB的规模。
Variety(多样性):数据包括各种格式和形态的数据。
Velocity(时效性):很多数据需要在一定的时间限度下得到及时处理。
Veracity(准确性):处理的结果要保证一定的准确性。
Value(价值):大数据包含很多深度的价值,大数据分析挖掘和利用将带来巨大的商业价值。
当数据量快速上升的时候,我们对系统的要求并没有下降,比如在数据在一个GB时候,一个查询1秒钟就可以出结果,数据在一个PB的时候,我们依旧希望1秒钟就出结果,而不希望点击查询,睡一觉再来看结果。
另外,随着网络逐渐的丰富,多样性逐渐展开,例如对于纯文字的BLOG,我们已经不再敏感,而视频,音频这样的资源在网络广泛传播,那么如何分析此类数据,成为了一种需求。
单单的存储和展现文字和统计报表,在日益竞争的网络红海中,已经不足以给决策者提供有力的信息。相反,如何得到存储的内容所表达的含义,也就是理解数据,成了大家广泛追求的目标,例如:统计商品访问率和评论数目已经不再那么重要,而知道评论的内容的情感变的日益重要。
所以迫切的需要找到一种方法,可以保证在数据增大的同时,处理能力并不会降低,并且可以同时处理多种类型的文件,还能读懂数据,就变得尤为重要。而这一切,是普通关系型数据库所不能实现的,例如:
我们在判断一本书卖的好不好的时候,可以根据已经售卖的书籍,然后进行统计,可以得出某个作者,某个颜色的数据最畅销。
然而这样的信息完全吗?不完全,因为决定一本书畅销程度除了书籍的作者,书本的颜色外,用户看到这本书籍的面部表情,摘要的长短和表达的含义都很重要。很多用户在看了摘要后,直接决定是否要买下此书,所以以下内容,并不能由统计直接得出:
是不是摘要写的很性感的书籍最畅销?
是不是天气没有出太阳的时候数据最畅销?
是不是书籍内容字间宽度等距更畅销?
以上内容并不能简单的通过统计计算而出,当然,我们可以把上面的内容直接存储在关系型数据库中,然而,并没有什么作用,因为维度总是不可穷举的。
正是因为5V的产生,彻底打乱了BI的节奏,为了向业务靠拢,BI领域做出了大量的努力,例如创建不同类型的CUBE进行预处理减小Volume带来的问题,扩展数据库可直接存储json,binary来抵抗Variety。然而这并没有彻底解决问题。因为对于数据分析来讲,基本上只有查询和统计,不会涉及更新,而关系型数据库天生是用来保证一致性,例如花费了大量的性能和时间来做事物,设定强类型,保证数据不出现脏读,幻读等各种问题。
而这一切的,在数据分析领域,根本不需要!!
于是在这个时间段,终于可以停下来想一想,数据库真的那么合适吗?有没有另外一种方法可以解决这个问题?完全避开这个问题?很幸运,一个小的规律被人们发现了:
随着科技的发展,磁盘磁头移动的速度并没有显著的提高。
例如:
20年前,磁盘最大存储空间只有100MB,读完整个盘只需要2分钟。
20年后,PB的磁盘已经烂大街,被广泛使用,然而读取磁盘的速度却并没有提高,读取完1TB的数据,需要几个小时。
可见,磁盘读取速度并没有和磁盘容量成等比的增长。然而另一个情况又被人发现:
网络是廉价的,GB 专线已经很普及了,通过网络一秒读取一个GB的数据已经不是问题了。于是,一个大胆的想法产生了:
既然从一个盘读取1TB数据需要1小时,那么把数据放到1024台机器上,每个机器存储1GB,是不是1秒钟就读取完毕了?
很好,为了实现这个场景,我们首先需要设计出一个系统来分布式的存储这些文件,于是一个新的文件系统产生了:GFS。
有了存储还不够,需要一个系统快速的分布式的处理这批数据,需要再设计一个系统,于是又一个系统产生:MapReduce。
可以安全存储,处理外,还需要保证实时检索出数据,不得不再设计出另一个系统:BigTable。
组件齐全,三套组件其下,终于圆满的解决了Volume这个问题。而由于这三个系统的产生,快速处理PB数据终于不再是问题,而数据分析和挖掘领域,进入了一个新的领域,数据真正的价值,也在这一个时间段得到了很大的体现。