我是在建立一个新的应用程序,它会具有非常相似的功能,以Facebook和,但是,显然不会曾经有对付它仍然会通过大量的用户群使用,其中大部分将需要4亿个亿用户的喜欢中间它运行得非常快.
我对MySQL有丰富的经验,但社交应用程序提供了MySQL不太适合的复杂性.我知道Facebook,Twitter等已经向Cassandra转移了很多他们的数据,但我不确定它会走多远.
例如,你会在Cassandra中存储用户数据 - 用户名,密码,地址等内容吗?你会在Cassandra中存储电子邮件,评论,状态更新等吗?我还读过很多像neo4j这样的东西更能代表社交应用程序使用的朋友关系,因为它是一个图形数据库.我只是刚开始使用NoSQL路线,所以非常感谢任何指导.
有人能告诉我这个吗?我希望我不是太一般!
例如,你会在Cassandra中存储用户数据 - 用户名,密码,地址等内容吗?
不,因为它不保证一致性.卡桑德拉最终是一贯的.当然,某个用户帐户的数据不应该是并发的,但我不想赌它.您可能不需要在全文搜索,消息收件箱等方面保持一致性,但您希望与安全相关的任何内容保持一致.
我还读过很多像neo4j这样的东西更能代表社交应用程序使用的朋友关系,因为它是一个图形数据库.
我是正确工作的正确工具的忠实粉丝.我没有使用neo4j,但我一直在使用db4o(这是一个对象数据库),并发现它非常有用.它使开发更容易使用本机支持您的需求的工具.既然您需要图表并在SQL中使用图表是一件痛苦的事情,我建议您先看一下,然后评估它是否符合您的特定需求.
只要选择是自然的(即,相应的数据库对特定作业有用,图形图表数据库,表格表格,ACID数据库用于任何需要交易安全的数据库等),混合数据库对我来说听起来都是个好主意. ..).