我在我的数据库中管理了这个模式的工具列表:
[id] int PRIMARY[name] varchar每隔几秒钟,每个工具发出一次测量。我将使用此架构将其保存在OLAP存储中:
[toolID] ……
通常,在OLAP / DW系统中, 的 选项3 强> 是首选,工具列表及其详细信息将存储在工具维度表中,测量值将存储在测量事实表中。
如果您在评论中提到过,那么 的 不关心挽救历史 强> 当细节改变时,工具的细节 的 工具详细信息的频率和更新次数很少 强> ,那么我只是更新工具维度中的记录,因为它将是相对较少的更新。
如果更新频率很小但实际更新次数很多,那么简单地截断工具维度并插入OLTP系统中的所有工具记录可能会更容易,更快捷。在这种情况下,您需要确保有一种方法来保留维度键,以便连接回已经存储的事实度量。如果您使用基于自动生成序列的代理键,这可能会很困难。
当工具细节的更新频率和数量很大时,就会出现真正的问题。在这种情况下,您必须退后一步,查看整体模型,并确定工具详细信息是否实际属于某个维度,或者是否值得拥有自己的事实表。