APP下载

高校大数据存储方案探索

2018-02-07宋阳

中小企业管理与科技 2018年33期
关键词:数据录入结构化分布式

宋阳

(上海大学计算机工程与科学学院,上海 200444)

1 引言

大数据分析是当今社会的一个热门话题。随着科技水平的不断发展,存储设备的制造成本不断下降,各类业务系统逐渐选择将运行过程中产生的结果和中间数据进行存储,不再选择舍弃。随着数据的不断积累,人们逐渐认识到,充分利用所积累的数据进行分析,可以得到具有启发性的结果,为今后的工作决策做支撑。高等院校的信息系统面向全体师生,固定用户具有一定的规模,而且多数高校的信息化工作已经有很长的时间,在这过程中积累了大量的数据。如今,各个高校越来越重视大数据分析所能带来的优势分析,为服务师生提供更好的决策支持。这就涉及高校现有信息系统中的传统数据存储方式转变为适合大数据分析的存储方式。本文介绍了几种适合高校大数据存储的可行方案,并讨论了各自的优缺点。

2 文本存储

文本存储是最简单最高效的存储方式,具有存储成本低的优势。但是,以文本形式存储的数据很难进行数据分析。因为各个系统产生的数据格式不同,在分析文本数据前,需要耗费大量的人力对其进行数据预处理,甚至转换到其他存储形式后再进行分析处理,这给数据的利用造成了极大的困难。

但是,由于文本存储的实现方式简单,在缺乏人力和设备资源的高校,或者在没有可见的数据分析需求的情况下,先对数据以文本的形式存储下来不失为一种简单易行的办法。但也要重视对文本文件的备份和管理,注重数据的完整性,为今后的数据应用和扩展提供便利。

3 关系型分布式数据库

关系型分布式数据库是数据库技术与网络技术相结合的产物。分布式数据库的典型定义是:分布式数据库是一个数据集合,这些数据在逻辑上属于同一个系统,但物理上却分散在计算机网络的若干站点上,并且要求网络的每个站点具有自治的处理能力,能执行本地的应用[1]。

3.1 关系型分布式数据库的优势

分布式数据库通过增加适当的数据冗余,提高系统的可靠性。在集中式数据库中,尽量减少冗余度是系统目标之一,要求表结构符合范式规则。其原因是,冗余数据浪费存储空间且容易造成不一致性。而在关系型分布式数据库中却希望增加冗余数据,可以打破减少冗余这一要求,在不同的设备、机架、机房中存储同一数据片段的多个副本,从而提高整个系统的可靠性,并且可以提高系统的整体性能。常见的关系型集中式数据库MySql和SqlServer等,都提供分布式部署的扩展功能。一旦迁移到分布式数据库模式后,易于集成到现有的信息系统,也易于扩充数据库规模[2]。

3.2 关系型分布式数据库的缺点

关系型分布式数据库的部署复杂度比较高,而且对数据库管理员的技能要求较高。通信开销较大也是关系型分布式数据库的困难点,当故障发生后系统恢复也比较复杂。例如,在网络通信传输速度不高时,系统的响应速度慢,与通信相关的因素往往导致系统故障,同时系统本身的复杂性也容易导致较高的故障率。

分布式数据库比较典型的应用在银行系统、大型连锁超市、交通票务系统等。分布式数据库系统往往需要一个专业团队的时刻维护,人力成本较高。由于成本和人力资源上的要求,在一般规模的高校中,分布式操作系统并不一定适用。高校在考虑部署分布式数据库时,需要考虑是否具有维护数据库的必要条件。

4 非结构化数据库

非结构化数据库(NoSQL)不以符合关系型范式作为表设计要求,而以一定的数据冗余方便数据的存储和查询。非结构化数据库发展迅速,而且绝大多数都提供了分布式部署的方案,十分适合存储海量数据。

4.1 非结构化数据库的优势

非结构化数据库最近几年的发展迅速,开源社区十分活跃,有大量的优质开源项目和及时的维护团体,发行版本更迭迅速。由于不用维护文档之间的二维关系,非结构化数据库具有易于操作和管理的优势。非结构化数据库与关系数据库为互补关系,在应用中要发挥非结构化数据库长于存储和检索的功能,将占用空间比较大的非结构化档案数据及其元数据存到非结构化数据库中,将占用空间不大的元数据信息复制导入到关系数据库中进行管理,以保持数据之间的联系[3]。

例如流行的MongoDB数据库,提供各种语言的客户端开发包和数据导入工具,并且文档十分完善,易于上手。MongoDB支持在集群中部署,提高整体的数据查询相应速度和扩展性,而且在海量数据集中的查询性能十分优秀。HBase数据库是ApacheHadoop项目的一部分,是Apache的顶级项目。HBase建立在Hadoop的分布式文件存储系统HDFS上,具有更好的可靠性和扩展性,十分适合存储海量数据。而且HBase与强大的Hadoop大数据处理模型生态圈具有先天的支持优势,可以无缝的进行Map/Reduce等的数据处理计算。

4.2 非结构化数据库的问题

非结构化数据库在数据搜索方面需要付出一定的代价。MongoDB提供对二级索引的支持,创建索引可以极大地提高数据查询的相应速度,但是也会降低数据插入的速度。这一点与结构化数据库的索引所带来的性能影响类似。

HBase不支持二级索引,仅在RowKey和ColumnFamily上有索引,所以对存储在HBase中的数据进行值的扫描操作是十分耗时的,而且在RowKey的设计上也要求遵循哈希分散的原则,以尽量将数据分散到各个节点上。HBase与MongoDB相比较而言,更适合数据的写入,而不适合数据的频繁查询。

5 索引与非结构化数据库的结合

在前文中提到,非结构化数据库虽然在海量数据存储上具有优势,但是在数据查询与筛选上要么牺牲数据录入速度,要么牺牲响应速度。从这一点出发,如果索引的创建和数据的录入分开,那么是否可以找到一种更优的方案,既保障数据录入速度,又能在数据查询时保持快速响应。王文贤等人提出了一种索引技术与HBase结合的数据存储方案[4],并与华为的hindex方案进行了比较。该方案在数据录入HBase的同时,利用Solr技术创建数据条目的倒排索引,并且在数据查询时先在solr中进行搜索,再根据搜索结果在HBase中取出数据,从而同时保证了较高的数据录入速度和响应速度。

创建索引与数据录入分为了两个操作,如何保证索引与存储的一致性是一个挑战。HBase是基于高可靠性HDFS分布式文件系统之上的,可以保证存储数据的一致性和完整性,由索引所引入的额外冗余破坏了这一优势,此时存储系统不再具有热机故障恢复的能力。其次,对创建好的索引进行修改也是一个耗费巨大的操作,重新创建索引会导致一段停止服务时间,这在频繁插入或修改数据的情况下十分影响用户体验。这一方案中,索引与业务系统的对接,系统的扩展性,数据冗余开销代价等都是需要进一步探索的话题。

6 结语

本文简要总结了几种适合高校建设大数据存储系统的几种方案,并讨论了各自的优缺点和困难点。在考虑存储系统应有的功能的同时,也要考虑方案的实施代价和维护成本。一个好的方案既需要与实际应用需求相结合的精细设计,也需要在实践中不断探索。

猜你喜欢

数据录入结构化分布式
基于SPSS软件在市场调研中的数据录入方法
促进知识结构化的主题式复习初探
改进的非结构化对等网络动态搜索算法
面向海外数据库的一种通用数据录入方法的研究
结构化面试方法在研究生复试中的应用
左顾右盼 瞻前顾后 融会贯通——基于数学结构化的深度学习
基于SPSS软件在市场调研中的数据录入方法
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
基于DDS的分布式三维协同仿真研究