2018年第21周-以我角度看大数据

以我角度看大数据

最近公司开启了大数据项目,有幸的,我可以有个平台学习和实践大数据。研究和实验了两个月,虽然都是属于我的研究,但仍是有所体会。在此分享给你们。既然要从个人角度说大数据,那我得说下个人背景,我写Java已有不少不少年了,工做也快有6年了。专业是软件工程,因此代码经验和功底仍是有一些的,能够评一评所谓的大数据。因为见识没有广大网友这么广大(有次看黑客帝国的影评,发现本身电影白看了),因此个人评论可能稍微有点偏见,欢迎拍砖交流。数据库

大数据由来

根据百度百科,大数据是在2008年提出的,到如今已经有10年了。
个人印象中,“大数据”概念好像是2014年到2015年火起来的。当时以为大数据是一个很神秘的东西,就算是如今,在不懂大数据的人面前,依然能够很神秘(懂大数据的你故做神秘是能够忽悠到他们)。
以我不严谨地猜测大数据的由来,简单的说就是MySQL赶上瓶颈了(哈哈,够简单直白吧)。世界上的IT公司,互联网公司,并非各个都是谷歌。不少公司都是没有自主研发创造能力的,这或许是没有资金,没有合适的生产关系,也或者是这社会过于浮躁(只有挣钱的就是好公司,也确实是,只不过别忘记“有趣”也很重要的)。因而不少公司都是只是使用开源产品,做为Java开发人员,估计无人不晓得Spring这些开源框架吧。这些开源框架已经被验证过无数次,已是很成熟,因此对于初创公司来讲,能节省大量的成本,不管是开发时间仍是人才成本(培训机构批量生产)。因而我以为在数据层面,普通公司的基本同一颜色都是MySQL等关系型数据库,其便利性和可靠性等我就不展开说了,应该都知道。然而在时间这个天使或恶魔的驱使下,数据慢慢地累积,时间让不管大小的公司(只要还活着的公司)都会赶上数据问题,MySQL等关系型数据库的问题开始凸显,准确来讲是达到了其边界。这时候,迫切须要一个可能处理大量数据的工具。因而开源框架Hadoop的承担了这历史责任。服务器

MySQL等关系型数据库的痛点

MySQL等关系型数据库是属于OLTP(On Line Transcation Processing)。也称为面向交易的处理过程,其基本特征是前台接收的用户数据能够当即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操做快速响应的方式之一。注重的响应,而不是高吞吐。用过MySQL都是指有insert、update、select和delete,其用了大量的硬盘随机读写,这才让数据原地更新。在这种机制下,想要高吞吐量,那势必极大地加大响应时间。
可扩展性也是关系型数据库的痛点,你们对于其扩展,基本也就是读写分离,分库分表分区。每次数据库扩展,有经历的人,都是心有余悸的。一是须要停机维护,二是须要时间好长,并且惧怕恢复不起来。简单地说就是要熬夜加班。三是成本增加会非线性增加,扩展硬盘和CPU都是很花钱呢。框架

从MySQL等关系型数据库的痛点思考

咱们发现其痛点能够归于两类:一是硬盘的随机读,二是扩展性。
Hadoop基本上能够很好的解决这两个问题,一是引入线性读写的概念,这样就重塑了update的概念,update不只仅包括让数据原地更新,以追加的形式保存历史记录的状态也是属于update概念范畴。二是其使用的都是普通PC,因此须要将其连起来使用,因此天生就是具备扩展性。
虽然Hadoop可以很好的解决关系型数据库的两大痛点,它就能够替代关系型数据库。这里就要引入吞吐量(Throughtput)和响应时间(RT),可参考
吞吐量是对单位时间内完成的工做量的量度。示例包括:工具

每分钟的数据库事务
每秒传送的文件千字节数
每秒读或写的文件千字节数
每分钟的 Web服务器命中数

响应时间是提交请求和返回该请求的响应之间使用的时间。示例包括:oop

数据库查询花费的时间
将字符回显到终端上花费的时间
访问 Web 页面花费的时间

一般,在资源必定的状况下,平均响应时间越长,系统吞吐量较大;平均响应时间越短,系统吞吐量越小。
因此在Hadoop处理全量数据的状况下,目标就是高吞吐量,因此其响应速度可能就没法和传统的关系型数据库媲美了。学习

大数据概念火的缘由

1.时势
2.是其带来的价值,可以全量的分析数据,让全量分析成为可能,从而延伸出人功能智能什么的(我猜的)。若是你实践一下大数据的全量分析,那感受,真的很爽。
3.Hadoop开源框架的出现,让不懂写代码,或者说是没有多少年写代码经验或对计算机理论不熟悉的人,让这些人按照其官网教程或本身拼接组件,从而很轻易的使用上大数据,并且方案还算很成熟,如离线方案:Flume->Kafka->Flume->HDFS->Hive。这方案能够说基本不用本身写代码。(或许说得有点过,要成为商业级产品,仍是须要些计算机理论和代码的功底滴)大数据

观点总结

数量随着时间的增加,数据量以达到传统关系型数据库的边界。其关键边界,一是硬盘的随机度,二是扩展性。而Hadoop以线性读写和高扩展性解决这两个痛点,成为大数据的代名词,但依然没法代替传统关系型数据库。那是由于资源必定的状况下,响应时间和吞吐量成反比(响应时间越长,系统吞吐量较大,响应时间越短,系统吞吐量越小)。一项技术诞生,每每需经历,发明创造、优化和普及等三个阶段。而Hadoop带来普及,Hadoop也成为大数据的代名词。
以上观点纯属我的观点,算是属于实验结论,非逻辑推理。可能不严谨不全面。但我以为适合用于入门铺垫,下降人的心理门槛。优化

相关文章
相关标签/搜索