我想聚合我们的IIS日志,并能够快速执行针对它们的简单查询(例如,过去一个月中页面x的次数等等)。
我想将这些数据(可能在时间维度上缩短10分钟左右)聚合到SSAS多维数据集中。
我们已经通过SSIS将日志导入表格。表格变得非常大,我想开始删除旧数据(例如超过3个月前),同时保留多维数据集中的历史记录(因此我仍然可以查询超过3个月)。这是一个合理的事情 - 显然,如果我想改变它,我将无法轻松地重建我的立方体......我想我需要开始备份多维数据集,好像它是一个数据库? / p>
目前我没有关于数据的PK - 添加标识列或创建过期,时间和网址的复合PK会更好吗?
任何成功实施此功能的人的反馈都很棒:)
谢谢!
答案 0 :(得分:1)
我还没有做到这一点,但我会尽可能多地给你意见:
表变大,为什么这是一个问题 - 存储空间还是速度?
如果速度快,请考虑使用表分区来拆分大表。您可以按日期范围对它们进行分区,然后将分区切换到另一个表(缩小原始大小),这是纯粹的元数据操作,并且是即时的。然后,SSAS可以使用一个视图,在它处理时将两个表联合起来,如果你需要重建它,你可以。
如果是存储空间,您是否看过SQL Server中的压缩(2008年可用,不确定您使用的是什么版本?)。
就个人而言,如果没有重建立方体的能力,我会感到高兴 - 还要记住,立方体会复制源数据(或者更确切地说是根据DSV使用的部分)所以你可能不会节省太多你认为如果你删除旧数据&将多维数据集视为“存储设备”。您的多维数据集只使用一部分表吗?它与基础数据相比有多大?
SSAS并不严格要求数据上的PK - 但是我总是使用它们,主要是为了防止重复加载(我也按时间加载 - 检查数据比上次加载的更新)但是有一个PK约束是好的防止重复加载。
对于您的PK,日期,时间,网址听起来不错,但取决于您网站的繁忙程度。您的示例不允许两个人在同一秒内查看相同的URL。你能为PK添加IP地址吗?如果访客快速刷新怎么办?您是否/可以将其视为重复项,并将其从SSIS数据流中删除?
祝你好运,如果您对我所说的内容有任何疑问,请与我联系。