【问题标题】:why are noSQL databases more scalable than SQL? [closed]为什么 noSQL 数据库比 SQL 更具可扩展性? [关闭]
【发布时间】:2013-03-31 01:49:30
【问题描述】:

最近我阅读了很多关于 noSQL DBMS 的内容。我了解 CAP 定理、ACID 规则、BASE 规则和基本理论。但是没有找到任何关于为什么 noSQL 比 RDBMS 更容易扩展的资源(例如,在需要大量数据库服务器的系统的情况下)?我猜想保留约束和外键会消耗资源,并且当 DBMS 被分发时,它要复杂得多。但我预计还有更多。

谁能解释一下 noSQL/SQL 如何影响可伸缩性?

【问题讨论】:

  • 我想你在programmers.stackexchange.com上提问可能会得到更好的结果
  • 因为大多数时候他们为了速度牺牲了一致性和持久性。

标签: sql nosql scalability


【解决方案1】:

SQL/noSQL 的性能不是在概念级别上衡量的。事实上,当关系模型(比 SQL 更准确地说)出现时,它被认为是低效率的,然后它接管了世界。在计算机科学中,评估的是特定算法(使用特定结构)的时间复杂度。

在任何类型的数据库中,都会使用具有多种操作(插入、删除、搜索)的多种数据结构。即使对相同数据结构的相同操作也可能使用不同的算法,从而提供不同的性能。不同的 RDBMS 可能使用不同的数据结构/算法或变体。

对于 noSQL 数据库更是如此,其中有不同的类型 (http://en.wikipedia.org/wiki/NoSQL)。

因此,我认为在如此高的水平上比较性能是没有意义的。您需要查看具体算法并根据问题的需要进行选择。

还请考虑一些人在 RDBM 中成功实施 noSQL,在无模式模型的意义上,具有大量数据:http://backchannel.org/blog/friendfeed-schemaless-mysql

最后,也许是更主观的意见,具体来说,我只知道当您必须更改架构时性能会有所不同。当表很大时,大多数 RDBM 都在努力进行更改。这并不是说它们在概念上存在问题或不如 noSQL。这不是问题,因为设计过去被认为是稳定的。

RDBMS 开始适应,参见例如。 MariaDB 中的动态列:https://kb.askmonty.org/en/dynamic-columns/

【讨论】:

    【解决方案2】:

    这真的取决于你的问题,每种数据库类型都有其优点,而 Nether SQL 和 noSQL 更擅长扩展,它们是不同的。这完全取决于您拥有的数据,如果您的数据本质上是关系,那么 SQL 可能会更好,如果您的数据是基于文档的(没有定义的模式),那么 noSQL 可能会更好。我们在产品中使用这两种类型的数据库,我们有很多不同的数据,有些适合 SQL,有些适合 noSQL。

    您正在考虑什么样的规模?并行访问,处理大量查询还是处理非常大的数据?您的问题非常广泛,在不知道您要解决什么问题的情况下回答起来有点困难。

    【讨论】:

    • 我的问题更多是理论上的问题。我只是想了解 noSQL 比 SQL 具有更好可扩展性的假设背后的概念。
    • 这真的取决于数据。如果说您有很多字段不一致的 JSON 数据,例如商店的产品可能具有尺寸或尺寸或颜色但并非总是如此,在这种情况下,您将按 SKU 键入数据,并且每个数据元素都是唯一的.添加产品将是微不足道的,并且会更好地扩展;因为在 SQL 中,您必须创建一个包含所有可能列的表,并且许多列将为空,但它会变得非常复杂,特别是如果您必须跨越多个表然后执行 JOIN。在这个例子中,noSQL 会快得多并且扩展性更好。 (更多)
    • 在 SQL 中,您还可以有 EAV 的概念(这是一个存储属性和名称/值对的表,可以很好地进行插入,但很难检索,这是我从第一手经验中知道的) .如果您的数据是固定的并且您知道它喜欢什么,那么 SQL 可以在索引和快速查找/插入方面做得很好。 SQL 的寿命很长,在过去的 30 多年里,数据库公司围绕 RDBS 的索引、集群和缓存开发了很多技术,noSQL 已经到了那里,但它还没有成熟。因此,数据库公司开始制作混合表模式(更多)
    • 因此您可以在一个数据库中同时拥有关系和文档。
    猜你喜欢
    • 2021-09-22
    • 2012-07-21
    • 1970-01-01
    • 2012-02-02
    • 2016-01-16
    • 2013-05-10
    • 2014-07-30
    • 1970-01-01
    • 2014-01-19
    相关资源
    最近更新 更多