七周七数据库
上QQ阅读APP看书,第一时间看更新

在科罗拉多州布雷肯里奇(Breckenridge)的滑雪季里,登上Beaver雪道运行超级缆车,一眼望去,滑雪道的斜坡被精心地修整过,而山上的植被和覆盖的雪层却依然如旧。我们在心里发问,新雪在哪里呢?没有新雪,滑雪的体验就不那么美妙了。

1994 年,作为IBM在奥斯汀的数据库开发实验室工作的雇员,我的感觉非常类似。当时我刚在奥斯汀的德克萨斯大学学习了面向对象数据库,因为在关系数据库主宰了10年之后,我想面向对象数据库真的有机会深入人心。但是,接下来的10年和之前一样,出现了更多同样的关系模型。我沮丧地关注着Oracle、IBM和其他以MySQL为首的开源解决方案,它们强劲伸展着的枝叶,完全挡住了阳光,妨碍了肥沃的土壤上正在萌芽的其他解决方案。

随着时间的推移,用户界面从绿屏幕变成了客户端-服务器的方式,又变成了基于互联网的应用,但关系层的代码同样张开无情的铁幕,几十年如一日地称职而单调。所以,我们期待着一场新雪。

然后新雪终于降临了。起初,雪花甚至不足以掩盖早行者的足迹,但暴雪随后到来,覆盖大地,带来了完美的滑雪体验,这正是我们渴望的不同和品质。在过去的一年里,我醒过来时发现,数据库的世界也覆盖了一层新雪。当然,关系数据库还在,你可以从开源RDBMS软件中获得令人吃惊的丰富体验。你可以创建集群,进行全文搜索,甚至进行模糊搜索。但你不再受限于某种方式。一年里我没有创建过一个完整的关系型解决方案。在这段时间里,我使用了一个文档数据库和几种键-值数据库。

真实情况是,关系数据库在灵活性和可伸缩性方面不再处于垄断地位。对于我们要构建的各类应用,还有更多合适的模型,更简单、更快速、更可靠。作为在IBM的奥斯汀实验室待了10年,与同事和客户从事数据库工作的人,我被这种进步惊呆了。在本书中,你会看到一些例子,完美地覆盖了数据库领域最重要的进展,正是这些数据库支撑了互联网的发展。在键-值存储库中,你会看到伸缩性极好、极为可靠的Riak,还会看到Redis中漂亮的查询机制。在列型数据库社区,你将体验到HBase的威力,它是关系数据库模型的近亲。在文档数据库中,你会看到伸缩性极好的、优雅的解决方案,处理深层嵌套的文档。你还会看到Neo4j在图形数据库上的应用,支持快速地在关系上导航。

要成为更好的程序员或数据库管理员,你不必使用所有这些数据库。随着Eric Redmond和Jim Wilson引导你走过的这段神奇的旅程,每一步都会让你更聪明,所获得的深刻见解对于软件职业来说是无价的。你会知道每种平台的闪光之处和最大局限。你会看到行业的发展方向,理解行业的驱动力。

享受这段旅程吧。

Bruce Tate,《七周七语言》的作者

2012年2月

德克萨斯州奥斯汀