我正在为系统设计面试做准备,由于我对这一主题的经验不多,我从educative.io购买了“摸索系统设计面试”课程,这是几个网站推荐的。然而我读到了它,我想我没能理解几件事,所以如果有人能回答我的问题,那将是有帮助的。
“系统应该是高度可用的。一致性可能会受到影响(为了可用性而设);如果用户有一段时间没有看到视频,那应该没问题。”
按照上面的提示,考虑到系统的大小,并将材料应用到"CAP定理“一章,对我来说,似乎是一个更好的选择,,Cassandra和CouchDB。我在这里想念什么?
同样的问题也适用于“设计Facebook的新闻提要”
我的意思是: HBase是根据"CAP定理“一章,擅长一致性和分区容限,但根据HBase文档,它也支持自2.X版本以来的高可用性,因此在我看来,是一个适用于所有/通用的db存储的解决方案,这违背了CAP定理,除非它们为HA牺牲了一些东西。我在这里想念什么?
提前感谢!
发布于 2020-01-15 18:13:36
每个数据库是不同的,满足不同的需求。我建议您阅读发电机纸,并熟悉其中使用的其他术语(两阶段锁定、领导者/追随者、多领导者、异步/同步复制、quorum),并知道不同数据库提供了什么保证。现在来回答以下问题:
https://stackoverflow.com/questions/59752019
复制相似问题