查询实时聚合数据
实时聚合 (RTA) 数据可在主导入数据库中动态创建的 SQL 视图内进行查询。
此视图的名称是
Bam_<ViewName>_<RTAName>_RTAView
其中
<ViewName> 是 BAM 定义 XML 中 View 元素的 Name 属性,与在相关 Microsoft Excel 向导中输入的视图名称相同。
<RTAName> 是 BAM 定义 XML 中 RealTimeAggregation 元素的 Name 属性,BAM 根据视图名称生成为唯一。
在查询实时聚合数据时,请一定要注意下列情况:
必须对实时聚合进行配置,将聚合保留给定的时间(默认值为一天),而且要限制其大小,不能增长得太大。 旧的聚合应该从 OLAP 多维数据集中获得。
任何针对 RTA 的查询都必须包括对处于 RTA 数据的联机时段内的时间维度所进行的筛选。 这是必要的,因为 BAM 根据 BAM 数据上的时间戳对 RDA 执行数据维护,并且经过优化,以将数据删除成区块。 因此,如果只是发送 Transact-SQL 命令“
select *
”,结果将不可预知地波动。如果活动数据通过 DirectEventStream 发送到 BAM,则实时聚合数据没有延迟,即这些数据在调用应用程序中的事务提交后立刻显示出来。
如果活动数据通过 BufferedEventStream 发送到 BAM,则 RTA 数据将在查询几秒钟后显示,具体的时间取决于 BAM 事件总线服务的负载以及 BAM 主导入数据库的宿主 SQL 服务器。
BAM 基于一个自己维护的、与使用触发器的活动数据存储记录中的更改和插入内容保持同步的表进行实时聚合。 有关详细信息,请参阅 活动数据存储。 因此,实时聚合可以对性能有很大的影响。 有关详细信息,请参阅 实时聚合。