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

用于社交网络应用的Cassandra而不是MySQL

如何解决《用于社交网络应用的Cassandra而不是MySQL》经验,为你挑选了1个好方法。

我是在建立一个新的应用程序,它会具有非常相似的功能,以Facebook和,但是,显然不会曾经有对付它仍然会通过大量的用户群使用,其中大部分将需要4亿个亿用户的喜欢中间它运行得非常快.

我对MySQL有丰富的经验,但社交应用程序提供了MySQL不太适合的复杂性.我知道Facebook,Twitter等已经向Cassandra转移了很多他们的数据,但我不确定它会走多远.

例如,你会在Cassandra中存储用户数据 - 用户名,密码,地址等内容吗?你会在Cassandra中存储电子邮件,评论,状态更新等吗?我还读过很多像neo4j这样的东西更能代表社交应用程序使用的朋友关系,因为它是一个图形数据库.我只是刚开始使用NoSQL路线,所以非常感谢任何指导.

有人能告诉我这个吗?我希望我不是太一般!



1> mnemosyn..:

例如,你会在Cassandra中存储用户数据 - 用户名,密码,地址等内容吗?

不,因为它不保证一致性.卡桑德拉最终一贯的.当然,某个用户帐户的数据不应该是并发的,但我不想赌它.您可能不需要在全文搜索,消息收件箱等方面保持一致性,但您希望与安全相关的任何内容保持一致.

我还读过很多像neo4j这样的东西更能代表社交应用程序使用的朋友关系,因为它是一个图形数据库.

我是正确工作的正确工具的忠实粉丝.我没有使用neo4j,但我一直在使用db4o(这是一个对象数据库),并发现它非常有用.它使开发更容易使用本机支持您的需求的工具.既然您需要图表并在SQL中使用图表是一件痛苦的事情,我建议您先看一下,然后评估它是否符合您的特定需求.

只要选择是自然的(即,相应的数据库对特定作业有用,图形图表数据库,表格表格,ACID数据库用于任何需要交易安全的数据库等),混合数据库对我来说听起来都是个好主意. ..).


我不明白为什么你不会在Cassandra中存储所有数据,除了在RDBMS中查询它们更容易.如果您需要,Cassandra可以保证一致性(仲裁读/写),请参阅http://spyced.blogspot.com/2010/04/cassandra-fact-vs-fiction.html.如果您对可靠性感到疑惑,请参阅http://thread.gmane.org/gmane.comp.db.cassandra.user/3454
感谢有趣的链接.我不完全确定这一点,但从我的理解,你可以保证节点之间的一致性,但"事务",即批量级别的写入不是原子的,是吗?如果真的出现问题则是第二个问题.我认为这种数据就是RDBMS的用途,但是在可用性/分区容差方面你得到了一点,因此在某些情况下使用Cassandra用于用户数据可能更好.
推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有