我们正在构建报告应用程序,其中我们将每天倾销大量数据。目前我们有两个数据模型用于运营和另一个报告。报告非规范化与规范化数据库
报表数据模型中的几列存在于操作表中。如果操作数据模型得到更新,我们可以如何确保报告数据模型进行类似的更改,那么更新的成本又会是多少?
例子:
Report Table -
user_name
organisation_name
event_name
etc 10 more col.
User Table -
id
name
..
Organisation Table -
id
name
让我们考虑报告表包括1万条记录,并组织名称得到改变,这种改变需要在报告表中反映出来。改变细节的频率可能是平均的。
因此,我们有两个选择 规范化的数据库 -
这将节省报告表更新用,但查询处理将需要更长的时间。 非规范化数据库 - 这将有助于我们指导更快的查询处理,但它会涉及到维护它的复杂性。
请指教,我们该走哪条路?我们的数据量非常高,报告数据高度细化。
一些查询可能会更快,有些人可能会比较慢。 “不成熟的优化是万恶之源。” – philipxy