企业级大数据平台构建:架构与实现
上QQ阅读APP看书,第一时间看更新

1.1 缺乏统一大数据平台的问题

大数据思维需要依托大数据技术的支撑才能得以实现,所以隐藏在背后的支撑平台非常重要。正所谓下层基础决定上层建筑,没有一个牢固的地基是建不成摩天大楼的。我们不妨设想一下作为一个投身于大数据领域的企业,如果没有一个统一的大数据平台会出现什么问题。

1.1.1 资源浪费

通常在一个企业的内部会有多个不同的技术团队和业务团队。如果每个团队都搭建一套自己的大数据集群,那么宝贵的服务器资源就这样被随意地分割成了若干个小块,没有办法使出合力,服务器资源的整体利用率也无法得到保证。这种做法无疑是对企业资源的一种浪费。

其次大数据集群涉及的技术繁杂,其搭建和运维也是需要学习和运营成本的。这种重复的建设费时费力且没有意义,只会造成无谓的资源浪费。

1.1.2 数据孤岛

如果企业内部存在多个分散的小集群,那么首先各种业务数据从物理上便会被孤立地存储于各自的小集群之中,我们就没有办法对数据进行全量的整合使用,数据便失去了关联的能力,大数据技术使用全量数据进行分析的优势也丧失了。

其次,在这种情况下也很难实现对业务数据进行统一的模型定义与存储,一些相同的数据被不同的部门赋予了不同的含义,同一份数据就这样以不同的模型定义重复地存储到了多个集群之中,不仅造成了不必要的存储资源浪费,还造成不同部门之间沟通成本的增长。

1.1.3 服务孤岛

企业内部各自为政的小集群的首要任务是支撑团队或项目组自身的业务场景来满足自身的需求,所以在实现功能的时候不会以面向服务的思维来抽象提炼服务,很可能都没有可以暴露出来供小集群外部使用的服务。退一步讲就算这些小集群有提供出来的服务,那么它们也缺乏统一的顶层设计,在做服务设计的时候没有统一的规则,导致提供的服务参差不齐,其访问入口也很有可能不统一。同时这些服务被分散在不同的集群之中,应用程序不能跨越多个集群使用所有的服务。

1.1.4 安全存疑

企业内部各项目组或团队自身维护的小集群通常都是只为支撑自身业务而实现的,不会同时面对多个用户。企业通过一些行政管理手段可以在一定程度上保障集群的安全。但是当团队人员扩充、集群规模扩大或是大数据集群的服务同时面向多个技术团队和业务部门的时候,很多问题就会显露出来。首当其冲的便是需要面对多用户的问题,集群不再只有一个用户,而是需要面对多个不同的用户。这就自然而然地引出一系列需要切实面对和解决的问题,比如用户的管理、用户的访问控制、服务的安全控制和数据的授权等。小集群通常都处于“裸奔状态”,基本没有什么安全防护的能力。集群安全涉及方方面面,是一个非常复杂的系统工程,不是轻易能够实现的。

1.1.5 缺乏可维护性和可扩展性

大数据领域的技术发展日新月异,其本身正处于一个高速的发展期,我们的集群服务会时不时需要进行更新以获得新的能力,或是需要安装补丁以修复Bug。在这种情况下对多个小集群进行维护就会变得非常麻烦。同时当某个小集群性能达到瓶颈的时候也没有办法很容易地做到横向扩容。

1.1.6 缺乏可复制性

各自为政的小集群缺乏统一的技术路线,导致大数据集群的运维工作会缺乏可复制性。因为一个部门或者团队与其他部门使用的技术组件可能完全不一样,这样一个集群的安装、维护和调试等经验就没有办法快速复制和推广到其他团队或部门。同时在大数据应用研发方面也会存在同样的问题,正常来讲当我们做过的项目越多,从项目中获得的经验也就越多,我们能从这个过程中提炼、抽象和总结一些经验、规则或是开发框架来帮助我们加速今后的应用研发。但是技术路线的不统一很可能导致这些先验经验丧失后续的指导意义。