Java教程

NoSQL调查Part1:NoSQL可能无法兑现承诺的五种情况

本文主要是介绍NoSQL调查Part1:NoSQL可能无法兑现承诺的五种情况,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言

很多最终成为Volt Active Data客户的公司都是从用NoSQL数据库取代传统的RDBMS平台开始的。鉴于传统的数据库技术性能差,缺乏云计算的友好性,以及高昂的成本,放弃它的决定是毋庸置疑的。不幸的是,NoSQL通常只是用其他类型的问题取代了基于传统的问题。

虽然传统的RDBMS技术很不方便,但它几乎可以做任何你想要的事情,尽管很糟糕。很多NoSQL平台一开始是作为键值存储或缓存,当你要求它们走出 "舒适区 "时,它们就会失效(有时是灾难性的)。

供应商一直在向NoSQL系统添加我们与传统关系型数据库系统相关的功能,但不幸的是,没有 "神奇的软件仙女 "可以挥舞魔杖,让复杂的新功能在NoSQL平台上运行而不产生负面影响。

而当公司遇到以下一个或多个方面的严重挑战时,便会选择Volt Active Data(以下简称VOLT):

 

1、 规模化交易

ACID事务是在规模上最难搞好的事情之一。问题不在于系统如何处理为一个用户修改三样东西的单一事务。而是如何处理每秒钟5万个这样的事务,不同的属性以不同的顺序被改变。

当多个人同时改变相同的数据项时,事情就变得很糟糕。像乐观锁这样的技术在这种情况下会崩溃。在现实世界中,我们会看到这种情况,即使是在理论上不应该发生多个同时访问的用例。

另一件需要注意的事情是,当集群中的一个节点在忙碌时发生故障,交易状态会发生什么。你会不会最后只提交了一半的事务?

2、复杂数据结构

大多数NoSQL系统假设你的数据可以被映射成键和值。开发人员绝对喜欢这一点,因为他们不再有讨厌的DBA看管他们。但是,随着新的用例被添加到系统中,数据结构变得更加复杂,并且变得更难在不同的开发者团队之间共享。这就是为什么SQL变得成功的原因,因为它允许你浏览数据结构,而不必担心数据的实际存储方式的细枝末节。很多供应商现在都在他们的产品上附加了SQL层,但你需要非常仔细地评估它们,因为这些层对你的开发人员在存储数据时的组织程度做出了假设。

3、 聚合操作

传统的数据库擅长的问题是 "给我看看我们已经运送了价值超过1万美元的产品的客户,但他们只支付了8000美元或更少"。在缺乏内置支持的产品中,这些汇总问题可能非常难做。在你需要得到一个完全准确的答案的情况下,你可能会面临重大挑战。

4、 跨地域复制

无论是为了业务连续性还是持续的低延迟,你可能会发现自己面临一个要求,即数据库的实时副本要同时在多个地点。对于任何数据库产品来说,这都是一件非常复杂的事情,而且在应用或底层数据平台上的改造也是出了名的困难。

5、 外键访问

随着数据模型变得越来越复杂,你需要在不知道它的 "官方 "键的情况下访问一个值的可能性变得非常非常高。并非所有的供应商在这里都有一个好的故事或答案。


总结

本文的目的不是要质疑NoSQL平台的效用或有效性。当它们被用于它们所设计的用途时,它们是非常出色的。但是,当你试图超越这一点时,你往往终会面临问题。

虽然许多NoSQL供应商正在努力解决我们上面强调的问题,但我们不应该认为他们的修复措施会比传统的RDBMS更好,也不应该认为他们的修复措施不会带来负面的影响。

为了真正解决上述所有问题,同时保持数据的一致性和准确性,你需要一个能够大规模管理复杂的快速数据的数据平台,而不会出现停机、数据丢失、安全丢失或收入丢失的后果。要找到这样的数据平台并不容易,Volt Active Data或许是一个不错的选择。


如果您希望集成VOLT到您的技术栈中,请与我们联系!

​​Volt Active Data中文站​​

这篇关于NoSQL调查Part1:NoSQL可能无法兑现承诺的五种情况的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!