转型大数据的一点心得

大数据这个话题实在太大,一篇小文装不下冰山一角。故只写一点自己从Java开发转型到大数据来的心得。

大数据和小数据有什么区别?比方说,有两个需求:

一、把10000日增量的连接成功率日志经过统计后,在报表上展示,允许T+1时延。

二、把10亿日增量的连接成功率日志经过统计后,在报表上展示,允许T+1时延。

第一个需求,你只需要用SpringMVC+Mysql就可以直接实现了,1万的日增量,一年也只是百万级别,Mysql可以实现实时查询,系统不存在瓶颈。但第二个需求,若还是用SpringMVC+Mysql,那仅仅1天的数据灌进去,Mysql就查不动了。所以,这里引出大数据技术的一个本质:就是为了解决海量数据带来的架构上的种种瓶颈。

在一个分层架构中,最容易成为瓶颈的就是数据存储与运算。在一个百万量级的分层架构中,一个Mysql就可以承担“存储+运算”层的角色了。但数据达到亿级时,Mysql成了瓶颈,但换成Oracle瓶颈就又不存在了。但到了百亿级别,最强的Oracle Exadata也已经跑不动了,DB就又成了瓶颈。这时就需要引入Hive这种存储+运算真正分离的储算组件了。

所以,有时候你作为一个java开发工程师,在面临数据量的逐渐增长时,你为了解决一个个阶段的瓶颈,而使用上了Hive、Hbase、Spark、kafka、Clickhouse等组件,然后,不知不觉地,你也成了大数据工程师了。

大数据,其实也是分方向的,我总结为两个方向:大数据应用开发与大数据平台开发。区别是什么?简单地说,大数据应用开发是使用生态里的各种组件与平台,去实现各种大数据需求;而大数据平台开发,就是给大数据应用开发者开发这种平台。方向该挑哪个?这几乎没得选,各个公司对大数据的探索演进程度参差不齐,只是用用的,就只需要应用开发,要做数据中台的,就要平台开发。两种岗位对技能要求的区别:应用开发需要懂Hadoop生态,然后会用种种大数据能力组件,就差不多了;而平台开发,除了懂Hadoop生态外,还要求有工程开发的经验,比如Java web项目经验,或Python django经验。

大数据技术不神秘,再重复一下,就是为了解决数据逐渐增长带来的架构上的种种瓶颈,把瓶颈一个个攻克,你自然就成为大数据工程师了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值