大数据时代数据存储技术的发展

时间:2022-10-09 01:00:10

大数据时代数据存储技术的发展

【摘要】数据存储技术经历了从手工管理到文件管理、再到数据库管理系统三个阶段,数据库技术中关系数据库占据了主要地位。互联网络的兴起,促使用户数据暴增,大数据时代已经来临,对存储介质容量和数据检索速度都提出了更高的要求,传统的关系数据库难以胜任这一角色,NOSQL数据库逐渐兴起。本文在介绍大数据概念的基础上,分析关系数据库的优劣势,并介绍NOSQL数据库的理论基础和当前NOSQL数据库产品。

【关键词】大数据;关系数据库;NOSQL

一、大数据

1.大数据产生的背景

大数据(Big Data),也称巨量资料,指的是所涉及的资料量规模巨大到无法通过目前主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的资讯,通常被认为是PB或EB或更高数量级的数据。

互联网络从上世纪90年代开始,发展迅速,加快了信息传播和共享的速度,尤其是一些社交网站的兴起,数据量更是以前所未有的速度暴增,文字资料、声音、视频、图像等多媒体数据铺天盖地。据资料显示,上世纪90年代,互联网资源不是很丰富的时代,网民月平均流量1MB左右,之后则快速增长,2000年后,逐渐发展为每月10MB、100MB、1GB,据估计2014年可能会达到10GB。淘宝网每日几千万笔交易,单日数据量达几十TB,数据存储量几十PB,百度公司目前数据总量接近1000PB,存储网页数量接近1万亿页,每天大约要处理60亿次搜索请求,几十PB数据。

随着技术发展,大数据广泛存在,如企业数据、统计数据、科学数据、医疗数据、互联网数据、移动数据、物联网数据等等。总之,大数据存在于各行各业,一个大数据的时代已经到来。

2.大数据时代的挑战

大数据特点是容量在增长、种类在增长、速度也在增长,面临如此庞大的数据量,数据的存储和检索面临着巨大挑战。比如2007年时,Facebook使用数据仓库存储15个TB的数据,但到了2010年,每天压缩过的数据比过去总和还多,那时商业并行数据库很少有超过100个节点以上的,而现在雅虎的Hadoop集群超过4000个节点,Facebook仓库节点超过2700个。大量的数据现在已经开始影响我们整个的工作、生活、甚至经济,如何存储和高效利用这些数据是需要我们解决的。

二、关系数据库

1.关系数据库概述

关系型数据库是支持关系模型的数据库系统,他是目前各类数据库中最重要,也是使用最广泛的数据库系统。关系型数据库从上世纪70年代诞生到现在经过几十年的发展,已经非常成熟,目前市场上主流的数据库都为关系型数据库,比较知名的有Oracle数据库、DB2、Sybase、SQL Server等等。

2.关系数据库优势

关系数据库相比其他模型的数据库而言,有着以下优点:

模型容易理解:关系模型中的二维表结构非常贴近逻辑世界,相对于网状、层次等其他模型来说更容易理解。

使用方便:通用的SQL语言使得操作关系型数据库非常方便,只需使用SQL语言在逻辑层面操作数据库,而完全不必理解其底层实现。

易于维护:丰富的完整性大大降低了数据冗余和数据不一致的概率。

3.关系数据库存在问题

传统的关系数据库具有不错的性能,稳定性高,历经多年发展已日臻成熟,而且使用简单,功能强大,也积累了大量的成功案例。上世纪90年代的互联网领域,网站基本都是静态网页,主要以文字为主,访问量也不大,当时用单个数据库完全可以应对。可近几年,动态网站随处可见,各种论坛、博克、微博异常火爆,在大幅度提升交流方式的同时,用户数据量迅速增长,处理事务性的数据关系数据库得心应手,可面对互联网的高并发、大数据量关系数据库显得力不从心,暴露了很多难以克服的问题:

数据库高并发读写:高并发的动态网站数据库并发负载非常高,往往要达到每秒上万次甚至百万次、千万次的读写请求。关系数据库应付上万次SQL查询没问题,但是应付上百万、千万次SQL数据请求,硬盘IO就已经无法承受了。

海量数据的高效率访问:一般大型数据库在百万级的数据库表中检索数据可达到秒级,但面对数亿条记录的数据库表,检索速度效率是极其低下,难以忍受的。

数据库可扩展性和高可用性:基于web的架构当中,数据库无法通过添加更多的硬件和服务节点来扩展性能和负载能力,对于很多需要提供24小时不间断服务的网站来说,数据库系统升级和扩展却只能通过停机来实现,这无疑是一个艰难的决定。

三、NOSQL数据库

1.NOSQL数据库理论基础

NOSQL作为新兴数据库系统概念,由于其具备处理海量数据的能力,近年来受到各大IT公司的追捧。Amazon、Google等大型网商已纷纷斥资进行研究并开发了适用的产品。谈及NOSQL数据库,首先应该了解支持NOSQL的理论:CAP理论、BASE思想和最终一致性。

(1)CAP理论

CAP理论由Eric Brewer在ACM PODC会议上的主题报告中提出,这个理论是NOSQL数据管理系统构建的基础,CAP解释为一致性(Consistency)、可用性(Availability)以及分区容忍性(Partition Tolerance)。具体描述如下:

强一致性(Consistency):系统在执行过某项操作后仍然处于一致的状态。在分布式数据库系统中,数据变更后所有的用户都应该读取到最新的值,这样的系统被认为具有强一致性。

可用性(Availability):每一个操作都能够在一定的时间内返回结果。“一定时间内”是指系统的结果必须在给定时间内返回,如果超时则被认为不可用,“返回结果”同样非常重要,必须能提供成功或失败的信息。

分区容错性(Partition Tolerance):分区容错性可以理解为系统在存在网络分区的情况下仍然可以接受请求。

CAP是在分布式环境中设计和部署系统时所要考虑的三个重要的系统需求。根据CAP理论,数据共享系统只能满足这三个特性中的两个,不能同时满足三个条件。因此系统设计者必须在这三个特性之间做出权衡。例如Amazon的Dynamo具有高可用性和分区容错性但不支持强一致性,也就是说用户不能立即看到其他用户更新的内容。

(2)BASE思想

BASE(Basically Availble),基本可用,强调数据库的最终一致(Eventually consistent最终一致,最终数据一致就可以,而不是时时高一致),不同于传统关系数据库基于的ACID模型。

ACID特性与高性能是不兼容的。比如,在网店买东西,每个客户买东西时都会通过锁来同步数据操作,操作完成每个客户都可以看到一致的数据。也就是说,不允许多个客户同时买的情况。很明显对于大多数网上商城,尤其是大型网商来说,这个方法并不适用。

BASE思想实际上是CAP理论中AP的衍伸。通过牺牲高一致性,保证高可用性和分区容忍性。BASE思想的组成有以下3个部分:基本可用、软状态、最终一致性。BASE模式指的是一个应用在任意时间首先应该能完成最基本化的工作(即基本可用),并不需要总是一致(即软状态),但最终应该是一致(即最终一致性)的。

(3)最终一致性

数据一致性可分别从使用者和提供者角度看:从使用者的角度,如何观察数据更新;从提供者的角度,也就是服务器端,更新如何在系统中实现。

一致性可分为强一致性和弱一致性两种:强一致性要求更新过的数据能被后续的访问都看到,根据CAP理论,强一致性无法和可用性、分区容忍性同时实现;弱一致性,指读取操作能够见到变化的数据,但不是所有变化的数据。

最终一致性属于弱一致性的一种,即存储系统保证如果没有新的更新提交,最终所有的访问都将获得最后的更新。如果没有故障发生,不一致性取决于通信时延、系统负载以及复制策略中涉及的副本数。

2.NOSQL数据库产品

NOSQL(Not Only SQL)数据库是指那些非关系型的数据库。NOSQL数据库分为Key-Value、Key-Document和Key-Column这3类。典型的NOSQL产品有Google的BigTable、基于Hadoop HDFS的HBase、Amazon的Dynamo、CouchDB、MongoDB、Redis等。

NOSQL数据库遵循CAP理论和BASE原则,大部分Key-Value数据库系统都会根据自己的设计目的进行相应的选择,如Cassandra、Dynamo满足AP,BigTable、MongoDB满足CP。

四、结束语

本文首先介绍了大数据概念,分析了关系数据库在存储大数据量方面的不足,并介绍了当前NOSQL数据库的基本理论和当前产品分类。大数据时代的来临,我们忙于如何存储和处理这些数据,但随着计算机互联网、移动互联网、物联网等网络的快速发展,数据量会持续大幅增长,如何长期保存这些数据以及如何处理更大级别的数据量,都需要我们思考并解决。

参考文献

[1]王珊,王会举,覃雄派等.架构大数据:挑战、现状与展望[J].计算机学报,2011(34).

[2]黄贤立.NOSQL非关系型数据库的发展及应用初探[J].福建电脑,2010(7):30.

[3]李莉莎.关于NOSQL的思考[J].中国传媒科技, 2010(4):40-41.

基金项目:软件工程专业多元化实验、实践教学体系研究(JXYJ2013004)。

作者简介:杨俊生(1973―),男,辽宁沈阳人,工学硕士,大连理工大学城市学院讲师,主要研究方向:数据仓库。

上一篇:基于ZigBee的微气象无线监测系统通讯协议实现 下一篇:基于“项目引导式――工作过程”工程造价专业...