NoSQL理论体系及应用
2012-06-27李冯筱罗高松
李冯筱,罗高松
(广州优亿信息科技有限公司 广州 510630)
1 引言
关系型数据管理系统(relationship database management system,RDBMS)在网络和商务应用中,对于存储结构化数据,目前仍然占有主导性地位。然而最近几年,越来越多的学者和大型网络公司开始质疑关系型数据库“以一适用所有”的想法。大数据时代的来临,使得传统RDBMS的瓶颈成为发展道路上的阻碍,于是新型数据库改革运动掀起了一股热浪,开发者们引用NoSQL作为运动的名称。NoSQL是一种概念,根据应用的不同,理解上也有所不同,有些人认为应该是not only SQL,也有些人认为是non-relational database,也有说法是non-SQL。无论说法上有什么区别,其描述的是越来越多的网络开发商(以下简称“网商”)打破传统局限,应用非关系型数据库方法进行革新的趋势。
2 NoSQL基础理论
NoSQL作为新兴数据库系统概念,由于其具有处理海量数据的能力,近年来受到各大IT公司的追捧。Facebook、Google等大型网商纷纷斥资进行相关研究。虽然相对成熟的RDBMS仍存在不少功能问题,但在这个数据爆炸的时代,由于数据处理需求的不断提升,预计这种发展热潮仍将持续下去,并且普遍化。谈及NoSQL数据库概念,首先应该了解支持NoSQL概念的理论三大基石:CAP理论、BASE思想和最终一致性。理解这三大理论,对于了解NoSQL的本源有着极其重要的作用。本文将对三大基石的理论基础和其之间的关系进行着重介绍。
2.1 CAP理论
Eric Brewer在发表于ACM的PODC中名为 “关于Robust分散式系统”的文章中首次提及CAP理论。此理论目前被大型公司广泛采纳,如Amazon和其他NoSQL拥护者。CAP 解释为一致性(consistency)、性能(availability)以及分区容忍性(partition tolerance)。……
