Gartner一项统计结果表明:到2018年,由于面对技能和整合的挑战,70%以上的Hadoop应用将陷入困境。
现在很多商业智能提供上都在为大数据应用倾注各种心血,大数据应用也变得更容易、更平滑。技能与整合会为我们带来挑战,那么挑战和困难会出现在什么地方呢?我们从大数据项目的上游部分入手,开始分析。
数据的收集
大数据顾名思义数据量庞大,大数据时代,企业需要支持的数据不仅仅有传统的结构化数据,还有各类非结构化数据。
传统的结构化数据,如ERP、CRM、OA等系统,通过现有的ETL技术,我们可以汇聚这些系统的数据。实现方式有两种。一种是将实体数据从数据仓库复制、替换到数据湖泊,另一种是在结构上搭建数据湖泊(虚拟数据仓库的一种变体)。
来自物联网的结构化的数据:物联网中的传感器以及其他设备产生的数据会使应用变得复杂,主要原因是数据产生量与摄入量的及时匹配问题。不过这其中涉及的数据通常高度标准化,而且对上游数据转换的需求量不大。
还有一种结构化的数据,是人工通过填报功能录入数据,这在中国尤其明显,中国企业经常需要利用报表数据来录入各种业务、分析数据,如新员工信息表、新合同的录入等。这些数据也可以很容易的汇集到数据仓库。
而对于非结构化数据:诸如Hadoop之类的大数据平台可以简化媒体文件以及文字数据的收集工作。这些数据可以被简单地“倾倒”入数据湖泊而后加以利用,因为这些数据的存储是无结构的。
如果有适当的ETL工具和接口,结合对数据吞吐量的合理设计,数据收集不会是大数据应用中最难以实现的部分。
数据的存储
大数据平台有多种形态,它们可以存储所有类型的数据,用户可以从不同的角度描述、获取这些数据。我们可以利用大数据平台,对以下问题给出确定的解决方法:在数据存入方面,从简单的文件存储,到不强调一致性的非关系型数据库存储,再到第三范式甚至第五范式的关系型数据库存储;在数据读取方面,从直接读取到全方位的事务性的SQL读取。
得益于自身基础设计理念,大数据平台可以无限扩展。如果大数据平台在云端运行维护,那么它的灵活性将更强。至少从概念上讲,存储数据是大数据应用中最易于实现的部分。
但是项目实施阶段是充满各种变数,从核心Hadoop平台到各种商业产品,再到各个数据库供应商的提供的混合平台,我们有太多的可选项,太多的报价,太多的概念和相应的不同难度等级的技术。为了降低实施风险,我们要尽可能选择一个产品厂商,而能提供多种数据产品的供应商实力都很强大,值得信赖。
数据的使用
在数据湖泊中存储了理想的数据后,我们该怎么将其加以利用呢?数据的转换、协调、确保不同数据源之间的一致性、检查数据的质量,这些是大数据应用中最难实施的部分,而且在这些方面我们可用的自动化工具少之又少。
如果我们的需求只是基于某个单一数据源开发项目,或者基于一致的数据集得出报告的话,那么我们有许多集成度高的无缝化解决方案可以使用。
然而想要结合多种数据源、探索利用不同属性的数据的话,我们就不得不自行开发。我认为那些声称能使大数据应用变得更容易的服务供应商,应该在相关领域有所作为。
译文/帆软软件 传说哥(微信ID:frbiaoge)