我在大型数据库(数百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来完成.
我想我到处走走.谢谢你赐教.
我真的不明白为什么人们会像Cassandra和MySQL一样比较数据提供者 - 你真的在这里比较苹果和橘子.
是的,在某些情况下,NoSQL解决方案可以提供比SQL更好的性能.但是不要忘记他们提供这种速度的原因 - 他们放弃了你经常在SQL中认为理所当然的几项检查.例如,您不会在NoSQL系统中看到事务,也不会看到作为SQL系统的一部分而获得的连接和数据聚合功能.在数据的一致性方面,您得到的保证非常少.
99%的应用程序根本不值得花时间和精力.如果你是facebook或twitter,你有大量的非结构化数据,你不关心你是否真的丢失了一些数据,或者插入后数据可用时有延迟,NoSQL很好.但是,对于绝大多数应用程序,您仍应坚持使用SQL.
至于可伸缩性,如果像Stack Overflow或Ebay这样的庞大站点可以运行在SQL之上,我不明白为什么你的应用程序无法在SQL之上运行.