我一直在听到有关 NoSQL 的消息,并且它最终可能成为 SQL DB 存储方法的替代品,因为 DB 交互通常是 Web 速度的瓶颈。
所以我只有几个问题:
它到底是什么?
它是如何工作的?
为什么它比使用 SQL 数据库更好?它好多少?
该技术是否太新而无法开始实施,还是值得研究?
一方面是一个特定的系统,但它也成为了各种不遵循关系数据库模型的新数据存储后端的通用词。
每个标有通用名称的系统的工作方式都不同,但基本思想是通过使用不支持通用 RDBMS 的所有功能但仍有足够功能可用的 DB 模型来提供更好的可伸缩性和性能。在某种程度上,它就像 MySQL,它曾经缺乏对事务的支持,但正 因为 如此,它的性能优于其他数据库系统。如果您可以以不需要事务的方式编写您的应用程序,那就太好了。
当您的站点需要大规模扩展以致最好的 RDBMS 在您能负担得起的最好的硬件上运行并尽可能优化时,这会更好,根本无法跟上负载。它有多好取决于具体的用例(大量更新活动与大量连接在“传统”RDBMS 上非常困难)——在极端情况下可能是 1000 倍。
主要取决于您要实现的目标。它当然已经足够成熟,可以使用了。但很少有应用程序真正需要大规模扩展。对于大多数人来说,传统的 RDBMS 就足够了。然而,随着互联网的使用变得越来越普遍,很可能会变得更加普遍(尽管可能不占主导地位)。