![]() | 1 go522000 2023-11-18 15:28:16 +08:00 ![]() 曾经也找过,没有。 最后只找到一本已经不再出版的书《 SQL 反模式》 |
![]() | 3 xiaoriri666 2023-11-18 15:48:08 +08:00 这属于系统架构层面了,一个领域的相关解决方案,还得实际需求实际分析 |
![]() | 4 kamichan 2023-11-18 16:22:24 +08:00 相似的底层系统可以,业务系统很多都不同 |
![]() | 5 R4rvZ6agNVWr56V0 2023-11-18 16:27:52 +08:00 就是 2NF\3NF 规范合理根据业务使用,不需要学术课本那么教条。 其他就是分库分表、高可用等 DB 维护问题。不同技术栈和架构在工程上很多细节要根据具体的案例来分析了,没法总结个标准。 |
6 dayeye2006199 2023-11-19 09:43:41 +08:00 一个流派就是经典的关系型数据库设计 -- 上面说的 2NF 3NF 一个流派就是阿里代表的,数据库只做存储功能的一把梭流派 -- 什么从不用外键,不能 join 之类的技巧都是从这边来的 |
7 kuituosi 2023-11-19 10:05:47 +08:00 数据量小就是 3nf ,数据量大就冗余。至于最优没有什么事最优的,换一个公司换一个需求就不是最优了 |
![]() | 8 veike 2023-11-19 14:49:45 +08:00 我个人认为,如果把范式设计和反范式设计放在一起就是没有范式,只是一些数据库设计技巧罢了,根据实际情况设计就可以。 |
9 datoujiejie221 2023-11-20 08:58:25 +08:00 可以看看著名的 CAP 定理,分布式系统下数据的一致性、可用性和分区容忍性不可能同时满足,所以要根据具体业务来做出权衡。 互联网业务对 AP 要求较高,所以用反范式牺牲了一致性( C )。 |
10 nodejsexpress 2023-11-20 10:43:03 +08:00 应该没有最佳的。根据具体业务折腾开源库,或者商业数据库。 不满足的情况下,有研发能力就自己魔改,牛的就自己开发一个数据库。比如 GraphQL fb 倒腾出来。 |
11 hyperbin 2024-02-12 07:48:10 +08:00 via Android @datoujiejie221 CAP 就是个真空里的球形鸡,太过理想没啥实践意义,PACELC 更加务实 |