首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

大数据生态现状

在2003年到2004年Google的“三驾马车”MapReduce、BigTable、GFS 三篇技术论文发表,预示着大数据时代的到来,随着数据的增长,Google的搜素引擎、存储面临严重挑战,这三篇论文迎着时代要求孕育而生。GFS 分布式文件存储系统,该文件可运行在廉价的PC硬件,且有副本机制,支持很好的容错和大量数据的存储,MapReduce是一个基于Map(K-V)对为输入经过一定的处理输出Reduce端(K-V)基于K-V聚合的编程框架,用户可以编程程序,使其分布式运行在低廉的PC普通服务器上进行大数据量的处理和技术,BigTable 是一个分布式的可水平扩展支持高并发写入的结构化,半结构化文件存储系统,支持高并发的读写性能。Hadoop是从开源实现的Nutch(一种构建在大型全网搜索引擎项目,包括索引,查询等功能)中剥离处理,并于2008年成为Apache基金会的顶级项目,可以说他的成立开启了整个大数据时代的发展。

大数据时代的到来,诞生了好多大数据公司,非常值得一提有Cloudera、Hortonworks和MapR这三家,Cloudera、Hortonworks这两家是国内大多数企业的选择。其中Cloudera和MapR发行版是收费的,他们基于开源组件。强化其功能,提高稳定性,定制性较强,核心技术点是闭源的,售卖他们改良过的软件是他们主要的盈利手段,相对而言Hortonworks完全基于开源组件,他们主要以帮助别人维护和定制化开发为盈利手段。对比国内使用较多的两家。他们的产品显得很有意思,Cloudera公司基于Cloudera Manager来实现数据平台的搭建,版本组装和节点的增删,自带一定的监控功能,可以通过简单的管理界面实现配置的更改,队列配置管理。服务的启停,能够使用其快速搭建起一个大数据平台,是很多中小型公司快速构建大数据系统不错的选择。相对Hortonworks的公司Ambari,其有着类似的功能,也能通过界面点击按钮实现组件安装部署,配置更新,同样自带一些相应的监控。大体来说这两个大数据组件管理软件功能上差别并不是很大,只是适配的组件有所不同,基础层像用来存储的hadoop,hbase这些两家都支持,spark、kafka也同时被两家所支持。但像hive的使用上就略有不同。Ambari的hive目前默认基于tez有向无环图来实现,减少MR的迭代次数,或者在集成Presto来实现快速Sql分析等,Cloudera Manager则有所不同hive之上更容易和他们基于mpp架构实现的impala结合做快速分析,一些公司也会基于impala来实现他们的olap系统。也有基于sparksql或者很火的kylin来实现olap系统的查询引擎,相对于tez的使用确实加速hive的响应请求时间,但较impala来说是较慢的,但是稳定性较impala要好,impala采用拉的方式一有结果就返回,但是容错性相对较差,在集群一定规模下显得很有效,但当集群规模超过100节点或者数据量较大时,它的出错率就变得难以容忍,容易内存溢出00m等导致整个失败,tez虽然容错性较好,但是和hive结合上会有许多坑存在,spark2.X之上sql有很大的改进,支持的sql语法也更加完善。查询上可以基于thriftserver直接写sql取得不错的效果,但如果服务挂起会造成一定的资源浪费。或者dataframe、 dataset的引入使其sql编程也变得更为容易。权限管理上Ambari可以基于Ranger来实现而且比较轻量,可和kerberos来结合,clouder manager则选择sentry来实现权限管理,也可以和kerberos结合,Hadoop在实现上安全性不足容易被人恶意删除数据做一些坏的操作,kerberos的引入弥补了hadoop安全性方面的不足,他可以解决hadoop节点之间的信任问题,用户和节点之间的信任问题,但无法满足用户级别上的认证,但是安装配置比较麻烦,维护成本高,而且对性能影响比较大,想想它的认证方式这种影响自然能理解。Nosql上ambari主要是hbase,而clouder除了可以安装hbase之外还可以安装kudu。Kudu的是为了改善hbase的大数据更新而诞生。设计理念上和hbase很相似,kudu的一致性模型和支持高新能的写入被好多公司用来承载一些实时写入数据,后续将数据同步到impala或者sparksql做实时分析的场景,而hbase相对来说比较适合存储用户画像,历史订单记录,或者时序数据等。Ambari的组件版本是HDP而Cloudera Manager的是CDH版本,他两管理方式也非常相似,页面配置修改同步到对应的元数据库,组件重启的时候在扫描对应版本号做配置同步。笔者使用中发现cloudera manager出错排查的时候较为困难,错误日志少的可怜,这样可能和他们的设计理念有一点关系吧,出错了我帮你解决,付费就是了。现在国内好多厂商好多都是基于这两个大数据组件管理工具做一定的开发,包装自己的个性化产品,加入自己的监控机制等,来实现对客户服务,或者基于大数据分析的建设。一些云厂商也基于此做一些封装,实现大数据平台的一键部署,节省人力成本。相对于这两者的使用,也有一些大公司,会选择开源组件来搭建大数据平台,这样便于组件的定制化开发以适应自己的业务发展。当然这样对技术要求和人力成本的要求较高,大公司不差钱,这也就不是什么事儿了。总之如何选择还是要结合自身发展需求和技术实力成本来考虑,适合自己的才是最好的。

随着移动互联网的发展,pc和手机的普及,网络的覆盖越来越大,越多的人参与进来。各行各业的快速发展,海量数据喷发式的产生。这对大数据分析提出了更高的要求。然而大数据平台的构建和转型并非一朝一夕之间,一个大数据平台构建3-5由于机器老化就需要不断的迭代更新更换硬件、集群扩容或者服务升级,但还是难以满足数据增长的需求,长期的采购流程再到服务上线,很难满足要求,还有一些业务像“双十一”期间要求非常大的计算资源来满足,平常则不需要那么多的资源,这种临时性的满足很容易造成后期的资源浪费,这对IT资源的发展提出更高的标准和要求,于是一种期望资源弹性分配技术孕育而生。主要虚拟化技术开源、openstack,docker技术的迅速发展将大数据推向了高潮,云计算技术迅速火热起来。各种云厂商应运而生。大数据技术被变得快速简单,集群部署和搭建基本不成问题,可以快速实现和分配大量计算资源,灵活调度,这也要求大数据从业人员更为开阔的技术路线。好多公司的技术转型也不再那么困难,资源利用率和有效率有了很大的改善。

数据量的增长,分析需求的多元化,细粒度化,个性化,数据挖掘,AI人工智能的高速发展,作为基础的大数据将面对更大的机遇和挑战。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180512G13OLI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券