虽然Hadoop确实是当今许多大数据实现的核心,对于初次接触数据管理的人来说,将大数据和Hadoop互换使用是一个常见的错误。但它并不是唯一的问题。大数据分析可以由许多不同的软件组成,它们一起收集、存储、操作和分析所有不同的数据类型。通过定义大数据的概念有助于更好地理解形势。一般情况下,行业将大数据归类为“三个V”。
■ Velocity(速度):指收集和分析数据的速度。Hadoop分布式文件系统旨在快速地获取和处理数据。智能对象能够以非常快的速度生成机器和传感器数据,并且要求数据库或文件系统具有同样快速的接收功能。
■ Variety(多样性):指不同类型的数据。通常我们会看到数据被归类为结构化、半结构化或非结构化数据。不同的数据库技术可能只能接受其中一种类型。Hadoop能够收集和存储所有这3种类型。当将来自物联网设备的结构化机器数据与来自其他来源(如社交媒体或多媒体)的非结构化的数据相结合时,这可能是有益的。
■ Volume(容量):指数据的规模。通常,数据规模是使用极低的吉字节、拍字节,甚至是另一个极端的艾字节来衡量的。一般而言,大数据实现的规模超出了单个节点上本地连接的存储磁盘的可用容量。对于一些大型部署,经常可以看到由数十个、数百个甚至数千个节点组成的服务器集群。
大数据的特征可以通过数据的来源和类型来定义。首先是机器数据,由物联网设备生成,通常是非结构化数据。其次是事务性数据,这些数据来自于从这些系统上的事务中产生数据的源,并且具有高容量和结构化的特点。再次是社交数据源,通常是高容量和结构化的。最后是企业数据,即体积较小、结构非常复杂的数据。因此,大数据由所有这些独立来源的数据组成。
在检查数据源时,还需要考虑从每个数据源摄取的数据量,这决定了数据存储层的设计。我们还应该考虑从摄取系统获取数据的机制(即推或拉)。数据源的类型(数据库、文件、Web服务、流)也需要考虑,因为它也决定了数据的结构。
数据摄取层是连接数据源和存储的层。它是对数据进行预处理、验证、提取和临时存储以供进一步处理的层。对于数据摄取,有几种模式需要考虑。首先是多源摄取,它将多个数据源连接到摄取系统。在此模式中,摄取节点接收来自多个源的数据流,并在将数据传递给中间节点和最终存储节点之前进行处理。此模式通常在批处理系统中实现,并且在实时系统中实现(由于数据的可用性存在延迟,因此不太常见)。
在有助于定义物联网的行业中,数据收集和分析并不是新概念。长期以来工业垂直行业一直依赖于从各种过程中获取、收集和记录数据的能力,以记录趋势并跟踪性能和质量。
例如,许多工业自动化和控制系统将数据输入到两种不同的数据库类型:关系数据库和历史数据库。关系数据库,如Oracle和Microsoft SQL,适合于事务或流程数据。它们的优点是能够分析一段时间内到达的数据之间的复杂数据关系。历史数据库对系统和过程中的时间序列数据进行了优化。它们的核心是数据的存储和检索速度,将每个数据点记录在一个序列中,并记录与记录系统相关的信息。这些数据可能包括传感器读数、材料数量、温度读数或流量数据。
关系数据库和历史数据是成熟的技术,已经伴随我们多年,但是数据管理市场中的新技术为传感器和机器数据开辟了新的可能性。这些数据库技术大致可以分为几个类别,在物联网环境中使用时,每种技术都有各自的优势和潜在的缺陷。其中3个最流行的类别是大规模并行处理系统、NoSQL和Hadoop。