针对c#API的性能和可扩展性的数据库选择

23c0lvtd  于 2021-06-14  发布在  Cassandra
关注(0)|答案(1)|浏览(404)

我一直在做一个约会项目,比如app,有点火爆。我一直在争论哪个数据库应该使用cassandra或mongodb。到目前为止,我只与ms sql,mysql和unidata的经验。。。我一直在研究cassandra和mongodb,因为它们具有可伸缩性,但我听说tinder的mongodb有问题,因此他们不得不寻求帮助。即使不是这两个中的任何一个,你还有什么建议?学习db对我来说不是问题,但我在寻找性能和可伸缩性。主要的编程语言将是c#(如果它有帮助的话),最好我在云中(azurecosmosdb,awsdynamiodb或类似的)建立这个。我的想法是nosqldb,因为它具有可伸缩性,但如果有充分的理由,我不会反对选择rdbms。
建议、意见、想法?

zvms9eto

zvms9eto1#

Cassandra比mongodb有一些优势。
Cassandra没有主从。任何节点都可以接收任何查询。如果master在mongodb上失败,你将面临很少的失败时间。
扩展cassandra很容易,添加节点并不是一个挑战。
写得很快。
主键读查询速度快。

Cassandra没有聚合
对于非常高的更新/删除,性能不好(增加逻辑删除会导致性能不好的影响:http://thelastpickle.com/blog/2016/07/27/about-deletes-and-tombstones.html)
对于全文搜索应用程序来说效率不高
无交易记录
没有连接
二级索引不等于rdbs索引,不应该经常使用
所以你不能对每个用例都使用cassandra。如果您的数据模型不适合cassandra,那么只需考虑另一个符合您需求的db。
另请看:https://blog.pythian.com/cassandra-use-cases/

相关问题