列式数据库的研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
列式数据库的研究

1导言 1.1研究背景及目的 随着互联网技术的发展、硬件的不断更新、企业及政府信息化的不断深入,应用的复杂性要求越来越高,推动着数据存储技术向着海量数据、分析数据、智能数据的方向发展,以便为数据仓库、在线分析提供高效实用的技术支持。基于行存储的数据库技术面临新的问题,已经出现了技术瓶颈。近些年来,一种新的数据存储理念,即基于列存储的关系型数据库应运而生。列式数据库能够快速发展,主要原因是其复杂查询效率高,读磁盘少,存储空间少,以及由此带来的技术、管理和应用优势。 现在关于列式数据库的资料大多比较零碎,本文的主要工作就是对列式数据的资料进行系统整理,对列数据库技术的基本现状、应用优势以及未来的前景进行分析和综述。 1.2列式数据库研究现状 1994年10月Sybase 收购了Expressway Technologies,该公司只是做提高Sybase数据库报表查询方面的技术,其中使用的技术便是一种按列存储的技术。该公司被购买后更名为Sybase IQ Accelerator,我们可以看到列式数据库前身是做报表加速器的应用。1996年12月正式推出产品:Sybase IQ 11.1,定位于大型数据库市场。1999年Sybase IQ 12.0 成为一个独立的产品来销售,意味着Sybase IQ 和Sybase ASE 分离了。2000年 12.4.2 multiplex成为Sybase IQ的基本功能。2004年 12.5版本 ,支持BLOB这种大数据库类型。2005年12.6版本支持了CLOB,WEB services,XML,同时推出了图形化查询计划,索引建议等工具。2006年7月,12.7 正式推出,增加OLAP函数,优化了子查询的性能,使得整个数据库的分析查询能力大幅提高。此外提高了数据加载速度,并将ASE和IQ两个主流的数据库产品整个界面上做了统一。2009年3月 IQ15 提供了全新的并发查询架构,适应了多核技术;同时通过信息生命周期管理提高了海量数据的管理效率。同时加强了数据监控、管理、分析等图形工具。去年和今年又推出了15.1和15.2,又增加了数据库内分析,基于列式数据库的内容管理,使IQ跨入了非结构化数据的领域。 从1994年到2005年十年时间,列式数据库几乎无人问津,而现在因为列式数据库在分析业务(OLAP)领域的突出能力,很多厂商加入了列式数据库的研发队伍中来。在这两三年当中,除了列式数据库的鼻祖Sybase以外,美国有几家公司正在列式数据库方面做研发,中国也有厂商投入其中。在此期间,包括Oracle、Vertica、Infobright和SenSage等公司在内的许多厂商也都把列式数据库技术添加到自己的产品中。这表明了列式数据库的发展是必然的,是一个趋势,大家正在逐渐认可列式数据库。 2列式数据库的概述 2.1列式数据库的概念 列式数据库是以列相关存储架构进行数据存储的数据库,主要适合于批量数据处理和即席查询。相对应的是行式数据库,数据以行相关的存储体系架构进行空间分配,主要适合小批量的数据处理,常用于联机事务型数据处理。 数据库以行、列的二维表的形式存储数据,但是却以一维字符串的方式存储,例如以下的一个表: 表1 员工工资表 Empld Lastname Firstname Salary 1 Smith Joe 40000 2 Jones Mary 50000 3 Johnson Cathy 44000 这个简单的表包括员工代码(EmpId),姓名字段(Lastname and Firstname)及工资(Salary)。这个表存储在电脑的内存(RAM)和存储(硬盘)中。虽然内存和硬盘在机制上不同,电脑的操作系统是以同样的方式存储的。数据库必须把这个二维表存储在一系列一维的“字节”中,操作系统再写到内存或硬盘中。行式数据库把一行中的数据值串在一起存储起来,然后再存储下一行的数据,以此类推。1,Smith,Joe,40000;2,Jones,Mary,50000;3,Johnson,Cathy,44000;列式数据库把一列中的数据值串在一起存储起来,然后再存储下一列的数据,以此类推。1,2,3;Smith,Jones,Johnson;Joe,Mary,Cathy;40000,50000,44000;这是对列式数据库的一个简化的说法。 2.2行列存储的比较 (1)存储方式 将表放入存储系统中有两种方法,而我们绝大部分是采用行存储的。行数据库就是我们所熟知的传统关系型数据库,即数据按记录存储,每一条记录的所有属性都存储在一起。而列数据库则是按数据库记录的列来组织和存储数据的,数据库中每个表由一组页链的集合组成,每条页链对应表中的一个存储列,而该页链中每一页存储的是该列的一个或多个值。其存储方式如下

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档