欢迎来到天天文库
浏览记录
ID:46129319
大小:111.00 KB
页数:11页
时间:2019-11-21
《浅谈Nosql数据库》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、浅谈NoSQL数据库—'绪论自2004年“Web2.0”的概念被提出,互联网网站则更注重用户的交互作用,用户既是网站内容的浏览者,也是网站内容的制造者。由此,数据库存储数据的重心逐渐从企业数据向用户数据转移。据数据统计,互联网数据以每年50%的速率在增长,按照Gartner预测,到2020年,全球数据量将达到35ZB,等于80亿块4TB硬盘。数据结构变化给存储系统带来新的挑战,非结构化数据在存储系统中所占据比例已接近80%。面对如此大的非结构化数据,传统的关系型数据库显得力不从心。同时,NoSQL数据库的出现打破了传统的关系模型,
2、以一种模式自由的方式存储数据,提供了新型的访问接口,并克服了传统关系型数据库的缺点。NoSQL数据库可部署在廉价的硬件之上,支持分布式存储,能透明地扩展节点。本文介绍了NoSQL数据库的基本特点,列举了NoSQL的主要理论和成果,分析了其优缺点及发展前景。二、NoSQL介绍及发展历史(一)NoSQL介绍NoSQL字面上常被理解为NotOnlySql的简写,即不仅仅是数据库,这样的解释从逻辑上很通。但经过分析来看,NoSQL实际上是两个词的组合:No和SQL,它暗示了NoSQL技术与SQL之间的对立性,这个可能也归结于创始人和早期使
3、用者都是NoRDBMSo后来有人提议用NonReligious来代替NoSQL,不过因为NoSQL的发音更好听,最终选择了这个词。不管字面意思如何,今天NoSQL泛指这样一类数据库和数据存储,它们不遵循经典RDBMS原理,且常与Web规模的大型数据集有关。换句话说,NoSQL并不单指一个产品或一种技术,而是指那些非关系性的、非结构化的数据、定义不是很明确的数据存储形式。(二)NoSQL发展历史最近几年,NoSQL这一概念倍受追捧,但通过查询了解到,NoSQL其实不是一个新概念。经过考证NoSQL这个词最早出现在1998年,是在Ca
4、rloStrozzi开发的一个基于文件的数据库系统中被提出来的。但是他开发的这个数据库系统还是一个关系型数据库,只是没有面向SQL语言的接口而已。推测他起名为NoSQL的原因无非是他的数据库系统是无需SQL接口的SQL数据库而已。较真的说,CarloStrozzi的数据库系统并不能算作现在NoSQL的起源。在2009年,NoSQL被EricEvans再次引用,用于描述不依赖于SQL技术的数据存储,这也是我们目前对NoSQL概念的普通认识。其实,非关系型数据库技术及应用的发展还可以追溯到更早。下面表1展示了非关系型数据库的发展过程。
5、数据库名称发行年代发行商特点备注DBM1979年AT&T基于文件hash的数据库TDBM20世纪80年代AT&T支持原子性事务操作NDMB20世纪80年代AT&T支持同时打开多个数据库SDBM-DBM20世纪80年代AT&T为了解决DBM的发行版问题GT.M20世纪80年代提供高效的事务处理真正意义上的key-value存储BerkeleyDB20世纪80年代Sleepycat4.3BSD、4.4BSD的过渡版本被Oracle收购LotusNotes1989年IBM真正意义上的文档数据库系统已经完全演化成了一个办公协作套件Mnes
6、ia20世纪90年代Ericsson不支持SQL查询而是依赖于自身的Erlang语言一个软实时的数据库系统,并被于用电信行业Neo4j2000年一个高性能的图引擎开始启动db4o2000年面向java和・net的对象数据库系统开始启动QDBM2000年MikioHirabayashiDBM的又一个实现版本,他比QDBM更高效Memcached2003年Danga内在式存储用于支持LivejournalMemcachedb2003年Danga支持文件存储Memcached的更新版本BigTable2004年Google分布式数据存储
7、系统2006年发布了其研究文章Infogrid2005年一个post关系web应用程序的平台2008年开源JackRabbit2006年Apache基于JSR170和283的实现TokyoCabinet2006年MikioHirabayashiQDBM的一个成功典范Dynamo2007年Amazon一款可用的分布式Key-Value存储系统2007年发行研究文章CouchDB2008年Erlang一个文档数据库系统核心思想来源LotusNotesVoldemort2008年Facebook一个分布式数据库系统,他能有效的防止并点故
8、障Dynomite2009年ErlangDynamo的实现Terrastore2009年一个扩展性很强的文档存储系统Redis2009年VMware一个基于key-value的存储系统Riak2009年Erlang支持多节点构建的系统HBase20
此文档下载收益归作者所有