Survey on NoSQLDatabase
摘要
随着互联网和云计算的发展,越来越要求数据库能够高效地存储和处理大规模数据,特别是读写的性能,因此,传统的关系数据库正面临许多新挑战。特别是在大规模,高并发应用程序中,诸如搜索引擎和SNS,使用关系数据库来存储和查询动态用户数据已经显得不够。在这种情况下,NoSQL数据库诞生了。本文描述了NoSQL的背景,基本特征以及数据模型。另外,本文根据CAP理论对NoSQL数据库进行了分类。最后,本文详细介绍了一些主流的数据库,并且提取一些属性,以帮助企业选择NoSQL
1. 介绍
随着互联网和云计算的不断发展,各种类型的应用已经出现,这对数据库技术提出了更多的需求,主要体现在一下几个方面:
l 高并发,低延迟的读写
数据库被需求高并发,低延迟的读写,与此同时,为了大大提升客户体验,也要求数据库去帮助应用做出更快的反应。
l 高效的大数据存储和访问需求
像SNS和搜索引擎之类的大的应用,需要数据库能够有效的存储数据(PB级别),并且可以对数以百万计的查询作出反应。
l 高扩展性和高可用性
随着越来越多的并发请求和数据,数据库需要能够支持容易扩展和升级,确保快速不间断的服务。
l 降低管理和运营成本
随着数据量的动态的增长,数据库成本的急剧增加,包括硬件成本,软件费用和运营成本。因此需要低成本存储大数据。
虽然关系数据库已经在数据存储领域占据很高的位置,但面对上述问题时,它有一些固有的局限性:
l 读写太慢
关系数据库本身具有一定的逻辑复杂性,随着数据规模的增加,很容易出现死锁和其他并发问题,这导致了读写效率的快速下降;
l 容量有限
传统的关系型数据库不能处理搜索引擎,SNS或大系统中的数据。
l 难于扩展
关系数据库中的多表关联机制成为制约数据库扩展的主要因素。
为了解决上述传统数据库遇到的问题,一大批新型的数据库系统出现了。大体上看,这些新的数据库跟传统的数据库系统有着很大的区别,我们把他叫做NoSQL数据库。NoSQL也被解释为“NOTONLY SQL”,以说明NoSQL的优势。介绍完背景之后,我们将注意力集中在NoSQL数据库的优势和缺点上。
2. 特征,数