The proliferation of non-relational databases in the tech sector these days could lead you to think that these data management tools (also known as NoSQL数据库) are eventually going to make traditional relational databases extinct.

不是这样这些数据库类型中的每一种最适合非常不同类型的工作负载,并且’可以防止任何一个踩到另一个。这意味着IT和其他管理人员将不得不确定哪种方法最适合手头的任务。

在这个由两部分组成的系列中,我’将检查NoSQL和关系数据库的功能,以帮助您为组织做出正确的决策。

“NoSQL”? 更多 Like “Not Only SQL”

Right off the bat, NoSQL数据库 are unique because they are usually independent from Structured Query Language (SQL) found in relational databases. Relational databases all use SQL as the domain-specific language for 特设 queries, while non-relational databases have no such standard query language, so they can use whatever they want. 那 can, if need be, include SQL.

也可以看看: 关系数据库Aren’t Dead—Heck, They’re Not Even Sleeping

NoSQL数据库旨在在速度和容量方面出类拔萃。为了做到这一点,NoSQL软件将使用可以吓relation关系数据库用户的技术,例如不保证所有数据在系统中始终保持一致。

那’这是使用关系数据库的一个关键结果,因为在进行金融交易(例如在Amazon上购买商品)时,数据库必须非常确保一个帐户的借方金额与另一帐户同时的借方金额相同。

因为在单个事务中需要进行如此多的来回读写活动,所以关系数据库永远无法跟上使像亚马逊这样的公司运转所必需的速度和扩展。

According to Bob 维德霍尔德, CEO of NoSQL database vendor Couchbase, the architecture and features of NoSQL数据库 bring four key advantages to NoSQL users.

变大或回家

Easier scalability is the first aspect highlighted by 维德霍尔德. NoSQL数据库 like Couchbase and 10Gen’他说,MongoDB可以扩展以相对轻松地处理更大的数据量。

如果您的公司突然发现自己一夜之间就被成功吸引了,例如,客户大量涌入您的网站,则必须精心复制和重新分区关系数据库,以便进行扩展以满足新的需求。

维德霍尔德列举了社交和移动游戏供应商为这种情况的典型例子。认可或一些适时的推文可能会使半休眠游戏服务器加速运转,并使其在短短几个小时内达到满负荷运行。由于非关系数据库的分布式特性,要扩展NoSQL,您所需要做的就是向群集中添加计算机以满足需求。

那里’s No Need To Fear

Performance is another way that NoSQL数据库 can excel. First, every time you add a new server to a NoSQL database cluster, there is performance scaling by virtue of the fact that you’将另一个处理器投入方程式。

除了扩展优势之外,NoSQL工具的体系结构还有助于提高性能。如果一个关系数据库有成千上万个表,那么数据处理将对该数据产生更多的锁定,并大大降低数据库的性能。

由于NoSQL数据库的数据一致性模型较弱,因此可以牺牲一致性来提高效率。在维德霍尔德’的社交游戏示例,如果用户更新了他或她的个人资料,’如果该配置文件没有使游戏性能真正下降’s new info isn’即时更新整个数据库。这意味着资源可以专用于其他事情,例如追踪那些’关于在游戏中打你。

欲望的对象

当应用程序开发人员必须使用关系数据库中的数据时,由于数据映射和阻抗问题,有时可能会很麻烦。在NoSQL数据库中,这通常不是问题,因为数据的存储方式不同。

例如,对于面向文档的NoSQL数据库,数据仅以以下格式存储:文档。毕竟,由于文档是对象,所以倾向于以面向对象的方式思考的程序员将更加熟悉处理此类数据。

那 weaker consistency model helps programmers, tool, since their apps don’t have to rigidly conform to data consistency requirements. 那 makes coding much simpler and (by extension) much faster.

停机时间?什么停机时间?

维德霍尔德’第四个示例是NoSQL优势列表的一个新示例。它’非关系型数据库的存在 ’专门设计用来做,但是’ve仍然精通。

Because of their distributed nature, 维德霍尔德 says, NoSQL数据库 can be pretty much always on. This is a huge advantage for web- and mobile-based businesses that can’承受不了片刻的负担。

通过一些高级计划,可以在数据库仍在热运行时执行软件更新和硬件升级。尝试使用关系数据库做到这一点,而不必将其删除’充满麻烦的世界。

获取其中名称=结论的部分

NoSQL数据库’优点听起来很棒,而且对于正确的用例而言,它们确实是。如果您公司的数据集规模将保持相对恒定,或者增长缓慢,那么您可以’几乎不需要迁移到非关系系统。

如果您的组织需要突然增长,敏捷开发或高性能,那么您应该看一下NoSQL数据库类别,然后看看适合您的数据库。

图片由 快门