【发布时间】:2015-01-05 22:10:33
【问题描述】:
我正在考虑一种简单的方法来构建可实现(接近)实时 BI 的运营数据仓库。
例如,我正在为数据库应用程序使用 SQL 服务器平台。一个应用程序用于 OLTP 数据输入,另一个用于数据仓库,最终用于 SSAS 和 BI 报告。
我知道 BI 的通用基础架构是
OLTP database -> Periodically updated data warehouse -> Analytic cube -> Reporting,
OLTP(规范化)数据库处理事务操作,数据仓库存储更新的数据用于 BI 操作。
但我正在考虑两种方法来实现数据仓库的实时性。
- 在没有 OLTP 数据库的情况下,使数据仓库(去规范化)也能处理事务操作。
- 只要在 OLTP 数据库中完成数据输入,就更新单独的数据仓库
#1 和#2 的原因:
- 对于我的应用程序,单个 OLTP 数据库中不会有太多的秒到秒事务
- 缓慢的事务不会影响我的应用程序
- OLTP 数据库中大约有 10 个表
- 我的应用程序的主要卖点是接近实时的 BI 应用程序。
- 使用运营数据仓库,无需定期从 OLTP 更新
当然,#1 的未知部分是更新分析多维数据集时事务的速度有多慢。但是方法#2 解决了这个问题,尤其是在数据仓库的数据更新是异步完成的时候。
我想问一下我是否遗漏了什么问题,或者是否有更好的方法来构建运营数据仓库。
【问题讨论】: