NoSQL 精粹

多语言持久化新世界简明指南

作者:Pramod J. Sadalage 和 Martin Fowler

2012

我们在企业计算领域已经度过了大约二十年的时间。我们见证了语言、架构、平台和流程的诸多变化。但在这段时间里,有一件事始终如一——关系型数据库用于存储数据。挑战者层出不穷,其中一些在某些领域取得了成功,但总体而言,对于架构师来说,数据存储问题一直是选择哪种关系型数据库的问题。

这种统治的稳定性具有很大的价值。一个组织的数据比其程序存在的时间长得多(至少人们是这么告诉我们的——我们已经看到过很多非常古老的程序)。拥有一个稳定的、易于理解且可从许多应用程序编程平台访问的数据存储非常有价值。

然而,现在出现了一个新的挑战者,它打着“NoSQL”的旗号。它的诞生是为了满足处理更大数据量的需求,这迫使人们从根本上转向通过构建由商用服务器组成的集群来构建大型硬件平台。这种需求也引发了人们对应用程序代码与关系数据模型良好协作的困难的长期担忧。

“NoSQL”一词的定义非常模糊。它通常应用于许多最近出现的非关系型数据库,例如 Cassandra、Mongo、Neo4J 和 Riak。它们支持无模式数据,在集群上运行,并且能够为了其他有用的特性而牺牲传统的一致性。NoSQL 数据库的支持者声称,他们可以构建性能更高、扩展性更好且更容易编程的系统。

这是关系型数据库丧钟的第一次敲响,还是又一个王位的觊觎者?我们的答案是“都不是”。关系型数据库是一个强大的工具,我们预计在未来几十年内仍将使用它,但我们确实看到了一个深刻的变化,即关系型数据库将不再是唯一使用的数据库存储。我们的观点是,我们正在进入一个多语言持久化的世界,在这个世界中,企业,甚至单个应用程序,都使用多种技术来管理数据。因此,架构师需要熟悉这些技术,并能够评估哪些技术适合不同的需求。如果我们没有想到这一点,我们就不会花费时间和精力来写这本书。

本书旨在为您提供足够的信息,以回答 NoSQL 数据库是否值得您在未来的项目中认真考虑的问题。每个项目都是不同的,我们不可能编写一个简单的决策树来选择正确的数据存储。相反,我们在这里试图做的是为您提供有关 NoSQL 数据库工作原理的足够背景知识,以便您能够自己做出判断,而无需在整个网络上搜索信息。我们特意将这本书写得很薄(只有 152 页),这样您就可以很快地了解到这些内容。它不会明确地回答您的问题,但它应该会缩小您需要考虑的选择范围,并帮助您了解需要提出哪些问题。

本页已翻译成塞尔维亚语

勘误表

延伸阅读

NoSQL 指南

我的 NoSQL 指南页面,我在其中汇总了本网站(以及相关资料)上关于 NoSQL 的资料。

要点

我们为《NoSQL 精粹》设计的特点之一是,大多数章节都以“要点”部分结尾,这些要点是总结章节内容的简短要点。此网页将这些要点收集在一起,作为对拥有本书的读者的快速回顾,并为考虑购买本书的读者提供本书内容的指示。

Pramod 的主页

Pramod Sadalage 的网站。

翻译

葡萄牙语