IBM DB2总架构师:数据库的未来是NoSQL

内存计算、Hadoop和NoSQL是2011年大数据分析的三大热点。IBM院士、DB2总架构师Curt Cotner在拉斯维加斯举办的IOD2011大会上演讲时表示,未来的数据库发展方向是非关系数据库NoSQL。目前Google的BigTable和 Amazon的Dynamo都用NoSQL型数据库,而传统的关系数据库在应付超大规模、高并发的SNS、web2.0网站已经力不从心。

传统的关系数据库在应付web2.0网站网站时暴露了很多难以克服的问题:web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,数据库并发负载非常高,往往要达到每秒上万次读写请求。关系数据库可以应付上万次SQL查询,但是应付上万次SQL写数据请求,硬盘IO就已经无法承受了。对于大型的SNS网站,每天用户产生海量的用户动态,比如目前Facebook每天处理 10TB的数 据,Twitter每天处理7TB,同时这些数据量每天都在增长。对于关系数据库来说,在如此海量的信息中进行SQL查询,效率是极其低下乃至不可忍受的。

关系型数据库最大特点就是事务的一致性:传统的关系型数据库读写操作都是事务的,具有ACID(原子性 Atomicity、一致性Consistency、隔离性Isolation、持久性Durability)的特点,C就是一致性 (Consistency),这个特点是关系型数据库的灵魂(其他三个AID都是为其服务的),这个特性使得关系型数据库可以用于几乎所有对一致性有要求 的系统中,如典型的银行系统。关系数据库的另一个特点就是其具有固定的表结构,因此,其扩展性极差,而在SNS中,系统的升级,功能的增加,往往意味着数据结构巨大改动,这一点关系型数据库也难以应付,需要新的结构化数据存储。

据悉,NoSQL一词最早出现于1998年,是Carlo Strozzi开发的一个轻量、开源、不提供SQL功能的数据库。NoSQL打破了长久以来关系型数据库与ACID理论大一统的局面。NoSQL 数据存储不需要固定的表结构,通常也不存在连接操作,但在大数据存取上具备关系型数据库无法比拟的性能优势。