gpt4 book ai didi

mysql - 为什么使用 cassandra 而不是 mysql 的 nosql?

转载 作者:IT老高 更新时间:2023-10-29 00:19:46 25 4
gpt4 key购买 nike

我在大型数据库(数百 GB)上工作,Mysql 现在或多或少让我感到满意。我在发布时对 Cassandra 犹豫不决。

什么我想知道之前的一切,所以这种 DBMS NoSQL 应该比 MySQL 更快?

几点:

  • 一行中列数的变化在Mysql中,都必须提前定义好。专栏设置在表的结构中。在 NoSQL 中,它们可以是多种多样的。在固定结构上有真正的差异性能吗?为什么?

  • 不要让关系有利于表现。好的,但我没有义务制作关系表mysql。我使用聚合表,即表仅包含来自其他表的数据,我以防止过于昂贵的接头。如果我使用这个模型,又会有什么水平的性能差异在 Mysql 中?举个例子,http://www.rackspacecloud.com/blog/2010/05/12/cassandra-by-example/ 的作者在消息 USERLINE 推送者中插入关注者 X 次。我可以在 MySQL 中做到这一点。

  • 可扩展性、可扩展性、可扩展性……我喜欢,cassandra 是否允许我将数据存储在不同的服务器上(没有 SAN)?我在这里不是在谈论复制,而是在多个物理服务器上谈论单个 NoSQL 服务器。

  • 活在计算中。 MySQL 提供像我这样的函数作为 SUM、AVG ...,这些函数对于避免我在其他表中重新聚合数据非常有用。我还没有看到等效的 Cassandra ?

  • 索引呢?在 Mysql 上,我将几个字段合而为一。例如,我的表在多个列上有一个主键,我选择在功能上。 cassandra上怎么写呢?连接每行的单个标识符?我想我还没有完全掌握索引的管理。是否为集成或上游重新计算?

  • 异步请求。在我看来,这是一个错误的论点,Mysql 可以通过 INSERT/UPDATE LOW_PRIORITY 完成。

我想我四处走走。谢谢开导。

最佳答案

我真的不明白为什么人们将 Cassandra 和 MySQL 之类的数据提供者放在一起进行比较——你在这里真的是在比较苹果和橘子。

是的,在某些情况下,NoSQL 解决方案可以提供比 SQL 更好的性能。但是不要忘记他们提供这种速度的原因——他们放弃了一些您在 SQL 中经常认为理所当然的检查。例如,您不会在 NoSQL 系统中看到诸如事务之类的东西,也不会拥有作为 SQL 系统的一部分获得的那种连接和数据聚合功能。在数据一致性方面,您得到的保证很少。

对于 99% 的应用程序来说,花费时间和精力是不值得的。如果你是 facebook 或 twitter,你有大量的非结构化数据,你不在乎是否真的在困惑中丢失了一些数据,或者在插入数据后何时可用数据存在延迟,NoSQL很好。但是,对于绝大多数应用程序,您仍应坚持使用 SQL。

至于可扩展性,如果像 Stack Overflow 或 Ebay 这样的大型网站可以在 SQL 之上运行,我不明白为什么您的应用程序不能在 SQL 之上运行。

关于mysql - 为什么使用 cassandra 而不是 mysql 的 nosql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3640899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com