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.
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-oriented | Tổ chức theo chủ đề nghiệp vụ (khách hàng, doanh thu) thay vì theo ứng dụng. |
| Integrated | Dữ 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-variant | Lưu dữ liệu theo nhiều mốc thời gian → phân tích xu hướng lịch sử. |
| Non-volatile | Dữ 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:
| Khái niệm | Ý nghĩa |
|---|---|
| OLTP vs OLAP | OLTP: 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 Warehouse | Kho dữ liệu doanh nghiệp tích hợp, hướng chủ đề, có lịch sử. |
| Data Mart | Tậ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 Area | Vù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 / ELT | Extract-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). |
| Metadata | Dữ 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 Lake | Kho 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. |
| Nhóm | Nội dung |
|---|---|
| Inputs | Nhu 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. |
| Deliverables | Kiế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. |
| Suppliers | Chủ 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. |
| Participants | Data architect, data modeler, ETL developer, BI developer, DBA, data analyst, DW/BI program manager. |
| Consumers | Lã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 / Metrics | Dimensional 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. |
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ận | Top-down: xây EDW doanh nghiệp trước, data mart phái sinh sau | Bottom-up: xây các data mart theo dimensional trước, liên kết thành DW |
| Mô hình lõi | Corporate Information Factory (CIF); EDW chuẩn hóa 3NF | Dimensional bus architecture; star schema với conformed dimensions |
| Data mart | Phái sinh (dependent) từ EDW tập trung | Là viên gạch xây dựng, chia sẻ conformed dimensions/facts |
| Ưu điểm | Nhất quán doanh nghiệp cao, ít dư thừa, linh hoạt cho thay đổi lâu dài | Triển khai nhanh, ROI sớm, dễ hiểu với người dùng nghiệp vụ |
| Nhược điểm | Chi phí & thời gian ban đầu lớn, phức tạp, ROI muộn | Rủi ro data mart rời rạc nếu không kỷ luật conformed dimensions |
| Phù hợp | Tổ chức lớn, nhu cầu tích hợp doanh nghiệp mạnh | Cần kết quả nhanh, phạm vi theo chủ đề |
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ảng | Là gì | Ví dụ |
|---|---|---|
| Fact table | Chứ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 table | Chứ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 schema | Fact ở 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 schema | Dimensions đượ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 constellation | Nhiề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ại | Cách xử lý | Lịch sử |
|---|---|---|
| Type 0 | Giữ nguyên (retain original), không bao giờ đổi giá trị | Bất biến — giữ giá trị gốc |
| Type 1 | Ghi đè (overwrite) giá trị cũ bằng giá trị mới | Không lưu lịch sử |
| Type 2 | Thê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 3 | Thê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) |
Dữ liệu chảy qua các tầng, mỗi tầng có mục đích riêng:
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.
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 OLAP | Lưu trữ | Đặc điểm |
|---|---|---|
| MOLAP | Multidimensional — precompute & lưu trong cube chuyên dụng | Truy 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 |
| ROLAP | Relational — dữ liệu ở RDBMS (star schema), tính khi truy vấn | Mở rộng tốt với dữ liệu lớn, linh hoạt; truy vấn có thể chậm hơn |
| HOLAP | Hybrid — kết hợp: tổng hợp trong cube, chi tiết ở RDBMS | Câ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. |
| Slice | Cố định một chiều để lấy một "lát" của cube (vd chỉ năm 2025). |
| Dice | Chọ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. |
| Loại BI | Mô tả |
|---|---|
| Operational / Production reporting | Báo cáo chuẩn, định kỳ, cố định — trả lời câu hỏi "chuyện gì đã xảy ra". |
| Dashboards & scorecards | Trự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 BI | Ngườ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 analytics | Data 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 analysis | Phâ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ì).
| Vai trò | Trách nhiệm |
|---|---|
| DW/BI Architect | Thiế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 Modeler | Thiết kế mô hình dimensional (star/snowflake), fact/dimension, xác định grain & SCD. |
| ETL Developer | Xây dựng & bảo trì pipeline extract-transform-load, xử lý CDC, SCD, chất lượng dữ liệu. |
| BI Developer / Analyst | Xây báo cáo, dashboard, cube; hỗ trợ self-service; phân tích nghiệp vụ. |
| DBA | Vận hành, tối ưu hiệu năng, partition/index, backup kho. |
| Data Scientist | Khai 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. |
| Nhóm | Nội dung |
|---|---|
| DW platforms | Teradata, Oracle Exadata, IBM Db2 Warehouse, Microsoft SQL Server; cloud: Snowflake, Amazon Redshift, Google BigQuery, Azure Synapse. |
| ETL/ELT tools | Informatica PowerCenter, IBM DataStage, Talend, Microsoft SSIS, dbt (transform), Apache Airflow (orchestration). |
| BI / OLAP tools | Power BI, Tableau, Qlik, MicroStrategy, SAP BusinessObjects, Looker; OLAP: SSAS, Oracle Essbase. |
| Techniques | Dimensional modeling, conformed dimensions, SCD, surrogate keys, CDC, partitioning, indexing/aggregation, data profiling. |
Metrics đo hiệu quả DW/BI:
| Metric | Ý nghĩa |
|---|---|
| Usage / adoption | Số người dùng, số truy vấn/báo cáo, mức độ áp dụng self-service. |
| Load / refresh SLA | Thời gian & độ đúng hạn của chu kỳ ETL; dữ liệu sẵn sàng đúng giờ không. |
| Query performance | Thờ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 / ROI | Giá trị quyết định được hỗ trợ, tiết kiệm chi phí báo cáo thủ công. |
Best practices:
Pitfalls (cạm bẫy):