KA 9 · Bài 10

Data Warehousing & BI

Data Warehousing & Business Intelligence (KA9 trong DAMA-DMBOK2) là hoạt động lập kế hoạch, triển khai và kiểm soát các quy trình cung cấp dữ liệu tích hợp, có lịch sử, hướng phân tích để hỗ trợ ra quyết định. Bài này bao gồm hai trường phái kinh điển (Inmon vs Kimball), dimensional modeling, các tầng kiến trúc (staging/ODS/data mart), ETL, OLAP và các loại BI.

1. Định nghĩa & Mục tiêu
DW & BI là gì

Data Warehouse (DW) — theo Bill Inmon — là một tập hợp dữ liệu subject-oriented (hướng chủ đề), integrated (tích hợp), time-variant (biến thiên theo thời gian) và non-volatile (không thay đổi/không xóa) nhằm hỗ trợ quyết định của lãnh đạo. DW gom dữ liệu từ nhiều nguồn vận hành, làm sạch, tích hợp và lưu lịch sử.

Business Intelligence (BI) có hai nghĩa: (1) tập công nghệ & hoạt động thu thập, tích hợp, phân tích và trình bày dữ liệu để hỗ trợ quyết định; (2) chính khả năng phân tích dữ liệu để hiểu về tổ chức. DW cung cấp nền tảng dữ liệu, BI là lớp khai thác.

Đặc tính DWÝ nghĩa
Subject-orientedTổ chức theo chủ đề nghiệp vụ (khách hàng, doanh thu) thay vì theo ứng dụng.
IntegratedDữ liệu từ nhiều nguồn được chuẩn hóa, hòa giải về định nghĩa & định dạng thống nhất.
Time-variantLưu dữ liệu theo nhiều mốc thời gian → phân tích xu hướng lịch sử.
Non-volatileDữ liệu nạp vào chủ yếu để đọc; không sửa/xóa như hệ OLTP, chỉ thêm mới.

Mục tiêu KA9 theo DMBOK2:

2. Business Drivers
Vì sao cần DW/BI
3. Khái niệm cốt lõi
Từ vựng nền tảng
Khái niệmÝ nghĩa
OLTP vs OLAPOLTP: xử lý giao dịch (ghi nhiều, chuẩn hóa, trạng thái hiện tại). OLAP: xử lý phân tích (đọc nhiều, tổng hợp, đa chiều).
Data WarehouseKho dữ liệu doanh nghiệp tích hợp, hướng chủ đề, có lịch sử.
Data MartTập con của DW phục vụ một phòng ban/chủ đề (vd bán hàng), thường theo mô hình dimensional.
Staging AreaVùng đệm tạm giữ dữ liệu thô từ nguồn trước khi transform.
ODS (Operational Data Store)Kho tích hợp dữ liệu hiện tại/gần real-time cho báo cáo vận hành; ít lịch sử, cập nhật thường xuyên.
ETL / ELTExtract-Transform-Load: quy trình rút, biến đổi và nạp dữ liệu vào kho (ELT biến đổi sau khi nạp).
MetadataDữ liệu mô tả DW: nguồn, lineage, định nghĩa, lịch nạp — thiết yếu để hiểu & tin cậy kho.
Data LakeKho lưu dữ liệu thô đa định dạng ở quy mô lớn, schema-on-read; bổ trợ (không thay thế) DW truyền thống.
4. Context Diagram
Inputs → Activities → Deliverables
NhómNội dung
InputsNhu cầu nghiệp vụ & yêu cầu báo cáo/phân tích; dữ liệu nguồn (OLTP, external, master data); mô hình & kiến trúc dữ liệu; chuẩn & policy quản trị; kiến trúc công nghệ.
Activities(1) Hiểu yêu cầu; (2) Định nghĩa kiến trúc DW/BI; (3) Thiết kế mô hình dữ liệu (dimensional/3NF); (4) Phát triển ETL & tích hợp; (5) Nạp & làm mới (refresh) dữ liệu; (6) Triển khai công cụ BI & báo cáo; (7) Vận hành, giám sát, tối ưu; (8) Đào tạo & hỗ trợ người dùng.
DeliverablesKiến trúc DW/BI; mô hình dimensional (star/snowflake); pipeline ETL; data marts; OLAP cubes; báo cáo, dashboard, self-service datasets; metadata & lineage; SLA làm mới dữ liệu.
SuppliersChủ nguồn dữ liệu, đội ứng dụng OLTP, nhà cung cấp dữ liệu bên ngoài, chương trình MDM, Data Governance.
ParticipantsData architect, data modeler, ETL developer, BI developer, DBA, data analyst, DW/BI program manager.
ConsumersLãnh đạo & quản lý, business analyst, data scientist, người dùng self-service BI, quy trình báo cáo tuân thủ.
Techniques / Tools / MetricsDimensional modeling, SCD, ETL patterns; nền tảng DW & công cụ BI/OLAP; metrics về usage, refresh SLA, data quality & hiệu năng truy vấn.
5. Inmon vs Kimball
Hai trường phái kiến trúc kinh điển

Hai cách tiếp cận nền tảng để xây DW. DMBOK2 trình bày cả hai như hai triết lý bổ sung, không loại trừ nhau:

Tiêu chíInmon (CIF)Kimball (Dimensional Bus)
Cách tiếp cậnTop-down: xây EDW doanh nghiệp trước, data mart phái sinh sauBottom-up: xây các data mart theo dimensional trước, liên kết thành DW
Mô hình lõiCorporate Information Factory (CIF); EDW chuẩn hóa 3NFDimensional bus architecture; star schema với conformed dimensions
Data martPhái sinh (dependent) từ EDW tập trungLà viên gạch xây dựng, chia sẻ conformed dimensions/facts
Ưu điểmNhất quán doanh nghiệp cao, ít dư thừa, linh hoạt cho thay đổi lâu dàiTriển khai nhanh, ROI sớm, dễ hiểu với người dùng nghiệp vụ
Nhược điểmChi phí & thời gian ban đầu lớn, phức tạp, ROI muộnRủi ro data mart rời rạc nếu không kỷ luật conformed dimensions
Phù hợpTổ chức lớn, nhu cầu tích hợp doanh nghiệp mạnhCần kết quả nhanh, phạm vi theo chủ đề
Ghi chú: ngoài hai trường phái này còn có Data Vault (Dan Linstedt) — mô hình hub/link/satellite tối ưu cho khả năng audit, lịch sử và mở rộng, thường dùng ở tầng tích hợp trung tâm rồi phục vụ data mart dimensional bên trên.
6. Dimensional Modeling
Fact · Dimension · Star · Snowflake · Grain

Mô hình chiều (dimensional) tối ưu cho truy vấn phân tích và dễ hiểu với người dùng nghiệp vụ. Hai loại bảng cốt lõi:

Loại bảngLà gìVí dụ
Fact tableChứa số đo (measures) định lượng của một tiến trình nghiệp vụ + khóa ngoại tới dimensions. Nhiều dòng, ít cột.Sales_Fact: quantity, amount, cost + keys
Dimension tableChứa bối cảnh mô tả (attributes) để lọc/nhóm/gán nhãn measures. Ít dòng, nhiều cột.Dim_Product, Dim_Customer, Dim_Date

Grain (độ hạt): mức chi tiết mỗi dòng fact biểu diễn (vd "một dòng cho mỗi sản phẩm trong mỗi hóa đơn"). Xác định grain là bước đầu tiên và quan trọng nhất khi thiết kế fact table.

Các loại measure trong fact: additive (cộng được theo mọi chiều, vd doanh thu), semi-additive (cộng theo một số chiều, vd số dư tài khoản không cộng theo thời gian), non-additive (không cộng được, vd tỷ lệ %).

SchemaĐặc điểmƯu / Nhược
Star schemaFact ở trung tâm, dimensions phi chuẩn hóa (denormalized) tỏa ra như ngôi sao+ Truy vấn nhanh, ít join, dễ hiểu. − Dư thừa dữ liệu trong dimension
Snowflake schemaDimensions được chuẩn hóa thành nhiều bảng phân cấp (bông tuyết)+ Ít dư thừa, tiết kiệm lưu trữ. − Nhiều join hơn, truy vấn phức tạp/chậm hơn
Fact constellationNhiều fact table dùng chung conformed dimensions (galaxy schema)+ Mô hình hóa nhiều tiến trình. − Phức tạp hơn

Conformed dimensions: các dimension chuẩn dùng chung giữa nhiều fact/data mart (vd Dim_Date, Dim_Customer) — nền tảng của "bus architecture" Kimball, đảm bảo báo cáo nhất quán xuyên chủ đề.

Slowly Changing Dimensions (SCD): cách xử lý khi thuộc tính dimension thay đổi theo thời gian:

LoạiCách xử lýLịch sử
Type 0Giữ nguyên (retain original), không bao giờ đổi giá trịBất biến — giữ giá trị gốc
Type 1Ghi đè (overwrite) giá trị cũ bằng giá trị mớiKhông lưu lịch sử
Type 2Thêm dòng mới với version/khoảng hiệu lực (effective/expiry date, current flag)Lưu lịch sử đầy đủ — phổ biến nhất
Type 3Thêm cột lưu giá trị trước đó (vd previous_value)Lưu lịch sử giới hạn (một mức)
Mẹo: Type 2 là lựa chọn mặc định khi cần phân tích lịch sử chính xác (báo cáo "theo trạng thái tại thời điểm giao dịch"). Type 1 dùng khi chỉ cần trạng thái hiện tại và không quan tâm lịch sử. Thực tế thường kết hợp (hybrid Type 6 = 1+2+3).
7. Kiến trúc tầng & ETL
Source → Staging → ODS/EDW → Data Mart

Dữ liệu chảy qua các tầng, mỗi tầng có mục đích riêng:

Source Systems (OLTP, external) │ Extract ▼ [ Staging Area ] ← vùng đệm thô, không phục vụ người dùng │ Transform (cleanse, standardize, integrate) ▼ [ ODS ] ← dữ liệu hiện tại tích hợp (tùy chọn) │ ▼ [ EDW / Integration Layer ] ← 3NF (Inmon) hoặc Data Vault │ Load ▼ [ Data Marts ] ← dimensional (star), phục vụ chủ đề/phòng ban │ ▼ [ OLAP Cubes / BI Tools ] ← reporting, dashboard, analytics

ETL (Extract – Transform – Load): xương sống của việc nạp kho:

ELT (Extract-Load-Transform) đảo thứ tự: nạp dữ liệu thô vào kho/lake mạnh rồi transform bằng chính engine của kho — phổ biến với cloud data warehouse và big data.

Surrogate key: khóa nhân tạo (số nguyên tự tăng) do DW sinh cho dimension, tách biệt khỏi natural key của nguồn — cần thiết để hỗ trợ SCD Type 2 và cách ly kho khỏi thay đổi ở nguồn.

8. OLAP
Cube · ROLAP/MOLAP/HOLAP · Thao tác

OLAP (Online Analytical Processing) cho phép phân tích dữ liệu đa chiều tốc độ cao. Dữ liệu tổ chức thành cube — khối gồm nhiều chiều (dimensions) và số đo (measures), cho phép "cắt lát" theo nhiều góc nhìn.

Loại OLAPLưu trữĐặc điểm
MOLAPMultidimensional — precompute & lưu trong cube chuyên dụngTruy vấn cực nhanh, tổng hợp sẵn; tốn lưu trữ, kém linh hoạt khi dữ liệu rất lớn/thưa
ROLAPRelational — dữ liệu ở RDBMS (star schema), tính khi truy vấnMở rộng tốt với dữ liệu lớn, linh hoạt; truy vấn có thể chậm hơn
HOLAPHybrid — kết hợp: tổng hợp trong cube, chi tiết ở RDBMSCân bằng tốc độ & khả năng mở rộng

Các thao tác OLAP:

Thao tácÝ nghĩa
Drill-downĐi từ mức tổng hợp xuống chi tiết hơn (Năm → Quý → Tháng).
Roll-up (drill-up)Ngược lại — tổng hợp lên mức cao hơn.
SliceCố định một chiều để lấy một "lát" của cube (vd chỉ năm 2025).
DiceChọn một khối con theo nhiều chiều với nhiều giá trị.
Pivot (rotate)Xoay các chiều để đổi góc nhìn của bảng/báo cáo.
9. Các loại Business Intelligence
Reporting → Dashboard → Self-service → Analytics
Loại BIMô tả
Operational / Production reportingBáo cáo chuẩn, định kỳ, cố định — trả lời câu hỏi "chuyện gì đã xảy ra".
Dashboards & scorecardsTrực quan hóa KPI, chỉ số theo dõi liên tục; scorecard gắn với mục tiêu chiến lược (vd balanced scorecard).
Self-service BINgười dùng nghiệp vụ tự khám phá, tạo báo cáo/visualization mà không cần IT (ad-hoc query, data discovery).
Advanced / Predictive analyticsData mining, mô hình dự báo, machine learning — trả lời "điều gì sẽ xảy ra" (predictive) và "nên làm gì" (prescriptive).
OLAP / Ad-hoc analysisPhân tích đa chiều tương tác qua cube.

Theo mức trưởng thành phân tích (analytics maturity): Descriptive (mô tả — chuyện gì đã xảy ra) → Diagnostic (chẩn đoán — vì sao) → Predictive (dự báo — sẽ xảy ra gì) → Prescriptive (đề xuất — nên làm gì).

10. Vai trò (Roles)
Ai làm gì trong DW/BI
Vai tròTrách nhiệm
DW/BI ArchitectThiết kế kiến trúc tổng thể DW, tầng dữ liệu, lựa chọn công nghệ & phương pháp (Inmon/Kimball).
Data ModelerThiết kế mô hình dimensional (star/snowflake), fact/dimension, xác định grain & SCD.
ETL DeveloperXây dựng & bảo trì pipeline extract-transform-load, xử lý CDC, SCD, chất lượng dữ liệu.
BI Developer / AnalystXây báo cáo, dashboard, cube; hỗ trợ self-service; phân tích nghiệp vụ.
DBAVận hành, tối ưu hiệu năng, partition/index, backup kho.
Data ScientistKhai thác dữ liệu cho phân tích nâng cao, dự báo, ML trên nền DW/lake.
Data Steward / GovernanceĐảm bảo chất lượng, định nghĩa, lineage & tuân thủ của dữ liệu trong kho.
11. Tools, Techniques & Metrics
Công cụ, kỹ thuật & đo lường
NhómNội dung
DW platformsTeradata, Oracle Exadata, IBM Db2 Warehouse, Microsoft SQL Server; cloud: Snowflake, Amazon Redshift, Google BigQuery, Azure Synapse.
ETL/ELT toolsInformatica PowerCenter, IBM DataStage, Talend, Microsoft SSIS, dbt (transform), Apache Airflow (orchestration).
BI / OLAP toolsPower BI, Tableau, Qlik, MicroStrategy, SAP BusinessObjects, Looker; OLAP: SSAS, Oracle Essbase.
TechniquesDimensional modeling, conformed dimensions, SCD, surrogate keys, CDC, partitioning, indexing/aggregation, data profiling.

Metrics đo hiệu quả DW/BI:

MetricÝ nghĩa
Usage / adoptionSố người dùng, số truy vấn/báo cáo, mức độ áp dụng self-service.
Load / refresh SLAThời gian & độ đúng hạn của chu kỳ ETL; dữ liệu sẵn sàng đúng giờ không.
Query performanceThời gian phản hồi truy vấn, độ trễ dashboard.
Data qualityĐộ chính xác, đầy đủ, nhất quán của dữ liệu trong kho.
Data freshness / latencyĐộ trễ giữa sự kiện ở nguồn và khi hiển thị trong BI.
Business value / ROIGiá trị quyết định được hỗ trợ, tiết kiệm chi phí báo cáo thủ công.
12. Best practices & Pitfalls
Nên & không nên

Best practices:

Pitfalls (cạm bẫy):

Cảnh báo: DW/BI thất bại thường không do công nghệ mà do thiếu gắn kết với nghiệp vụ, thiếu quản trị chất lượng và tham vọng phạm vi quá lớn ngay từ đầu. Ưu tiên giá trị nghiệp vụ đo được và giao hàng theo lát cắt.
← Bài trước
KA8: Reference & Master Data