1.1.2 数据类型
根据是否具有固定的结构和关系,可以将大数据分为以下3类。
● 结构化数据:可预先定义属性并且格式固定的数据。就结构化数据而言,通常是先有结构,再有数据。典型的结构化数据是通过关系型数据库进行存储和管理的。这类数据通常采用二维表结构的形式进行逻辑表达,以行为单位,一行数据表示一个实体的信息,每一行数据的属性都相同,严格遵循数据的格式与长度规范。
● 非结构化数据:没有固定结构的,不能通过结构化模式表示和存储的数据。典型的非结构化数据包括文本、图像、音频、视频等。
● 半结构化数据:介于结构化数据和非结构化数据之间的数据。就半结构化数据而言,通常是先有数据,再有结构。半结构化数据的结构不固定,同一类数据具有不同的属性,属性的数量也不固定,不像结构化数据那样会对数据的结构进行预先模式化定义。由于半结构化数据的结构和内容是混在一起的,没有明显的区分,因此也称这类结构为自描述结构。典型的半结构化数据包括XML(Extensible Markup Language,可扩展标记语言)、JSON(JavaScript Object Notation,JavaScript对象表示法)、HTML(HyperText Markup Language,超文本标记语言)等。
研究表明,全球新增数据的80%是半结构化数据和非结构化数据。非结构化数据的增速远高于结构化数据的,而且非结构化数据的占比也越来越高。
随着信息技术的快速发展,多源异构数据(多源异构数据指的是在不同设备、不同操作系统的不同数据库系统中的数据)的融合成为常态。为满足面向多种不同类型数据存储的需求,关系型存储、文件存储、对象存储、宽表存储、键值存储、时序存储、事件存储、时空存储、图存储、向量存储等多种数据存储模型应运而生。这些数据模型共同构成了多模型大数据架构。
早期的多模型大数据架构的主流产品只是将多个单模型数据库通过统一的界面组合在一起。本质上,这种多模型大数据架构是单模型大数据架构的延伸,在形式上将数据孤岛问题隐藏在统一的用户界面背后。但是,这种组合了多种单模型数据库的产品会导致数据冗余、数据一致性治理难、数据跨库分析难、资源配置难等一系列问题。
为解决这些问题,原生多模型大数据架构应运而生。该架构能够在单一场景下基于各类数据库分别支撑,在各种数据库之上搭建统一的资源调度(通过容器化编排来统一调度计算、存储、网络等基础资源)、统一的分布式存储管理(为不同的存储模型提供公共的存储管理服务,保障数据一致性,实现数据统一管理运维和高可用,避免数据孤岛)、统一的计算引擎(根据不同的存储模型自动匹配算法,不仅支持批处理、流处理等计算任务,而且支持不同模型数据的流转与关联)与统一的接口层(在一个命令中可完成各种复合跨模型数据查询,无须访问不同接口即可操作不同的数据模型),最终实现数据一致性、灵活的资源弹性、简捷的操作与运维。