APP下载

NoSQL数据库综述

2015-03-05新疆国土资源信息中心吾木提那合曼

电子世界 2015年17期

新疆国土资源信息中心 吾木提·那合曼



NoSQL数据库综述

新疆国土资源信息中心 吾木提·那合曼

【摘要】NoSQL(Not Only SQL的缩写)是一种非关系型数据库产品的总称。本文首先介绍了NoSQL数据库,其次阐述了NoSQL数据库优缺点和应用现状;最后对在NoSQL产品之间进行了比较。

【关键词】关系型数据库;NoSQL数据库;非关系型数据库

1 引语

回顾数据库的发展历程,数据库技术从上世纪60年代末开始,经历了层次数据库、网状数据库和关系数据库而进入数据库管理系统(DBMS)阶段至今,数据库技术的研究也不断取得进展[1]。传统的关系型数据库已在数据存储方面占据了不可动摇的地位。近年来,随着互联网Web2.0技术的发展,网络数据库应用出现了一些新的变化,对与此相关的数据模型、分布式架构、数据存储等数据库相关的技术指标也提出了新的要求。但由于关系型数据库本身的一些不足,已经越来越无法满足互联网对数据扩展、读写速度、支撑容量以及建设和运营成本的要求。NoSQL是在这种新变化、新要求之下产出的一种非关系型数据库产品的总称。

2 NoSQL数据库概述

NoSQL(Not Only SQL的缩写)数据库是目前比较流行的,不同于传统的关系型数据库的数据库管理系统的统称。Wikipedia上定义:NoSQL是一种打破了关系型数据库长久以来占主导地位的,快速成长起来的非关系松散数据库存储类型,这种数据存储不需要事先设计好的表结构,它也不会出现表之间的连接操作和水平分割,学术界称这种数据库为非结构化存储[2]。

作为新型的下一代数据库,NoSQL数据库系统主要解决以下要点:非关系型,分布式的,开源代码和水平可扩展等。NoSQL数据库往往具有无架构、易于复制、简单的API、最终一致、大数据量等特点。目前有25种以上的NoSQL数据库,各有各自的特点,是基于不同应用场景而开发的,其中MongoDB和Redis最受欢迎。

3 NoSQL数据库优势

NoSQL数据库相比其他模型的数据库而言,具有以下优点:

(1)模式自由:目前NoSQL数据库有列存储、文档存储、键值对存储、图存储、对象存储、XML存储等数据存储模式,并且不需要事先为存储的数据建立字段,不需要固定的表结构,可以随时存储自定义的数据格式。

(2)水平扩展:传统的关系型数据库采用向上扩展方式提高性能,而NoSQL数据库则采用水平扩展的方式提高性能,即负载平均地分配到各个主机上。

(3)低廉的成本:NoSQL数据库可以运行在廉价的PC服务器集群上。PC集群扩充起来便宜且成本低;此外轻松地添加新的节点来扩展集群。而且大部分NoSQL数据库都是开源软件,没有昂贵的许可成本。

4 NoSQL数据库的缺陷

与传统的关系型数据库相比,NoSQL数据库虽然有很多优势,但也存在着一些缺陷,主要是:

(1)复杂性:因为在NoSQL数据库中不使用SQL查询语言,所以它需要用户自主编写程序来实现查询功能,这种编程查询的方式在完成简单任务时会很快,但对使用者来说会耗费大量的时间。此外,想要通过编写程序来实现复杂的数据库查询也是很困难的。

(2)可靠性:NoSQL数据库本身是不支持ACID事务,因此NoSQL数据库也不具有ACID所提供的可靠性。如果用户想要在NoSQL的一个数据集里应用ACID事务,那么他们必须得通过额外的编程来实现。

(3)一致性:因为NoSQL数据库本身是不支持ACID事务的,除非通过额外的编程才能实现,所以NoSQL的一致性可能会受到威胁。NoSQL不提供一致性,这让它拥有更好的性能和可扩展性,但这使某些应用程序和交易系统存在隐患,比如银行[3]。

(1)成熟度低:大多数企业不熟悉NoSQL数据库,因此没有足够的知识去做NoSQL是最好的数据库的选择。

5 NoSQL数据库应用现状

虽然NoSQL数据库一词早出现于1998年[4],其真正的发展是开始于2007年,先后出现了十多种NoSQL产品[5],例如:HBase、Cassandra、Hypertable、SimpleDB、MongoDB、CouchDB、DynamoDB、Redis、Neo4J等。从2009开始国内也陆续有公司或团队进行NoSQL数据库的开发,例如:豆瓣开源的BeansDB、新浪的MemcacheDB,淘宝网自主开发的Tair数据库,人人网的Nucbar以及盛大创新院的TCDatabase纷纷发布。NoSQL数据库在短短十几年内得到如此快的发展是因为Web2.0与云计算技术的广泛应用[6]。

表1 NoSQL数据库之间的比较

6 NoSQL数据库产品

目前市场上出现的NoSQL有二十多种[7],而它们之间也有一定的关联与继承,同时每个NoSQL数据库有它独到之处。表1是NoSQL数据库产品之间的比较。

7 结束语

随着现在网络数据的爆炸式增长,NoSQL数据库得到了广泛的使用,它具有海量数据存储,高性价比,灵活的扩展性等特点,一定程度上是传统数据库的代替品。目前,在某些场景下,可以将NoSQL数据库与关系型数据库结合使用,互相弥补各自的缺陷,这种数据库组合对解决Web2.0所遇到的性能、扩展性等问题具有指导意义[30]。

参考文献

[1]张华强.关系型数据男不男女不女 库与NoSQL数据库[J].电脑知识与技术,2011,7(20):4802.

[2]谢毅,高宏伟,范朝冬,杨望仙.NoSQL非关系型数据库综述[J].先进技术研究通报,2010,4(8):46-48.

[3]NealLeavitt.WillNoSQLDatabasesliveUpto their Promise?[J].Computer,2010:12-13.

[4]张冬.浅谈互联网运营商的特殊集群——NoSQL[J].网络世界,2011,026:1-2.

[5]黄贤立.NoSQL非关系型数据库的发展及应用初探[J].福建电脑,2010,7:30-31.

[6]卢益阳.NoSQL数据管理系统综述[J].企业科技与发展,2011,17:31-32.

[7]徐娟娟,朱成亮.NoSQL在WEB日志分析中的应用[J].中国新技术新产品,2011(10):27.

吾木提·那合曼(1986-),女,新疆沙湾人,新疆国土资源信息中心工程师。

作者简介: