大数据浪潮,汹涌来袭,与互联网的发明一样,这绝不仅仅是信息技术领域的革命,更是在全球范围加速企业创新、引领社会变革的利器。现代关系学之父德鲁克有言,预测未来最好的方法,就是去创造未来。而“大数据战略”,则是当下领航全球的先机。 大数据的应用离不开数据,从搜集、存储、分析到预测。而关于数据的收集,许多人都会觉得无从下手,那么大数据的应用真的那么难吗? 今年早些时候,一项出自Gartner的统计结果引起了我的关注。该结果称,到2018年,由于面对关于技能和整合的挑战,70%的Hadoop应用都将陷入困境。 诚然,技能与整合是会为我们带来挑战,但现如今,各个服务提供商都声称能使大数据应用变得更容易、更平滑,那么挑战与困难会出现在什么环节呢?我们从大数据项目的上游部分入手,开始分析。 1、数据收集 关于数据收集,乍一看是一项艰巨的任务。因为对于数据,不仅仅要做到精准,还要做到全面。再加上大数据收集并纳入数据湖泊的一系列工作,使人对大数据项目望洋兴叹。但是如果将数据收集问题肢解开来的话,你会发现实际操作难度并没有那么大。 来自传统来源的数据:我们有各种传统的体系为我们作分析提供数据来源,例如会计系统、HR系统,等等。通过现有的ETL技术,我们可以汇聚这些系统中的数据。大体上我们有两种选择。一种是将实体数据从数据仓库复制、替换到数据湖泊,另一种是在结构上搭建数据湖泊(虚拟数据仓库的一种变体)。 来自物联网的结构化的数据:物联网中的传感器以及其他设备产生的数据会使应用变得复杂,主要原因是数据产生量与摄入量的及时匹配问题。不过这其中涉及的数据通常高度标准化,而且对上游数据转换的需求量不大。 非结构化的数据:诸如Hadoop之类的大数据平台可以简化媒体文件以及文字数据的收集工作。这些数据可以被简单地“倾倒”入数据湖泊而后加以利用,因为这些数据的存储是无结构的。 2、数据存储 数据不断增长造成单机系统性能不断下降,即使不断提升硬件配置也难以跟上数据的增长速度。因此,关于数据的存储就发展出来数据库进行存储。 并行数据库 并行数据库是指那些在无共享的体系结构中进行数据操作的数据库系统。这些系统大部分采用了关系数据模型并且支持SQL语句查询,但为了能够并行执行SQL的查询操作,系统中采用了两个关键技术:关系表的水平划分和SQL查询的分区执行。 NoSQL数据管理系统 传统关系型数据库在处理数据密集型应用方面显得力不从心,主要表现在灵活性差、扩展性差、性能差等方面。最近出现的一些存储系统摒弃了传统关系型数据库管理系统的设计思想,转而采用不同的解决方案来满足扩展性方面的需求。这些没有固定数据模式并且可以水平扩展的系统现在统称为NoSQL(有些人认为称为NoREL更为合理),这里的NoSQL指的是“Not Only SQL”,即对关系型SQL数据系统的补充。 NewSQL数据管理系统 传统数据库支持ACID和SQL等特性限制了数据库的扩展和处理海量数据的性能,因此尝试通过牺牲这些特性来提升对海量数据的存储管理能力。这种方式取消了耗费资源的缓冲池,在内存中运行整个数据库;它还摈弃了单线程服务的锁机制,也通过使用冗余机器来实现复制和故障恢复,取代原有的昂贵的恢复操作。这种可扩展、高性能的SQL数据库被称为NewSQL。 得益于自身基础设计理念,大数据平台可以无限扩展。如果大数据平台在云端运行维护,那么它的灵活性将更强。至少从概念上讲,存储数据是大数据应用中最易于实现的部分。 3、数据使用 在数据湖泊中存储了理想的数据后,我们该怎么将其加以利用呢?数据的转换、协调、确保不同数据源之间的一致性、检查数据的质量,这些是大数据应用中最难实施的部分,而且在这些方面我们可用的自动化工具少之又少。 如果我们的需求只是基于某个单一数据源开发项目,或者基于一致的数据集得出报告的话,那么我们有许多集成度高的无缝化解决方案可以使用。然而想要结合多种数据源、探索利用不同属性的数据的话,我们就不得不自行开发。 来源网络整理 学大数据,上言数堂 |
|
来自: 昵称40471325 > 《待分类》