大数据运营之数据存储

大数据服务的数据源不但来自归属于不同行业的组织之中,而且其类型还具有多样性(Variety)特征。

多样性指的是大数据服务不仅包括例如姓名、年龄这样的结构化数据,还包括歌曲、电影这样的非结构化数据,此外网页、邮件这样的数据介于结构化和非结构化之间,属于半结构化数据,也是大数据服务的重要数据源。

结构化数据来源于业务需求,系统分析员将需求中静态的“名词”提取出来并进行抽象,作为数据库表结构设计的依据。比如我们设计一个学籍管理系统,通过分析发现“张三”、“李四”等学生具有姓名、年龄、所属院系、所选课程、课程分数等属性,于是系统分析员将这些属性选取出来并设计一个“学生”类,那么“学生”表结构就相当于一个模板,可以将“张三”、“李四”等学生的姓名、年龄、班级等结构化数据存储到数据表中。由于数据表是二维的,借助关系型数据库的SQL语言,可以从多个维度对结构化数据进行查询统计。

与结构化数据相对的是非结构化数据。顾名思义,非结构化数据是不可以提取字段并定义属性的,只能以图片、语音、视频的媒体形式存在。虽然非结构化数据不像结构化数据那样能够进行统计分析,但是并不代表非结构化数据并没有价值。

非结构化数据可以以多媒体的形式存在,生动形象地反馈信息,因此我们可以从非结构化数据中采集有价值的信息,并将这些采集的新增转化为结构化数据,通过对非结构化数据的“理解”来发现其中隐藏的价值。

介于结构化数据和非结构化数据之间的是半结构化数据。半结构化数据的结构和内容混合在一起,例如电子邮件、网页等。从半结构化数据中同样可以抽取出许多有价值的数据,比如电子邮件中可以采集到发件人、收件人、标题等,通过对邮件的收发地址、频率、主题等进行分析,可以形成以电子邮件为通信媒介的社交网络。

企业可以根据应用的要求、数据的规模、数据的类型等维度进行分析和设计,选择不同的存储架构。

对于数据规模大、数据结构简单、对查询效率要求高的应用,可以采用Hadoop/Hbase这样的分布式存储架构。由于Hadoop/HBase存储架构采用键值存储结构,具有良好的可扩展性,因此可以通过增加基础设施资源来提高查询效率,系统整体性能随着集群规模的增大而线性增长。

对于需要关联多个数据模型才能实现的分析型应用,则可以考虑采用关系型数据库作为存储库。对于以邮件、文档、录音、录像等文件形式存在的非结构化数据,可以采用NAS(Network Attached Storage,网络连接式存储)存储架构,对于存取频率高、单次存取数据量小的结构化数据,具有明确数据类型和数据长度,可以考虑采用SAN(Storage Area Network,存储区域网络)存储架构。

对于以文件为存取单位的非结构化数据,则适合采用NAS(Network Attached Storage,网络连接式存储)存储架构。通常情况下,存储架构采用SAN和NAS混合的形式。

SAN和NAS属于“主机+磁盘阵列”的系统架构,在大数据时代,随着数据量的不断增加,企业越来越采用“单机+硬盘”组成的系统架构。这种架构适合于需要批量数据处理的分析型应用,并且对单个应用设备的能力要求不高,可以有效地利旧低端设备,可以快速地实现横向资源扩展。

相关推荐