实际上我正在使用mongodb设计一个社交媒体应用程序,它几乎准备发布了。但是今天我正在检查一些关于Cassandra和MongoDB的帖子,在这些帖子中提到,对于重写,应该使用Cassandra而不是MongoDB。
所以我很困惑,如果我从MongoDB迁移到Cassandra,或者我应该在MongoDB中发布我的应用程序。
请为我的案例建议什么是最好的数据库。我的应用程序中有消息,图片上传,视频上传(将来)。
答案 0 :(得分:2)
虽然两者都是NoSQL数据库,但它们非常不同。查看几个关键特性,您可以确定哪个更适合您的应用程序(虽然我会说,如果您的应用程序如此接近发布,是否有意义延迟以重新设计数据库部分?只是问。)< / p>
二级索引:您是否需要二级索引并且更灵活 查询模型? MongoDB完全支持二级索引。卡桑德拉 有粗略支持二级索引,查询更多 传统的
高可用性:您需要100%的正常运行时间吗?使用MongoDB的单曲 主模型如果主人关机时你会有停机时间 奴隶选出了一位新主人。 Cassandra支持多个主人 并且可以实现100%的写入正常运行时间。
查询语言支持:您需要查询语言支持吗? MongoDB的 不支持查询语言,而Cassandra支持CQL 这与SQL非常相似。