对于一个唯一目的是允许用户随时上传原始文件数据(到数据库表)的 Web 应用程序,事务模型或维度模型对这样的应用程序更有意义吗?
目前,一些报告是根据数据完成的,但很少。如果将来发生变化(例如报告变得更加普遍),那会改变您建议的模型吗?
数据库总空间100GB。
对于一个唯一目的是允许用户随时上传原始文件数据(到数据库表)的 Web 应用程序,事务模型或维度模型对这样的应用程序更有意义吗?
目前,一些报告是根据数据完成的,但很少。如果将来发生变化(例如报告变得更加普遍),那会改变您建议的模型吗?
数据库总空间100GB。
这取决于您的数据,以及您希望如何存储它并稍后访问它以报告它。您的数据库本身不需要专门针对其中一个或另一个,您可以根据您的用例拥有事务性、维度或同时具有两者的表。
一般来说,如果您正在对数据进行某种报告,那么使用维度规范化您的数据有助于提高性能、灵活性和维护性。但是事务表仍然可以存储对维度的引用以表示数据的“事实”/定性部分以保持规范化。或者他们甚至可以直接将维度存储在其中,尽管这是前者数据的非规范化表示。
请参阅以下两种不同的模式,它们表示存储维度与被规范化并存储对这些维度的引用的事务表(T-SQL 语法):
非规范化
归一化