近年来,大数据热潮使得非关系型数据库(NoSQL)受到了人们更多的关注,甚至有人提出:非关系型数据库将主导未来大数据分析领域,关系型数据库(SQL)将走向死亡。事实上,关系型数据库和非关系型数据库在大数据时代都有很大的发展空间。大数据的特点之一是价值密度低,数据挖掘可以说是沙里淘金、海里捞针,有可能如获至宝,也有可能一无所获。例如北京市“公交一卡通”每天刷卡高达四千万次,地铁流量达一千万人次,运用NoSQL技术分析这些大数据,其结果对于优化北京公交线路具有重要的参考价值。类似的成功案例还有许多。但NoSQL并不能全面解决数据库技术面临的挑战,传统的关系型数据库技术仍有用武之地,它具有数据结构易于理解、操纵语言使用方便、数据完型性有充分保证等特点,并在事务处理等领域取得了相当大的成功。40多年来,人们在数据查询和应用开发等方面积累了丰富的经验和研究成果,关系型数据库可作为开发大数据管理系统研究的框架或起点。从理论上讲,关系型数据库和非关系型数据库两者呈互补关系。数据库的CAP理论指出:一致性(Consistency)、可用性(Availability)、分区容错性(tolerance to network Partitions)三者无法兼顾,任何分布式系统只能同时满足其中两点。该理论已经实践证明成为业界的共识。

众所周知,各种关系型数据库的理论基础是ACID,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。ACID模型体现了传统数据库的设计思想,但也限制了系统的某些性能,如横向扩展能力、高效存储与访问能力、非结构化查询与分析能力等,尤其在应对社会网络上大容量、高并发数据时显得力不从心。非关系型数据库的理论基础是BASE模型,即基本可用(Basically Available)、软状态(Soft state)、最终一致性(Eventually consistent)。ACID和BASE在化学中分别指代“酸”和“碱”,在分布式信息系统中,BASE和ACID正好代表了两种不同的数据管理方法。

NoSQL的正确解读是“不仅仅是SQL”(Not only SQL),它泛指非关系型、分布式的数据存储系统,包括列存储数据库、键/值存储数据库、文档型数据库、图形数据库、对象数据库等。BASE模型的核心思想是牺牲强一致性要求,可以基于日志实现异步复制,可以处理超大量的数据;数据分区存放,具有天然的冗余备份特征;根据应用的特点采用比较简单的数据模型,不需要预定义表结构。虽然非关系型数据库的结构化查询统计能力偏弱,在数据一致性方面还需应用层保障,但因NoSQL除具有较高的可用性和柔性的可靠性个,还有很强的横向、纵向扩展能力,在特定的应用领域它仍有很大的发展空间。

随着SNS(社会性网络服务)类型的Web 2.0网站的兴起,用户每天生产的数据量剧增,要求数据库有高扩展性,用户高并发的读写请求,要求网站能及时响应;与此同时,数据的一致性显得不是那么重要了,于是非关系型数据库应运而生。严格地说,非关系型数据库是一种数据结构化存储方法的集合,而云计算时代海量数据管理系统就是为可扩展性、弹性、容错性、自管理性等目标设计的,因此典型NoSQL数据库系统离不开云平台的支持。

针对云计算环境下结构化和非结构化数据的管理需要,马献章高工撰写了《数据库云平台理论与实践》一书。该书由三部分组成。导论介绍的是背景知识,重点分析SQL与NoSQL数据库的优缺点,并在云计算的架构下引出平台服务的概念——数据库云平台。第二部分是理论基础,包含了经典的和前沿的数据库理论,特别是介绍了SQL标准的最新进展,如时态数据支持、窗口和窗口函数、管线化数据操纵语言、查询结果的数量控制等知识。第三部分是数据库云平台应用,包括应用程序的优化、NoSQL数据库性能调优、数据库重构等知识。作者结合近30年的开发实践,介绍了若干精彩的应用案例,读者从中可以领略其开发思想和编程技巧。

《数据库云平台理论与实践》内容丰富、贴近实践,是云计算时代决策者、咨询者和技术研发者不可多得的一部工具书和普及读物。它紧跟信息时代的发展潮流,深入浅出、循序渐进地解读了云计算时代基于数据管理的各类应用,对于提高企事业单位的信息化水平和核心竞争力具有较强的参考价值。我与作者相识多年,马高工长期在基层一线工作,曾主持过“珠峰”可信数据库的开发和多项信息系统建设,勤学敬业,思维敏捷,笔耕不辍,论著颇丰。《数据库云平台理论与实践》就是他多年心血的结晶,我向这本专著的出版表示祝贺。同时感谢清华大学出版社的编辑独具慧眼,为我们提供了一部好教材。希望本书能成为广大读者的良师益友。

中国工程院院士

2015年7月