立即注册找回密码

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索

图文播报

查看: 917|回复: 5

[分享] 做架构设计的时候,是否需要重视CAP的理论?还是说仅仅当做参考?

[复制链接]
发表于 2024-11-4 20:04 | 显示全部楼层 |阅读模式
回复

使用道具 举报

发表于 2024-11-4 20:05 | 显示全部楼层
不说CAP,任何软件架构都需要在可用性、伸缩性、实时、事务等架构要素方面平衡,难以样样完美。
不说软件架构,任何工作都要在时间、质量、资源方面平衡,难以样样完美。
不说工作,任何人都要在生活、健康、工作方面平衡,难以样样完美。
做架构,最怕被各种所谓的需求扯得找不到北,企图什么都实现,什么都完美,最后四不像。
做软件,最怕在老板、客户、团队之间和稀泥,处处都想落个好,最后没一个好。
做人,最怕什么都想得到,样样的都要有都要完美,最后崩溃。
回到CAP,CAP对不同的需求,意义是不一样的,系统的CAP和局部的CAP也不一样。举个栗子,某个数据的多个备份更新,可能会出现几个备份数据在更新操作后一段时间不一致的情况,但是整个系统对数据访问有约束,不允许对更新的数据立即访问,那么对系统而言就是一致的。所以,CAP是规范还是参考,因你的需求而定,因你对系统的期望而定。
回复 支持 反对

使用道具 举报

发表于 2024-11-4 20:06 | 显示全部楼层
「2。大部分应用的数据量非常小(1GB以内),所以应该大力冗余数据,比如每个表都关联一个User ID,有了冗余,就可以把所有inner查询给禁用掉,查询速度提高10-100倍
」这是怎么得出来的?什么应用数据量比较小?大力冗余速度就能提高10-100倍?怎么得出来的?
回复 支持 反对

使用道具 举报

发表于 2024-11-4 20:07 | 显示全部楼层
任何的理论或者原则都是一些经验,是作为参照用的,架构是以适用为原则,原则和理论可以作为架构的完备性做参考,同时避免犯一些架构常用错误。
回复 支持 反对

使用道具 举报

发表于 2024-11-4 20:07 | 显示全部楼层
CAP理论不是一个公式,而是防止你钻牛角尖的理论。  
在做架构设计时,首先需要考虑的就是你的架构需要满足什么样的需求。这时候可以套用CAP理论来做存储的选择,而不会陷入无穷无尽对完美的追求中。
回复 支持 反对

使用道具 举报

发表于 2024-11-4 20:07 | 显示全部楼层
必须重视的,明白自己需要选择啥,放弃啥,参考文章:http://www.mysqlops.com/2011/03/31/nosql-cap.html
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册 微信登录 手机动态码快速登录

本版积分规则

关闭

官方推荐 上一条 /3 下一条

快速回复 返回列表 客服中心 搜索 官方QQ群 洽谈合作
快速回复返回顶部 返回列表