我最近继承了一个使用视图来汇总数据的仓库,我的问题是: 观点是良好的做法,还是最好的方法? 我打算使用立方体来聚合多维查询。
很抱歉,如果这是一个基本问题,我对仓库和分析服务没有经验
由于
答案 0 :(得分:4)
Analysis Services和Views的根本区别在于它们将被不同的报告或分析工具使用。
如果您有基于SQL的报告(例如,通过Reporting Services或Crystal Reports),则视图可能对这些报告很有用。视图也可以实现(这些视图在SQL Server上称为索引视图)。在这种情况下,它们会持久保存到磁盘,并可用于减少对视图执行查询所需的I / O.针对非物化视图的查询仍然会触及基础表。
通常,视图用于安全性或简单性目的(即将业务逻辑或计算封装在易于查询的内容中)。为了安全起见,他们可以通过过滤(限制可用行)或屏蔽基础表中的敏感字段来限制对敏感数据的访问。
Analysis Services使用不同的查询和报告工具,并预先计算和存储聚合数据。服务器的接口与SQL Server不同,因此多维数据集的报告或查询工具(例如ProClarity)与报告数据库的工具不同(尽管某些系统确实能够从中查询)。
答案 1 :(得分:3)
多维数据集是一种更好的方法来汇总数据并对其进行多维分析。
视图的问题有两个:性能不佳(所有这些连接和分组),以及用户无法切割和切片数据。
在我的项目中,我使用“哑”视图作为数据仓库和多维数据集之间的另一层(即,我的维度和度量组基于视图),因为它允许我更大程度的灵活性。
答案 2 :(得分:2)
视图对于安全目的很有用,例如限制/控制/标准化对数据的访问。
它们还可用于实现自定义表分区实现和联合数据库部署。
如果数据库中视图的功能是为了便于计算度量或统计数据,那么您肯定会从更合适的实现中受益,例如通过数据仓库解决方案提供的实现。
答案 3 :(得分:0)