首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

大数据背景下的数据库技术研究

作者:张宇航 来源:电子技术与软件工程

摘 要

随着大数据技术的发展,适应大数据的数据库技术的重要价值日益显现。本文首先介绍了大数据的4v特性、影响以及一些典型的产品应用案例,从数据库技术的角度出发,详细讨论了大数据背景下数据库技术的键值存储模型、云数据库概念、BigTable非关系型数据库等研究问题。分析比较BigTable与传统RDMBS数据库的不同之处。最后探讨了未来数据库技术的发展趋势,以及未来海量异构数据的融合、高维度数据的存储等数据库技术的发展方向。

【关键词】大数据 键值存储 Bigtable 云数据库

1 引言

在大数据时代背景下,大数据一个定性的描述:是指无法在可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。当今“大数据”一词的重点其实已经不仅在于数据规模的定义,它更代表着信息技术的发展进入了一个新的时代,代表着爆炸性的数据信息给传统的计算技术和信息技术带来的技术挑战,代表着大数据处理的新技术和方法,也代表着大数据分析和应用所带来的新的发展机遇。本文从大数据的背景出发,研究数据库的存储模型,数据模型,编程模型等问题以及讨论数据库技术的未来研究方向。

2 大数据概念

2.1 大数据的特性

学术界通常用4个V(即Volume、Variety、Value、Velocity)[1]来概括大数据的特征。

(1)Volume指数据体量巨大。截至目前,人类生产的所有印刷材料的数据量是200PB,而历史上全人类说过的所有的话的数据量大约是5EB。当前,典型个人计算机硬盘的容量为TB量级,而一些大企业的数据量已经接近EB量级。

(2)Variety指数据类型繁多。类型的多样性也让数据被分为结构化数据和非结构化数据。相对于以往便于存储的以文本为主的结构化数据,非结构化数据越来越多,包括网络日志、音频、视频、图片、地理位置信息等,这些多类型的数据对数据的处理能力提出了更高要求。

(3)Value指价值密度低。价值密度的高低与数据总量的大小成反比。以视频为例,一部1小时的视频,在连续不间断的监控中,有用数据可能仅有一二秒。

(4)Velocity指处理速度快。这是大数据区分于传统数据挖掘的最显著特征。根据IDC的“数字宇宙”的报告,预计到2020年,全球数据使用量将达到35.2ZB。在如此海量的数据面前,处理数据的效率就是企业的生命。

2.2 大数据的影响

大数据决策成为一种新的决策方式。依据大数据进行决策,从数据中获取价值,让数据主导决策,是一种前所未有的决策方式,并正在推动着人类信息管理准则的重新定位。随着大数据分析和预测性分析对管理决策影响力的逐渐加大,依靠直觉做决定的状况将会被彻底改变。

大数据开发推动新技术和新应用的不断涌现大数据的应用需求,是大数据新技术开发的源泉。借助这些创新型的大数据应用,数据的能量将会层层被放大。

2.3 大数据典型应用案例

2.3.1 梅西百货的实时定价机制

根据需求和库存的情况,该公司基于SAS的系统对多达7300万种货品进行实时调价。

2.3.2 沃尔玛的搜索

这家零售业巨头为其网站Walmart.com自行设计了最新的搜索引擎Polaris,根据沃尔玛的说法,语义搜索技术的运用使得在线购物的完成率提升了10%到15%。“对沃尔玛来说,这就意味着数十亿美元的金额。”Laney说。

2.3.3 PredPol Inc.

PredPol公司通过与洛杉矶和圣克鲁斯的警方以及一群研究人员合作,基于地震预测算法的变体和犯罪数据来预测犯罪发生的几率,可以精确到 500平方英尺的范围内。在洛杉矶运用该算法的地区,盗窃罪和暴力犯罪分布下降了33%和21%。

3 键值存储

传统的关系型数据库中的利用二维表数据模型存储格式化的数据结构,每个元组的字段组成相同,数据库会为每个元组分配所有的字段,这样便于表与表之间的操作,但是,它也是关系型数据库性能瓶颈的一个因素。它难以满足如下的高要求:

(1)对数据库高并发读写的需求;

(2)对海量数据的高效率存储和访问的需求;

(3)对数据库的高可扩展性和高可用性的需求

为了解决这类问题,非关系型数据库(NoSQL存储)应运而生,它以键值对存储,结构不固定,每一个元组可以有不同的字段,并且可以根据需要增加一些独有的键值对,它不局限于固定的结构,这样可以减少一些时间和空间的开销。键值对存储,简称KV存储,是NoSQL存储的一种方式。它的数据按照键值对的形式进行组织,索引和存储。KV存储非常适合不涉及过多数据关系业务关系的业务数据,同时能有效减少读写磁盘的次数,比SQL数据库存储拥有更好的读写性能。

Google的BigTable、Amazon的Dynamo等都是是非常成功的NoSQL实现。Membase,MongoDB,Cassandra,BeansDB,Redis等开源的NoSQL体系也得到了广泛认同。

键值存储机制采用键值对形式存储,值可以是任意不定长数据。如图1所示。

kv存储采用0、1目录的方式管理历史数据和更新数据,假设当前的更新数据目录和历史数据目录都为0目录,在合并时,最新历史数据写到1目录,同时更新数据开始写在1目录。注意的是,需要对更新数据目录和历史数据目录的当前0、1目录进行维护。

通常情况下,更新数据使用Memtable存储,历史数据使用SSTable结构存储。这样快速定位Key所在的SSTable就可以提高查询效率。KV存储在内存需保存key到SSTable的映射。

KV存储支持写操作和读操作,如使用主键可作简单查询和复杂查询(如列表查询和范围查询),同时通过更新数据和历史数据的合并定期处理过期数据。

(1)写操作:增加,修改,删除一个键值对。

写数据时先写到更新目录下(0/1),再写Memtable。更新目录下只追加写,做标记。

(2)简单查询:查询某个主键对应的值

读数据时分别读Memtable和SStable的数据合并后返回。

(3)复杂查询:列表查询,范围查询

列表查询对指定的主键列表进行查询,返回对应的值列表。

范围查找对指定的主键进行查询,返回对应的值列表。

(4)过期数据处理:合并

写操作如更新和删除操作会产生很多的无用数据,这些垃圾数据的回收是通过定时合并操作实现的。

4 BigTable非关系型数据库

根据IDC的研究报告,未来5年,企业对结构化的数据存储需求会每年增加20%左右,而对非结构化的数据存储需求每年会增加60%左右。大数据催生了云数据库。云数据库支持多种数据模型,如SQL Azure等云数据库采用传统关系模型、BigTable采用键值存储,CloudDB同时支持关系模型、键值模型和列式模型.下面详细研究BigTable数据模型。

BigTable实际上是一个稀疏分布的,永久的多维排序图,采用行键、列键和时间戳对图索引,图中的值是未经解释的字节数组。这里以一个实例来解释BigTable的数据模型。下图显示了存储网页数据的WebTable的片段,行名是URL反转,contents列族包含网页内容,anchor列族包含了任何引用这个页面的anchor文本。CNN的主页被Sports Illustrated和MY-look主页引用。Contents列有3个版本对应时间戳t3,t5和t6。

由此可见BigTable中的数据库模式和关系型模式主要区别,与传统关系型模型相比:

(1)不存在表间的联接操作。

(2)整个模式只有1个行健索引。

虽然不同关系型模型,但是通过行健访问,整个系统并不会慢下来。

5 结束语与展望

综上所述,在大数据背景下,数据库技术的发展有了新要求与新机遇。大数据的发展离不开数据库技术的支持,结构化、非结构化、面向关系型、面向对象、NoSQL等众多数据库概念与技术相互融合、相互补充,共同发展,从而实现多源异构的海量数据存储、多维数据融合、信息资源的高效利用。

参考文献

[1]大数据概念及应用未来[J].科技讯.2014.

[2]大数据可能带给世界的大影[J].学习时报.2014.

[3]中国大数据技术与服务市场2013-2017年预测与分析[J].IDC报告.2014.

[4]Chang F,Dean J,Ghe ma wat S,Hsieh WC,Wallach DA,Burrows M,Chandra T,Fikes A,Gruber RE.Bigtable:a distributed storage system for structured data.In:Proc. Of the 7th Symp.On Operating Systems Design and Implementation(OSDI 2006).Seattle: USENIX Association,2006.205-218.

[5] 大数据时代环境下数据库的发展趋势与影响[D].中国传媒大学,2014.

作者单位

辽宁本溪广播电视大学 辽宁省本溪市 117000