知识卡片

范式与反范式的取舍标准

普通读书笔记卡

内容

数据库范式(消除冗余、保证一致)是教科书默认要求,但互联网应用中字段冗余、存JSON、宽表等反范式设计比比皆是。取舍标准不是要不要遵守范式,而是系统性质:重业务、高并发要求不高的系统应尽量守第三范式;高并发场景下适度反范式换查询性能是合理妥协。发散:本质是”正确性优先”还是”性能优先”的具体实例。

参考来源

- 位置:第6章《数据库》6.1节「范式与反范式」(源文件:_epub-src/text/part0026.html) - 结论依据:原文明确说明互联网应用中违背范式的设计比比皆是,但需权衡:重业务性系统对性能高并发要求不高时最好保证达到第三范式,不能仅为开发方便存JSON、数组字段,直接支持卡片对取舍标准是系统性质而非二元问题的论述。 - 原始内容:"但在互联网应用中,为了性能或便于开发,违背范式的设计比比皆是……如果系统是重业务性的系统,对性能、高并发的要求没有那么高,最好保证数据库的设计达到第三范式的要求。不能仅仅为了开发的方便,在数据库中存在JSON、存数组类型的字段。"