3.1 数据存储规模与数据类型
构建一个大数据系统,首先需要分清自身系统数据的基本特征,需要以何种基础设施进行数据存储、分析,相关的产业链有哪些解决方案,如何更经济地解决自身遇到的问题。
对于系统设计者来讲,首先需要考虑的就是数据存储规模,以及需存储与处理的数据类型。存储规模将大致确定大数据平台的建设规模,而数据类型将决定所需使用的技术以及复杂度。
对于数据存储规模,存储的成本大致是随存储规模而线性上升的。在项目规划的初期,需要对各数据源进行梳理,区分出哪些数据需在大数据平台中集中存储,哪些不需集中存储,并对各个数据源所产生数据的容量与规模进行量级上的估算。
在各主要数据源规模估算的基础上,可以估算出全系统最终的数据存储容量。在存储方案确定的前提下,可以进一步估算出大数据平台(不包括上层业务系统)的建设成本。
对于数据类型,由于IT技术的繁荣,造就了系统数据的多样性。文本、图像、音频、视频或其他二进制数据等多种数据,在存储、传输、交换、流转中形成了多样化的数据格式,如TXT、JPG、AVI等。
从数据是否结构化的角度来看,其有三大类。其一是结构化数据,通常针对数据的记录形式,可用二维表结构来逻辑表达实现的数据称为结构化数据,如大多数存储在数据库二维表中的记录、TSV文件、结构化文本等;其二是非结构化数据,其与结构化数据相反,难以采用二维表结构来定义与表达,如办公文档、文本、图片、图像和音频/视频等;其三是半结构化数据,即文件本身提供结构自描述定义,数据的结构和内容混在一起的数据称为半结构化数据。
传统数据库擅长处理结构化数据,但对非结构化数据与半结构化数据,则很难处理。例如,对于文本、图像、视频等,往往需要专业化的处理算法,甚至随着业务的不同,针对相同种类的数据源,也需要采用不同的处理算法与软件。
所以在项目规划初期,对需要处理的数据进行梳理,识别出各类结构化数据、非结构化数据以及半结构化数据的种类,将有助于对整个系统所需要的技术,以及技术复杂度进行全面的评估。