数据输入(OLTP)和BI(OLAP)的操作数据仓库

时间:2015-01-05 22:10:33

标签: database data-warehouse

我正在考虑一种简单的方法来构建运营数据仓库,从而实现(接近)实时BI。

例如,我使用SQL Server平台进行数据库应用程序。一个应用程序用于OLTP数据输入,另一个用于数据仓库,最终用于SSAS和BI报告。

我知道BI的常见基础架构

OLTP database -> Periodically updated data warehouse -> Analytic cube -> Reporting

其中OLTP(规范化)数据库处理事务操作,数据仓库存储BI操作的更新数据。

但我正在考虑两种使数据仓库实时化的方法。

  1. 使数据仓库(denomalized)处理事务操作,而不使用OLTP数据库
  2. 在OLTP数据库中完成数据输入时更新单独的数据仓库
  3. #1和#2的原因:

    1. 我的应用程序的单个OLTP数据库中没有太多的第二到第二个事务
    2. 慢速交易不会损害我的应用程序
    3. OLTP数据库中将有10个左右的表
    4. 我的应用程序的主要卖点是接近实时BI应用程序。
    5. 使用运营数据仓库,无需定期从OLTP更新
    6. 当然,#1的未知部分是分析多维数据集更新时的事务速度有多慢。但方法#2解决了这个问题,尤其是在异步完成数据仓库的数据更新时。

      我想问一下我是否遗漏了任何问题,或者是否有更好的方法来构建运营数据仓库。

1 个答案:

答案 0 :(得分:1)

icCube是一个用JAVA编写的内存中OLAP服务器,可以从任何关系数据库中获取数据。它支持incremental load近实时BI。

当更新多维数据集时,DB服务器不会受到影响,因为icCube正在单独的进程中构建多维数据集,然后所有查询都将完成此外部进程。您必须配置icCube以定期检查数据库服务器中的更新(例如,您可以使用触发表进行快速/低成本检查)。

例如,它支持MDX / XMLA for Excel访问,并拥有自己的Web Reporting包。