当前位置:  开发笔记 > 后端 > 正文

为什么nosql用cassandra而不是mysql?

如何解决《为什么nosql用cassandra而不是mysql?》经验,为你挑选了1个好方法。

我在大型数据库(数百GB)上工作,现在Mysql给我带来了或多或少的满足感.发射时我对卡桑德拉犹豫不决.

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

几点:

一行中列数的变化在Mysql中,它们必须事先定义.列的结构设置在表的结构中.NoSQL中,它们可以变化.固定结构有真正的差异表现吗?为什么?

不要让这种关系对表现有益.好吧,但我没有义务制作一个关系表Mysql.我使用聚合表,即只包含从其他表派生的数据的表,我以防止过于昂贵的关节.如果我在Mysql中使用此模型,那么性能差异又是什么?举一个例子,http: //www.rackspacecloud.com/blog/2010/05/12/cassandra-by-example/ 的作者在消息USERLINE pusher中插入了X次跟随者.我可以在MySQL中做到这一点.

可扩展性,可扩展性,可扩展性......我喜欢它,cassandra允许我将数据存储在不同的服务器上(没有SAN)吗?我不是在谈论复制,我说的是跨多个物理服务器的单个NoSQL服务器.

住在计算中.MySQL提供像我这样的函数作为SUM,AVG ......这对于避免我在其他表中重新聚合我的数据非常有用.我还没见过相同的cassandra?

索引怎么样?在Mysql上,我将几个字段编入索引.例如,我的表在多列上有一个主键,我选择是在函数中.卡桑德拉怎么写呢?为每行的单个标识符连接?我想我还没有完全掌握索引的管理.是否为集成或上游重新计算?

异步请求.在我看来,一个错误的论点,Mysql可以用INSERT/UPDATE LOW_PRIORITY来完成.

我想我到处走走.谢谢你赐教.



1> Billy ONeal..:

我真的不明白为什么人们会像Cassandra和MySQL一样比较数据提供者 - 你真的在这里比较苹果和橘子.

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

99%的应用程序根本不值得花时间和精力.如果你是facebook或twitter,你有大量的非结构化数据,你不关心你是否真的丢失了一些数据,或者插入后数据可用时有延迟,NoSQL很好.但是,对于绝大多数应用程序,您仍应坚持使用SQL.

至于可伸缩性,如果像Stack Overflow或Ebay这样的庞大站点可以运行在SQL之上,我不明白为什么你的应用程序无法在SQL之上运行.


@Xorax:"在数据结构相同的情况下"是什么意思?如果您看到显着的性能差异,那么数据结构很可能不相等.您不会轻易击败大多数SQL引擎.如果SQL对于您的应用程序来说太慢,我怀疑您需要在正确的位置添加索引.要么是这样,要么你需要对数据进行非规范化.
推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有