IBM 提供了全面的、業界領先的數據倉庫、業務分析解決方案,包括信息整合工具 Information Server;實時、增量數據復制工具 InfoSphere CDC;數據倉庫解決方案 Infosphere Warehouse;業務分析工具 Cognos BI 以及一系業務分析應用等。
本文,主要為大家介紹 ibm 數據倉庫、業務分析解決方案,特別是如何利用 infosphere datastage、infosphere cdc、infosphere warehouse 及 cognos 快速建立數據分析應用,以幫助大家快速掌握利用 infosphere datastage、infosphere cdc、infosphere warehouse 及 cognos 開發分析應用的基本方法。
針對數據倉庫、業務分析應用,IBM 提供了全面的、業界領先的解決方案。軟件方面,提供了集成的、端到端的解決方案,包括信息整合工具 Information Server;實時、增量數據復制工具 InfoSphere CDC;數據倉庫解決方案 Infosphere Warehouse;業務分析工具 Cognos BI 以及一系列業務分析應用;針對 Big Data 數據分析,提供了 Infosphere BigInsights 及 Infosphere Streams;針對信息監管,提供了 Quality Stage 數據質量管理工具、Infosphere Optim 數據生命周期管理解決方案、Infosphere Guardium 數據安全解決方案,同時,IBM 還提出了 IBM Smart Analytics System 解決方案,它根據用戶預計的數據倉庫規模,為用戶提供預先配置的、經過優化的、可以擴展的軟、硬件整體套裝配置方案,包括的型號、配置,存儲的配置,網絡的配置,可以為用戶提供合理的硬件選型,并提供一站式解決方案;IBM 還提供了 Netezza 數據倉庫一體機,提供性能優異、配置簡單的一站式解決方案;在數據倉庫模型方面,IBM 提供了針對銀行、電信、保險及零售業的數據倉庫模型,可以為用戶提供針對行業應用的模板,加速行業應用建模。
IBM 典型的數據倉庫解決方案如下圖所示,我們采用 Infosphere Warehouse 作為企業數據倉庫 EDW 系統;采用 Infosphere Warehouse 作為關系型數據集市系統,Cognos 作為多維數據集市系統;通過 Infosphere CDC 將業務系統的數據實時復制到 ODS 系統中;使用 Infosphere Datastage 批量裝載數據到數據倉庫或數據集市中;使用 Infosphere CDC 實現增量、實時數據裝載功能;使用 Cognos BI 及 Cognos 應用實現業務分析功能。
圖 1. IBM 數據倉庫解決方案架構
下邊,我們通過一個簡單的“Sales Performance Analysis”的例子來介紹一下如何利用 Infosphere Datastage、Infosphere CDC、Infosphere Warehouse 及 Cognos 快速建立數據分析應用。
本次試驗,我們在 DB2 9.7 中創建了 db2olap 作為 OLTP 數據源,使用 Infosphere Warehouse 提供的 DB2 9.7 創建了 olapdb 作為 ODS/ 數據倉庫系統,使用 Inforsphere Datastage 8.7 作為 ETL 工具負責將需要的數據從數據源 db2olap 中抽取、并做適當的轉換后裝入到 olapdb ODS/ 數據倉庫中,同時,我們使用 Infosphere CDC 6.5.1 及 Infosphere Datastage 8.7 提供的 CDC Transaction Stage 實現實時、增量數據裝載工作,最后使用 Cognos BI 10.1.1 實現最終的報表展現、OLAP 分析及儀表盤應用。
環境準備
本次實驗環境,我們采用 Redhat Linux 操作系統,內核 2.6.1,并且在上面安裝了如下的軟件:
- IBM Information Server 8.7
- Inforsphere CDC 6.5.1
- DB2 9.7.4
- IBM Cognos BI Server 10.1.1
- IBM HTTP Server 7.0
在 windows 7 客戶機上安裝了如下的軟件:
- Cognos BI Model 10.1.1
OLTP 數據源
本次試驗,我們在 DB2 9.7 中創建了 db2olap 數據庫作為 OLTP 數據源,包括如下表及表結構定義信息:
清單 1. 數據源定義
create table locations_s--location dimension (city_id char(8) not null primary key, prov_id varchar(10), area_id varchar(10), country_id varchar(10) ); create table city_s (city_id char(8) not null primary key, city varchar(10), city_population int); create table prov_s (prov_id varchar(10), prov varchar(10)); create table area_s (area_id varchar(10), area varchar(10)); create table products_s --products dimension (product_id varchar(10) not null primary key, sub_class_id varchar(10), class_id varchar(10)); create table product_s (product_id varchar(10) not null primary key, product varchar(50)); create table subclass_s (sub_class_id varchar(10), sub_class varchar(50)); create table times_s ---time dimension (day_id int not null primary key, day varchar(10), month_id int, month varchar(10), year_id int, year varchar(10)); create table salesperf_s (city_id char(8) not null, product_id varchar(10) not null, day_id int not null, sales decimal(10,2), costs decimal(10,2), constraint fk_day foreign key(day_id) references times_s, constraint fk_location foreign key(city_id) references locations_s, constraint fk_product foreign key(product_id) references products_s );