Về cơ bản có thể hiểu DW là một tập hợp các dữ liệu, thông tin có chung một chủ đề, được tổng hợp từ nhiều nguồn khác nhau trong nhiều mốc thời gian và không chỉnh sửa.. Hiện nay khái ni
Trang 1Giảng viên hướng dẫn TS Nguy n Danh Tú ễ
Bộ môn Phân tích d li u và Tri th c kinh doanh ữ ệ ứ
Hà N i, 02/2023ộ
Chữ ký c a GVHDủ
Trang 2MỤC L C Ụ
Phần I: Tổng quan về Data warehouse 4
1.1.Data warehouse là gì? 4
1.2.Cấu trúc dữ li u cho kho d liệ ữ ệu 4
1.3.Các kiểu dữ liệu trong DW 6
1.4.Các loại bảng Fact (bảng dữ kiện) trong DW 6
1.5.Ngôn ngữ cho kho dữ liệu 7
1.6.Cấu trúc của hệ thống kho dữ liệu 7
1.7.Các loại lược đồ của kho dữ liệu 7
1.7.1.STAR SCHEMA (Lược đồ hình sao) 8
1.7.2.SNOW FLAKE SCHEMA (Lược đồ bông tuyết) 8
1.7.3GALAXY SCHEMA 9
1.7.4.FACT CONSTELLATION SCHEMA 9
1.8.Xử lý phân tích trực tuyến (OLAP) 9
1.8.1.Business Intelligence (BI) 9
1.8.2.On-line analytical processing (OLAP) 9
1.9.Nguyên lý thiết kế DW 9
1.10.Ba vấn đề chính trong xây dựng DW 10
1.11.ETL (Extract - Transform - Load) 10
1.12.Các dạng lưu trữ dữ liệu của Dminsion table 10
1.13.Bus matrix 11
Phần II: T ng quan vổ ề BI 12
2.1.BI là gì? 12
2.2.BI chủ yếu gồm các thành phần chính như sau: 13
Phần III: NG DỨ ỤNG Datawarehouse và BI vào bài toán Chăm sóc sức khỏe 15
3.1 Gi i thi u vớ ệ ề bài toán 15
3.1.1 Chăm sóc sức khỏe là gì 15
3.1.2 N i dung quy trinh nghi p v cộ ệ ụ ủa chăm sóc sức khỏe 15
3.1.3 Requirement 16
3.1.4 Quy mô dữ liệ 16 u 3.2 Gi i thi u vớ ệ ề ODS 17
3.2.1 ODS (Operational Data Stores) là gì 17
3.2.2 Thi t kế ế và tri n khai ODSể 17
3.3 Ki n trúc DataWareHouseế 18
3.4 Ti n x lý d liề ử ữ ệu 19
3.4.1 Sơ đồ quá trình ETL 19
Trang 33
3.4.2 N i dung ETLộ 19
3.5 Dimension và các chi u d liề ữ ệu 21
3.5.1 Dimension 21
3.5.2 Các chi u d liề ữ ệu 22
3.6 Mô hình d li u OLTPữ ệ 23
3.7 d li u mô hình OLAPữ ệ 24
3.8 Các m u DASHBOARD và phân tíchẫ 25
3.8.1 DASHBOARD v m t vài nguyên nhân dề ộ ẫn đến thất thoát nhân lực 25
3.8.2 DASHBOARD v phân b nhân s trong công tyề ổ ự 26
3.8.3 DASHBOARD v phân b th c trề ổ ự ạng của nhân viên trong công ty 27
Trang 4NỘI DUNG Phần I: Tổng quan về Data warehouse
1.1.Data warehouse là gì?
Data Warehouse tạm dịch là kho dữ liệu thường được viết tắt là DW hay DWH
Về cơ bản có thể hiểu DW là một tập hợp các dữ liệu, thông tin có chung một chủ đề, được tổng hợp từ nhiều nguồn khác nhau trong nhiều mốc thời gian và không chỉnh sửa Được dùng cho việc hỗ trợ ra quyết định, phân tích dữ liệu và lập báo cáo trong công tác quản lý Hiện nay khái niệm kho dữ liệu được phát triển rộng hơn, nó mô tả tập hợp các công nghệ, phương pháp, kỹ thuật có thể kết hợp với nhau thực hiện các chức năng tích hợp, lưu trữ, xử lý
và phân tích dữ liệu để cung cấp thông tin cho người sử dụng Một kho dữ liệu thường có dung lượng lên đến hàng trăm GB thậm chí tính bằng đơn vị TB
Quá trình tập hợp và thao tác trên các dữ liệu này có những đặc điểm sau (ACID):
1 Atomicity (Tính nguyên tử): dữ liệu được tập hợp từ nhiều nguồn khác nhau > khi tập hợp phải thực hiện làm sạch, sắp xếp, rút gọn dữ liệu
-2 Consistency (Tính nhất quán): chỉ lấy những dữ liệu có ích (các dữ liệu có cùng chủ đề)
3 Isolation (Tính cô lập): Các dữ liệu truy suất không bị ảnh hưởng bởi các dữ liệu khác hoặc tác động lên nhau
4 Durable (Tính bền vững): Dữ liệu không thể tạo thêm, xóa hay sửa đổi
1.2.Cấu trúc dữ liệu cho kho dữ liệu
Lượng dữ liệu trong kho là rất lớn và không có những thao tác như sửa đổi hay tạo mới nên nó cần được tối ưu cho việc phân tích và báo cáo
Các thao tác với dữ liệu của kho dựa trên cơ sở Mô hình dữ liệu đa chiều (multidimensional data model), được mô hình hoá vào đối tượng được gọi là data cube Data cube là trung tâm phân tích, nó bao gồm nhiều dữ kiện (fact) và dữ kiện tạo ra nhiều chiều dữ kiện khác nhau (dimention)
Trang 55
Ví dụ với kho dữ liệu về các loại phương tiện :
Chúng ta có thể chia làm 3 chiều đơn giản là
item (loại phương tiện)
Time (thời gian sáng chế)
Location (quốc gia sáng chế)
Trang 61.3.Các kiểu dữ liệu trong DW
Một bảng sự kiện (Fact table) là một bảng gồm nhiều phép đo (measure), số liệu (metrics) hoặc sự kiện (fact) của quy trình kinh doanh (business process) Có ba loại dữ kiện:
1.4.Các loại bảng Fact (bảng dữ kiện) trong DW
1 Transaction Fact Tables
Đây là những bảng dữ kiện thường được sử dụng nhất
Mỗi hàng trong bảng này đại diện cho một sự kiện cụ thể trong quy trình kinh doanh
Chứa nhiều khóa ngoại hơn các loại khác vì có mối quan hệ với tất cả các thứ nguyên có thể có (Dimension table)
Dữ kiện trong các loại bảng này chủ yếu là Additive Facts
2 Accumulating Snapshot Fact Tables
Loại bảng Dữ kiện này sẽ đại diện cho toàn bộ vòng đời của quy trình kinh doanh
từ đầu đến cuối quy trình (tức là Xử lý đơn hàng bán hàng, Xử lý yêu cầu) Mỗi bản ghi trong loại bảng này đại diện cho một thực thể của quy trình kinh doanh tương ứng và sau đó bản ghi này sẽ được cập nhật mỗi lần theo trạng thái hiện tại của thực thể
3 Periodic Snapshot Fact Tables
Bảng này lưu trữ Snapshot quy trình kinh doanh trong một khoảng thời gian cụ thể, trong bảng Dữ liệu này có thể không ở cấp độ quy trình kinh doanh Nó tóm tắt hoạt động trong một khoảng thời gian, có thể là tháng, năm hoặc tuần
Trang 77
Ngoài ra còn một số khái niệm như:
1 Factless Fact table
Trong thực tế, có thể có bảng Fact không chứa phép đo (measure) hay sự kiện (fact) nào Ví dụ: Bảng dữ liệu đi chơi với crush (không có một dữ kiện nào )
2 Một bảng Fact bao gồm các sự kiện tổng hợp thường được gọi là bảng tóm tắt (Summary tables)
3 Dimension table
Là một trong những tập hợp các bảng đồng hành với Fact table
Bảng dữ kiện chứa các dữ kiện kinh doanh (hoặc các biện pháp) và các khóa ngoại tham chiếu đến các khóa ứng viên (thường là khóa chính) trong bảng thứ nguyên
Trái ngược với bảng dữ kiện, Dimension table chứa các thuộc tính mô tả (hoặc trường) thường là các trường văn bản (hoặc các số rời rạc hoạt động giống như văn bản) Các thuộc tính này được thiết kế để phục vụ hai mục đích quan trọng: hạn chế truy vấn và / hoặc lọc và gắn nhãn tập kết quả truy vấn
1.5.Ngôn ngữ cho kho dữ liệu
Ngôn ngữ xử lý phân tích trực tuyến (OLAP) ~ SQL và tập trung vào các câu lệnh:
Thu nhỏ (roll-up): Tập hợp thành những tập có phạm vi lớn hơn VD: tập hợp theo năm thay vì theo quý
Mở rộng (drill-down): Chia nhỏ thành nhiều tập dữ liệu VD: Nhóm theo tháng thay vì theo quý
Cắt lát (slice): Nhìn theo từng lớp một VD: Từ danh mục bán hàng của Q1,Q2,Q3, Q4 chỉ xem của quý Q1
Thu nhỏ (dice): Bỏ bớt một phần của dữ liệu (~ thêm điều kiện trong truy vấn)
1.6.Cấu trúc của hệ thống kho dữ liệu
Tầng trên: Nơi chứa các câu truy vấn, báo cao, phân tích
1.7.Các loại lược đồ của kho dữ liệu
Có 4 loại lược đồ có sẵn trong kho dữ liệu
Trang 81.7.1.STAR SCHEMA (Lược đồ hình sao)
Gồm 1 bảng Fact (bảng sự kiện) nằm ở trung tâm và được bao quanh bởi những bảng Dimension (bảng chiều) Dữ liệu của lược đồ hình sao không được chuẩn hoá Các câu hỏi nhằm vào bảng Fact và được cấu trúc bởi các bảng Dimension
Ưu điểm: Bảng Fact, Dimension được mô tả rõ ràng, dễ hiểu Bảng Dim là bảng
dữ liệu tĩnh, và bảng Fact là dữ liệu động được nạp bằng các thao tác Khoá của Fact được tạo bởi khoá của các bảng Dim Nghĩa là khoá chính của các bảng Dim chính
là khoá của bảng Fact
Nhược: Dữ liệu không được chuẩn hoá
Là dạng mở rộng của lược đồ hình sao bằng các bổ sung các Dim Bảng Fact như lược đồ hình sao, bảng Dim được chuẩn hoá Các chiều được cấu trúc rõ ràng Bảng Dim được chia thành chiều chính hay chiều phụ
Ưu điểm: Số chiều được phân cấp thể hiện dạng chuẩn của bảng Dim Nhược: Cấu trúc phi dạng chuẩn của lược đồ hình sao phù hợp hơn cho việc duyệt các chiều
Trang 99
1.7.3GALAXY SCHEMA
Chứa nhiều bảng Fact sử dụng chung một số bảng Dim Lược đồ là sự kết hợp của nhiều data mart (kho dữ liệu có chủ đề, dạng thu nhỏ của kho dữ liệu, kho dữ liệu được chia thành nhiều phần nhỏ khác nhau)
1.7.4.FACT CONSTELLATION SCHEMA
Dimension trong lược đồ được tách thành các Dimension độc lập dựa trên các cấp độ của hệ thống phân cấp
1.8.Xử lý phân tích trực tuyến (OLAP)
1.8.1.Business Intelligence (BI)
BI là quy trình và công nghệ mà các doanh nghiệp dùng để kiểm soát khối lượng dữ liệu khổng
lồ, khai phá tri thức giúp cho các doanh nghiệp có thể đưa ra các quyết định hiệu quả hơn cho hoạt động kinh doanh của mình Công nghệ BI: Cung cấp một cách nhìn toàn cảnh hoạt động của doanh nghiệp từ quá khứ, hiện tại và các dự án tương lai Hệ thống BI còn được gọi là Hệ thống hỗ trợ quyết định (DSS) Qui trình BI là quy trình trích xuất từ cơ sở dữ liệu OLAP và sau đó phân tích dữ liệu >> thông tin có thể dùng để đưa ra kết quả
1.8.2.On-line analytical processing (OLAP)
OLAP là kỹ thuật để truy xuất dữ liệu chủ yếu trong kho dữ liệu Dữ liệu trong DW được tổ chức dưới dạng các khối dữ liệu đa chiều và OLAP được dùng để phân tích dữ liệu trên từng khối
1.9.Nguyên lý thiết kế DW
1 Hướng chủ đề: Loại bỏ các dữ liệu không hữu ích cho quá trình phân tích
Trang 102 Tính toàn vẹn: Tích hợp dữ liệu từ nhiều nguồn khác nhau vào một định dạng thống nhất
3 Tính bất biến: Dữ liệu phải thống nhất theo thời gian (Hạn chế đối đa sửa, xoá) >> phân tích thay đổi theo thời gian
4 Giá trị lịch sử: Cung cấp dữ liệu tại các thời điểm khác nhau của một thông tin
1.10.Ba vấn đề chính trong xây dựng DW
1 Data
Cần thông tin gì để hỗ trợ ra quyết định? Ở cấp độ nào?
Dữ liệu được lấy từ đâu? định dạng như thế nào?
Độ lớn dữ liệu? Mức độ tăng trưởng dữ liệu như thế nào? cần bao nhiêu không gian để chứa?
2 Structure
o Dữ liệu cần được xây dựng theo những chiều nào để phục vụ phân tích?
o Cấu trúc dữ liệu nào là phù hợp với yêu cầu?
o Có những ngoại lệ nào cần xử lý? ở cấp độ nào?
1.11.ETL (Extract - Transform - Load)
Tiến trình ETL hay là tiến trình thu thập và tích hợp dữ liệu
1 Extract: truy cập hệ thống nguồn để trích xuất dữ liệu (source data)
2 Tranform: Kiểm tra, làm sạch, điều chỉnh phù hợp các yêu cầu của DW (load data)
3 Load: cập nhật DW với dữ liệu được cung cấp từ load data
1.12.Các dạng lưu trữ dữ liệu của Dminsion table
Loại 0: Retain Original:
Trang 1111
Đây là phương thức thụ động Khi có sự thay đổi trên dimension, không có hành động nào xảy ra trên DW Giá trị chiều được giữ nguyên như tại thời điểm bản ghi được thêm vào lần đầu tiên (không được chỉnh sửa?) Loại này hiếm khi được sử dụng Loại 1: Overwrite
Ghi đè dữ liệu cũ, không theo dõi dữ liệu lịch sử
Ưu: Dễ bảo trì
Nhược: Không kiểm tra được dữ liệu lịch sử
Loại 2: Add new row
Theo dõi dữ liệu lịch sử bằng cách tạo ra nhiều bản ghi cho một khoá tự nhiên trong bảng chiều (phân biệt bằng khoá tự nhiên hoặc số phiên bản)
Loại 3: Add new attribute
Theo dõi sự thay đổi bằng cách sử dụng các cột riêng biệt Lưu giá trị lịch sử một cách giới hạn vì giới hạn ở số cột lưu trữ dữ liệu lịch sử (Bản ghi chứa 1 cột cho giá trị ban đầu, 1 cột cho giá trị hiện tại)
Loại 4: Add history table
Sử dụng các bảng history table
Một bảng lưu giá trị hiện tại
Một bản lưu trữ tất cả thay đổi
Loại 6: Hybrid
o Kết hợp cách tiếp cận từ loại 1,2,3 (6 = 1+2+3)
o Khi bản ghi lần đầu tiên được thêm vào Giá trị lịch sử và giá trị hiện tại là giống nhau
o Khi thay đổi giá trị:
o Ghi đè current_Flag (cột có giá trị Y/N chỉ định rằng phiên bản có đang được
sử dụng) (1)
o Tạo bản ghi mới để theo dõi lịch sử (2)
o Lưu trữ giá trị lịch sử trong cột (3)
1.13.Bus matrix
Cấu trúc mạch nối (Bus Architecture) là tập các bảng fact và dimension và mối liên kết giữa chúng (theo các tiến trình nghiệp vụ), xây dựng nên các chợ dữ liệu (Data Mart)
Trang 12Bảng chiều dimension là bảng tra cứu “lookup” trong mô hình dữ liệu đa chiều, chứa dữ liệu văn bản để xác định các định danh identifer trong các bảng sự kiện fact Dimension xác định WHO, WHAT, WHERE, WHY, HOW của trạng thái của sự kiện được ghi lại trong fact Dimension được định nghĩa và triển khai một lần, từ đó sử dụng xuyên suốt trong các nghiệp
vụ kinh doanh
Xây dựng kiến trúc nhà kho dữ liệu doanh nghiệp là kết quả của quá trình thu thập yêu cầu Ma trận được định nghĩa như sau:
Mỗi hàng row đại diện cho một qui trình nghiệp vụ
Mỗi cột column tương ứng một chiều của nghiệp vụ
Ma trận kết quả thể hiện một bức tranh lớn (không tính đến các yếu tố liên quan đến công nghệ), cho phép xác dịnh và quản lý quá trình phát phát triển một cách dễ dàng Kimball sử dụng khái niệm bus matrix cung cấp một khuôn khổ framework và một kế hoạch tổng thể để phát triển nhanh theo mô hình Agile, xác định các dimensions chung có thể sử dụng lại, đem lại sự thống nhất về mặt dữ liệu và giảm thời gian delivery Mục tiêu của việc xây dựng bus matrix là phải
có được tổng quan toàn cảnh và chính xác các tiến trình trong toàn bộ tổ chức Trong mô hình
đa chiều, mỗi tiến trình được mô hình hoá và môt tả thông qua bảng fact và các bảng dimension liên quan
Phần II: Tổng quan về BI
2.1.BI là gì?
BI là một qui trình có tích hợp công nghệ mà các doanh nghiệp dùng để kiểm soát khối lượng
dữ liệu khổng lồ đến từ nhiều nguồn khác nhau và khai thác nguồn dữ liệu đó giúp cho họ có thể đưa các các quyết định hiệu quả hơn trong hoạt động kinh doanh của mình BI có mặt ở khắp các doanh nghiệp như hệ thống siêu thị, ngân hàng, viễn thông,… đó đều là những nơi cần thu thập, xử lý khối lượng dữ liệu cực lớn Do đó BI có tính ứng dụng rất cao khi nguồn dữ liệu của doanh nghiệp sẽ lớn dần theo thời gian hoạt động Hiện nay BI vẫn còn là một thuật ngữ khá mới ở Việt Nam, nhưng trên thế giới BI đã được ứng dụng rất nhiều vào doanh nghiệp.Vậy mình sẽ cùng tìm hiểu 1 giải pháp BI cho doanh nghiệp gồm những gì và cách hoạt động như thế nào nhé
Trang 13Có thể là bất cứ hệ quản trị cơ sở dữ liệu nào như MySQL, Oracle, MSSQL, DB2, …
Thường được thiết kế theo mô hình cơ sở dữ liệu quan hệ ( vì dạng mô hình này đang rất phổ biến trong thực tế )
Thực thi các report với output nhận được từ Analysis Server
Nơi quản trị tập trung các report trên nền web, các report này có thể được attach vào ứng dụng web, hay application
Data Mining
Trang 14Là quá trình trích xuất thông tin dữ liệu đã qua xử lý (phù hợp với yêu cầu riêng của doanh nghiệp) từ Data Warehouse rồi kết hợp với các thuật toán để đưa ra ( hoặc
dự đoán ) các quyết định có lợi cho việc kinh doanh của doanh nghiệp
Đây là một quá trình quan trọng trong BI, thông thường một doanh nghiệp muốn
sử dụng giái pháp BI thường kèm theo về Data Mining
Data Presentation
Tạo ra các báo cáo, biểu đồ từ quá trình data mining để phục vụ cho nhu cầu của người dùng cuối
Sau đây nói rõ hơn về Data Warehouse – 1 phần gần như không thể thiếu của 1 giải pháp BI
Data Warehouse : Data warehouse nói nôm na như một nơi lưu trữ dữ liệu khổng lồ của doanh
nghiệp nhằm phục vụ cho yêu cầu về sau này Một data warehouse thường có các tính chất sau :
Hướng đối tượng : Thường dữ liệu trong data warehouse sẽ được phân tích theo từng đối tựơng
cụ thể, ví dụ như khách hàng hoặc là sản phẩm,…
Tổng hợp dữ liệu: Như chúng ta đã biết, dữ liệu vào data warehouse có thể đến từ nhiều nguồn khác nhau, mỗi nguồn có cách định nghĩa dữ liệu khác nhau nhưnh khi đưa vào Data Warehouse, chúng sẽ đựơc chuẩn hoá theo thiết kế riêng của từng DW thông qua giai đoạn ETL Khi đó mọi nguồn dữ liệu sẽ được tổng hợp lại thành một nguồn thống nhất
Lưu trữ lâu dài : Dữ liệu trong data warehouse được lưu trữ trường kỳ theo một thời gian dài cho dù nó đã được thay đổi Một hệ thống dữ liệu bình thường chỉ lưu trữ dữ liệu gần nhất của một trường nào đó, ví dụ như địa chỉ của 1 khách hàng, khi thay đổi nó, địa chỉ cũ vẫn được giữ lại thông qua các phương pháp Slowly Changing Dimensions ( sẽ được bàn kỹ vào các bài blog tiếp theo )
Bất biến theo thời gian: Một khi dữ liệu đựơc đưa vào DW, nó chỉ đựơc thay đổi thông qua gói ETL ( nhưng dữ liệu cũ vẫn được giữ lại)
Kiến trúc của một Data Warehouse thông thường
Data Source Layer (Lớp dữ liệu nguồn) Dữ liệu vào DW có thể đến từ nhiều nguồn khác nhau và dưới các định dạng khác nhau như đơn thuần một file text, cơ sở dữ liệu quan hệ, file Excel… hoặc dữ liệu từ doanh nghiệp như dữ liệu về sản phẩm, thông tin lưu trữ về việc lướt web của ngừơi dùng lưu trên web server …
Data Extraction Layer Đảm nhận việc trích dữ liệu từ nguồn để đưa vào hệ thống DW Staging Area Đây là nơi mà dữ liệu sẽ được loại bỏ các trường dữ liệu thừa theo chuẩn của
từng DW và chuỷên vào DW hoặc Data mart
ETL Layer Lớp này có nhiệm vụ thêm sự logic vào dữ liệu ( thường do yêu cầu riêng của
doanh nghiệp )