1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng kho dữ liệu với cơ sở dữ liệu đa chiều nhằm trực quan hóa dữ liệu nhân sự trong dự án tại một công ty phần mềm

103 32 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 103
Dung lượng 2,34 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chương 3 nêu yêu cầu của hệ thống, thiết kế kho dữ liệu ban đầu dạng cơ sở dữ liệu quan hệ, rồi chuyển sang dạng cơ sở dữ liệu đa chiều, hiện thực chuyển đổi thành các khối dữ liệu, trực

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA -

TRỊNH PHONG NHÃ

XÂY DỰNG KHO DỮ LIỆU VỚI CƠ SỞ DỮ LIỆU

ĐA CHIỀU NHẰM TRỰC QUAN HÓA DỮ LIỆU NHÂN SỰ TRONG DỰ ÁN TẠI MỘT CÔNG TY PHẦN MỀM

Chuyên ngành: HỆ THỐNG THÔNG TIN QUẢN LÝ

Mã số: 60340405

LUẬN VĂN THẠC SĨ

THÀNH PHỐ HỒ CHÍ MINH, THÁNG 7 NĂM 2016

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG - HCM

Cán bộ hướng dẫn khoa học: PGS.TS Đặng Trần Khánh

Cán bộ chấm nhận xét 1: TS Lê Lam Sơn

Cán bộ chấm nhận xét 2: TS Nguyễn Tuấn Đăng

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 18 tháng 7 năm 2016 Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: 1 TS Nguyễn Thanh Bình

2 TS Trương Tuấn Anh

3 TS Lê Lam Sơn

4 TS Nguyễn Tuấn Đăng

5 PGS.TS Vũ Thanh Nguyên

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA KH&KTMT

TS Nguyễn Thanh Bình

Trang 3

ĐẠI HỌC QUỐC GIA TP.HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ và tên học viên: Trịnh Phong Nhã MSHV:13320798

Ngày, tháng, năm sinh: 27/01/1985 Nơi sinh: Quảng Bình

Chuyên nghành: Hệ thống thông tin quản lý Mã số: 60340405

I TÊN ĐỀ TÀI

XÂY DỰNG KHO DỮ LIỆU VỚI CƠ SỞ DỮ LIỆU ĐA CHIỀU NHẰM TRỰC QUAN HÓA DỮ LIỆU NHÂN SỰ TRONG DỰ ÁN TẠI MỘT CÔNG TY PHẦN MỀM

II NHIỆM VỤ VÀ NỘI DUNG

1 Tổng hợp một số lý thuyết về kho dữ liệu

2 Xây dựng kho dữ liệu với cơ sở dữ liệu đa chiều

3 Trực quan hóa dữ liệu nhân sự trong dự án của công ty phần mềm

III NGÀY GIAO NHIỆM VỤ: 12/01/2016

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 20/06/2016

Trang 4

LỜI CẢM ƠN

Em xin bày tỏ lòng kính trọng và biết ơn sâu sắc tới Thầy giáo, PGS TS

ĐẶNG TRẦN KHÁNH, trường Đại học Bách khoa TPHCM đã hướng dẫn và

động viên em rất nhiều trong quá trình làm đề cương luận văn

Em xin được gửi lời cảm ơn tới các Thầy, Cô trong khoa Khoa học và kỹ thuật máy tính và Khoa Quản lý công nghiệp trường Đại học Bách khoa TPHCM, những người đã dạy dỗ, giúp đỡ và chỉ bảo cho em trong suốt quá trình học tập

Cuối cùng, xin gửi lời biết ơn tới ba mẹ, em gái, vợ và con trai, những người

đã luôn bên cạnh và khích lệ con trong thời gian qua

Biển học là vô bờ, mà khả năng của em thì có giới hạn, em kính mong sẽ được

sự chỉ bảo của các Thầy Cô trong Hội đồng bảo vệ luận văn

Trân trọng!

Trang 5

TÓM TẮT NỘI DUNG LUẬN VĂN

Đề tài tìm hiểu các đặc tính của kho dữ liệu cơ sở dữ liệu đa chiều, kiến trúc khối Từ đó xây dựng một kho dữ liệu với cơ sở dữ liệu đa chiều về nhân sự của một công ty gia công phần mềm Tiếp theo đề tài trực quan hóa cơ sở dữ liệu này theo từng cấp dự án (project) Kết quả thực tế của đề tài là một hệ thống cung cấp thông tin trực quan về nhân sự cho các cấp quản lý Hệ thống này bao gồm các biểu

đồ, báo cáo… đa chiều, có thể tương tác được (chọn dạng thức hiển thị biểu đồ, chọn loại thông tin, lọc dữ liệu, sắp xếp (order), đi sâu vào chi tiết hoặc tổng hợp lên theo nhiều chiều (drill down và roll up)…)

Trang 6

ABSTRACT

This thesis dealed with data warehouse, multidimentional database, cube architecture in order to build a mulitdimentional human resources data warehouse for an outsource software company It also visualize this database to the project hierachy The final result of this thesis is an application that provides visual information on human resources for the managers This system includes interacive multidimentional charts, reports, dashboards…that we can choose type options, choose important information to present, filter, sort, and drill down or roll up…

Trang 7

LỜI CAM ĐOAN

Tôi xin cam đoan những số liệu đƣợc sử dụng trong nghiên cứu này là do tôi

tự nghiên cứu, khảo sát và thực hiện Các dữ liệu đƣợc thu thập và xử lý một cách khách quan và trung thực

Tp Hồ Chí Minh, tháng 6 năm 2016

Trang 8

MỤC LỤC

LỜI CẢM ƠN iii

TÓM TẮT NỘI DUNG LUẬN VĂN iv

ABSTRACT v

LỜI CAM ĐOAN vi

DANH MỤC BẢNG BIỂU x

DANH MỤC HÌNH ẢNH xii

DANH MỤC CHỮ VIẾT TẮT xiv

CHƯƠNG 1 TỔNG QUAN 1

1.1 Tóm tắt đề tài 1

1.2 Giới hạn nghiên cứu 1

1.3 Phương pháp nghiên cứu 1

1.4 Bố cục báo cáo luận văn 1

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 3

2.1 Kho dữ liệu 3

2.1.1 Khái niệm 3

2.1.2 Sự khác nhau của cơ sở dữ liệu tác nghiệp và kho dữ liệu 4

2.1.3 Các mục tiêu của kho dữ liệu 5

2.1.4 Các thành phần của một kho dữ liệu: 6

2.1.5 Mô hình dữ liệu và việc thiết kế kho dữ liệu: 11

2.2 Cơ sở dữ liệu đa chiều 17

2.2.1 Mô hình đa chiều 17

2.2.2 Mô hình hóa đa chiều: 18

2.2.3 Các loại mô hình đa chiều 19

Trang 9

2.2.4 Các nguyên lý thiết kế mô hình đa chiều 21

2.3 ETL 26

2.3.1 Khái quát về tích hợp dữ liệu 26

2.3.2 Các phương pháp nạp dữ liệu cho kho dữ liệu 27

2.3.3 Những hoạt động tích hợp dữ liệu 29

2.4 Xử lý phân tích trực tuyến 35

2.4.1 Khái niệm 35

2.4.2 Các kiến trúc OLAP 36

2.4.3 So sánh các kiến trúc OLAP 37

2.4.4 Khối (Cube) và Chiều (Dimension) trong OLAP 37

2.4.5 Ngôn ngữ MDX 39

CHƯƠNG 3 YÊU CẦU - THIẾT KẾ - HIỆN THỰC 44

3.1 Yêu cầu 44

3.2 Thiết kế 46

3.2.1 Kho dữ liệu ban đầu dạng cơ sở dữ liệu quan hệ 46

3.2.2 Headcount Datamart 52

3.3 Hiện thực 58

3.4 Kết quả 59

CHƯƠNG 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 65

4.1 Kết luận 65

4.2 Hạn chế 66

4.3 Đánh giá ứng dụng 66

4.4 Hướng phát triển 66

TÀI LIỆU THAM KHẢO 67

Trang 10

PHỤ LỤC A 69 PHỤ LỤC B 77

LÝ LỊCH TRÍCH NGANG 88

Trang 11

DANH MỤC BẢNG BIỂU

Bảng 2-1 Ví dụ CSDL thông tin nhân viên 23

Bảng 2-2 Bảng CSDL thông tin nhân viên sau cập nhật (SCD1) 24

Bảng 2-3 Bảng CSDL thông tin nhân viên sau cập nhật (SCD2) 24

Bảng 2-4 Bảng CSDL thông tin nhân viên sau cập nhật (SCD3) 25

Bảng 2-5 Bảng NhanVien (SCD4) 25

Bảng 2-6 Bảng NhanVienHistory (SCD4) 25

Bảng 2-7 Bảng nhân viên trước khi cập nhật (SCD5) 26

Bảng 2-8 Bảng nhân viên sau khỉ cập nhật (SCD6) 26

Bảng 2-9 Bảng nhân viên sau khi tiếp tục cập nhật (SCD5) 26

Bảng 2-10 Bảng so sảnh các kiến trúc OLAP 37

Bảng 2-11 Bảng dữ kiện của khối 38

Bảng 2-12 Các trục trong MDX 40

Bảng 3-1 Bảng Unit 47

Bảng 3-2 Bảng Nationality 47

Bảng 3-3 Bảng.EmployeeUnitHistory 48

Bảng 3-4 Bảng EmployeeUnit 48

Bảng 3-5 Bảng EmployeePosition 49

Bảng 3-6 Bảng EmloyeeLevel 49

Bảng 3-7 Bảng EmployeeAttrition 49

Bảng 3-8 Bảng Employee 50

Bảng 3-9 Bảng AttritionReason 51

Bảng 3-10 Bảng UnitType 51

Bảng 3-11 Bảng FactResourceWeek 52

Bảng 3-12 Bảng FactResourceMonth 53

Bảng 3-13 Bảng FactNewHire 53

Bảng 3-14 Bảng FactAtrition 53

Bảng 3-15 Bảng DimWeek 54

Bảng 3-16 Bảng DimUnit 54

Trang 12

Bảng 3-17 Bảng DimPosition 55

Bảng 3-18 Bảng DimMonth 55

Bảng 3-19 Bảng DimEmployee 56

Bảng 3-20 Bảng DimDate 56

Bảng 3-21 Bảng DimAttritionReason 57

Trang 13

DANH MỤC HÌNH ẢNH

Hình 2-1 Các thành phần của kho dữ liệu [11] 6

Hình 2-2 Bảng sự kiện (tác giả) 9

Hình 2-3 Bảng chiều dữ liệu (tác giả) 10

Hình 2-4 Chuyển dữ liệu từ hệ thống điều hành sang môi trường kho dữ liệu không chỉ đơn thuần là việc trích xuất dữ liệu [15] 12

Hình 2-5 Dữ liệu từ các ứng dụng khác nhau cực kỳ rời rạc [15] 12

Hình 2-6 Chuyển đổi dữ liệu từ các hệ thống hiện tại sang môi trường kho dữ liệu một cách hợp lý thì nó sẽ được tích hợp [15] 13

Hình 2-7 Các thực thể và các mối quan hệ [15] 14

Hình 2-8 Mỗi thực thế trong mô hình ERD sẽ được xác định bằng mô hình DIS [15] 14

Hình 2-9 Các quan hệ trong ERD sẽ được phản ánh bằng các kết nối trong DIS [15] 15

Hình 2-10 Các đầu vào của bảng được trình bày bằng hai giao tác [15] 16

Hình 2-11 Các yếu tố thiết kế liên quan đến hiệu suất [15] 16

Hình 2-12 Môi trường đọc ghi dữ liệu [15] 17

Hình 2-13 Sơ đồ hình sao (star schema) [3] 19

Hình 2-14 Sơ đồ bông tuyết (Snowflake schema) [3] 20

Hình 2-15 Sơ đồ chòm sao sự kiện (Fact constellations schema) [3] 21

Hình 2-16 Cách tiếp cân ETL với tầng dữ liệu trung gian [13] 27

Hình 2-17 Cách tiếp cân ETL không có tầng dữ liệu trung gian [13] 28

Hình 2-18 Cách tiếp cân ELT cho phép việc chuyến đối dữ liệu trên máy chủ kho dữ liệu [13] 29

Hình 2-19 Ví dụ khối 3 chiều 38

Hình 3-1 Sơ đồ kho dữ liệu ban đầu dạng cơ sở dữ liệu quan hệ 46

Hình 3-2 Sơ đồ Headcount datamart 52

Hình 3-3 Thiết kế nhóm kỹ năng của nhân viên [11] 57

Hình 3-4 Thiết kế bảng sự kiện và bảng chiều nhân viên [10] 57

Trang 14

Hình 3-5 Thiết kế Data Source View 58

Hình 3-6 Thiết kế khối dữ liệu 58

Hình 3-7 Thiết kế Calcutated Members 59

Hình 3-8 Cây phân tích có thể mở rộng và thu gọn các đơn vị theo phân cấp dự án 59

Hình 3-9 Biểu đồ so sánh Headcount của các group trong công ty 60

Hình 3-10 Biểu đồ Headcount của các trung tâm trực thuộc khi click vào nhóm 1 60 Hình 3-11 Xu hướng số lượng nhân viên mới vào và nhân viên nghỉ việc theo tuần 61

Hình 3-12 Biểu đồ cột kết hợp hiện thị song song số lượng và tỷ lệ phần trăm nhân viên Billable 61

Hình 3-13 Biểu đồ đường thẳng Headcount của toàn công ty, Headcount và Billable của trung tâm 62

Hình 3-14 Tùy chỉnh phần giải thích của biểu đồ 62

Hình 3-15 Tùy chỉnh dạng thể hiện của biểu đồ 62

Hình 3-16 Lọc (filter) các giá trị trong biểu đồ 63

Hình 3-17 Drill down biểu đồ xuống các cây phân cấp của dự án 63

Hình 3-18 Sắp xếp thứ tự trình bày các thành phần biểu đồ theo giá trị 64

Trang 15

DANH MỤC CHỮ VIẾT TẮT

BI Business Intelligent (Trí tuệ kinh doanh)

DSS Decision Support System (Hệ hỗ trợ ra quyết định)

DM Data Mart (Siêu thị dữ liệu)

DW Data warehouse (Kho dữ liệu)

Trang 16

CHƯƠNG 1 TỔNG QUAN

1.1 Tóm tắt đề tài

Đề tài tìm hiểu các đặc tính của kho dữ liệu cơ sở dữ liệu đa chiều, kiến trúc khối Từ đó xây dựng một kho dữ liệu với cơ sở dữ liệu đa chiều về nhân sự của một công ty gia công phần mềm Tiếp theo đề tài trực quan hóa cơ sở dữ liệu này theo từng cấp dự án (project) Kết quả thực tế của đề tài là một hệ thống cung cấp thông tin trực quan về nhân sự cho các cấp quản lý Hệ thống này bao gồm các biểu

đồ, báo cáo… đa chiều, có thể tương tác được (chọn dạng thức hiển thị biểu đồ, chọn loại thông tin, lọc dữ liệu, sắp xếp (order), đi sâu vào chi tiết hoặc tổng hợp lên theo nhiều chiều (drill down và roll up)…)

1.2 Giới hạn nghiên cứu

 Đề tài được thực hiện tại một công ty gia công phần mềm lớn Do nhu cầu bảo mật của công ty, xin được phép ẩn danh công ty được sử dụng trong nghiên cứu này, và gọi tắt là công ty

 Đề tài thu thập dữ liệu về nhân sự trong từng dự án: những nhân viên đang làm, những nhân viên được khách hàng trả lương (billable) [*], và những nhân viên không được khách hàng trả lương (non billable, backup)[*], những nhân viên nghỉ việc, những nhân viên mới vào Hệ thống cấp bậc quản lý từ trên xuống dưới gồm: công ty, nhóm các trung tâm gia công phần mềm, trung tâm gia công phần mềm, chương trình, dự án

1.3 Phương pháp nghiên cứu

Đầu tiên, đề tài sử dụng phương pháp thu thập thông tin và thống kê Sau đó,

đề tài sử dụng các phương pháp chính là phương pháp thực nghiệm khoa học và phương pháp phân tích tổng kết kinh nghiệm thực tiễn

1.4 Bố cục báo cáo luận văn

Chương đầu tiên nêu tổng quan về luận văn, gồm có tóm tắt đề tài, giới hạn nghiên cứu, phương pháp nghiên cứu

Chương 2 nêu cơ sở lý thuyết về kho dữ liệu và cơ sở dữ liệu đa chiều, trong

đó bao gồm khái niệm, các mục tiêu, các thành phần, việc thiết kế kho dữ liệu, các

Trang 17

phương pháp nạp dữ liệu cho kho dữ liệu, mô hình hóa đa chiều và các loại mô hình

đa chiều

Chương 3 nêu yêu cầu của hệ thống, thiết kế kho dữ liệu ban đầu dạng cơ sở

dữ liệu quan hệ, rồi chuyển sang dạng cơ sở dữ liệu đa chiều, hiện thực chuyển đổi thành các khối dữ liệu, trực quan hóa dữ liệu nhân sự trong các cấp dự án và kết quả

là các biểu đồ, báo cáo động

Chương cuối cùng nêu kết luận, hạn chế, đánh giá và hướng phát triển của luận văn

Trang 18

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.1 Kho dữ liệu

2.1.1 Khái niệm

Định nghĩa về kho dữ liệu lần đầu được Bill Inmon phát biểu “Kho dữ liệu là một tập hợp dữ liệu hướng chủ đề, tích hợp, cập nhật theo thời gian và ổn kiên định, nhằm hỗ trợ quá trình ra quyết định” [15] Inmon giải thích cụ thể:

Hướng chủ đề (Subject-Oriented): Các hệ thống xử lý giao dịch trực tuyến có thể chứa khối lượng lớn dữ liệu, tuy nhiên những số liệu này có thể hoàn toàn không có ích trong việc phân tích trực tuyến (VD: diễn giải, mã số nhân viên ) Các dữ liệu kiểu này sẽ không được đưa vào kho dữ liệu để hạn chế

dữ liệu cần xem xét xuống mức tối thiểu nhưng cũng bảo đảm các thông tin theo từng vùng chủ đề (Subject area) Một vùng chủ đề là một chủ đề được tách ra từ một tập hợp lớn các chủ đề mà người sử dụng quan tâm trong quá trình kinh doanh (Ví dụ nhân viên, thời gian hay dự án)

Tích hợp (Integrated):có nghĩa là dữ liệu được thu thập trong kho dữ liệu có

thể đến từ nhiều nguồn khác nhau, nhưng được kết hợp thành một đơn vị hợp

lý và có liên quan mật thiết với nhau Ví dụ: dữ liệu có thể lấy từ bộ phận Marketing và Sales để đưa vào kho dữ liệu thành doanh thu hàng năm

Cập nhật theo thời gian (Time-Variant): Yêu cầu quan trong cho kho dữ liệu

là phạm vi về thời gian dài hơn so với các hệ thống tác nghiệp Kho dữ liệu lưu trữ dữ liệu trong quá khứ cũng như hiện tại để hỗ trợ các quyết định kinh doanh trong tương lai Dữ liệu quá khứ sẽ trợ giúp trong việc xác định các mẫu dữ liệu đưa đến một số quyết định kinh doanh nào đó Nó phụ thuộc vào người quản trị và nhà quản lý doanh nghiệp về việc quyết định cách lưu trữ dữ liệu trong kho dữ liệu trong bao lâu Yếu tố thời gian được lưu trữ trong CSDL

Ồn định (Non-Volatile): việc cập nhật dữ liệu được lưu trữ trong kho dữ liệu

sẽ không diễn ra, mà thay vào đó là các thông tin được tổ chức để lưu trữ các thay đổi của dữ liệu đó Dữ liệu trong kho dữ liệu được sử dụng cho việc phân

Trang 19

tích nên các thao tác xóa hay cập nhật dữ liệu có thể làm ảnh hưởng tới việc phân tích này Vì vây, nói chung là dữ liệu trong kho dữ liệu không bao giờ được xóa bỏ hay cập nhật Bất cứ khi nào một trường cụ thể hoặc mục dữ liệu được cập nhật tại nguồn thì phiên bản mới của nó được lưu trữ trong kho dữ liệu để vô hiệu phiên bản dữ liệu cũ

Ralph Kimball đưa ra một định nghĩa đơn giản hơn, như đề cập trong cuốn

“The Data Warehouse Toolkit”: kho dữ liệu là một nơi sao lưu dữ liệu tác nghiệp, nhưng được cấu trúc đặc thù để phục vụ cho việc truy vấn và phân tích [11] Định nghĩa này ít đi vào chi tiết hơn định nghĩa của Inmon, nhưng vẫn bảo đảm tính tổng quát của kho dữ liệu

2.1.2 Sự khác nhau của cơ sở dữ liệu tác nghiệp và kho dữ liệu

Thông thường, khi tin học hóa hoạt động quản lý một tổ chức, người ta thường xây dựng CSDL cho các hoạt động quản lý nghiệp vụ thường xuyên của tổ chức

và ta có được CSDL tác nghiệp Hệ thống thông tin tác nghiệp với các dữ liệu tác nghiệp có các đặc điểm sau đây:

 Trợ giúp cho công việc hàng ngày

 Lưu các dữ liệu hiện thời, phản ánh trạng thái của công việc

 Hoạt động của hệ thống thường đơn giản, giới hạn trong một phạm vi nghiệp

vụ đã được xác định, và hoạt động chủ yếu là cập nhật dữ liệu

 Xử lý thông tin hướng đến việc xử lý nhanh các tác vụ đã được xác định trước

 Người dùng là người làm công việc cụ thể, ở mức độ chi tiết như thư ký,nhân viên bán hàng, thủ kho,…

 Thiết kế thường khó hiểu (các bảng dữ liệu phải đạt chuẩn 3 trở lên) đối với người dùng và che dấu đi những quan hệ trực quan của đời thường

Trong khi đó kho dữ liệu chủ yếu trợ giúp quá trình phân tích và ra

quyết định cần có các tính chất sau:

 Trợ giúp quá trình quản lý và điều hành công việc

 Lưu các dữ liệu mang tính lịch sử, thể hiện cách nhìn ổn định của công việc trong một giai đoạn hay các thời điểm trong quá khứ

Trang 20

 Được tối ưu hóa cho việc truy vấn, với câu hỏi đã xác định trước hay được thiết lập theo yêu cầu người sử dụng

 Người dùng là những nhà quản lý, phân tích, dự báo hay đánh giá công việc

và ra quyết định, các yêu cầu thường đa dạng và có tính nghiệp vụ chuyên ngành

 Dữ liệu được thiết kế dễ hiểu và dễ sử dụng đối với người dùng

2.1.3 Các mục tiêu của kho dữ liệu

Trước khi đi vào chi tiết của các thành phần kho dữ liệu, chúng ta sẽ tìm hiểu

về các mục tiêu cơ bản của kho dữ liệu Các vấn đề nảy sinh có thể xảy ra là:

 Chúng ta có cả núi dữ liệu nhưng không thể truy cập được

 Chúng ta cần cắt và chia nhỏ dữ liệu bằng mọi cách

 Mọi người có thể dễ dàng lấy dữ liệu một cách trực tiếp

 Chỉ cho biết những thành phần quan trọng

 Ngăn chặn việc diễn giải cùng một vấn đề mà khác nhau các con số

 Chúng ta muốn mọi người sử dụng thông tin để hỗ trợ việc ra quyết định Như vậy, với các yêu cầu về công việc như trên, chúng ta sẽ chuyển đổi thành các yêu cầu của một kho dữ liệu Các mục tiêu này được phát triển dựa trên các yêu cầu và việc quản lý kinh doanh

 Truy cập dễ dàng: Thông tin lưu trữ trong kho dữ liệu phải trực quan và dễ hiểu với người dùng Dữ liệu nên được trình bày thông qua các tên gọi quen thuộc và gần gũi với nghiệp vụ của người dùng Tốc độ truy cập kho dữ liệu phải nhanh Do phải xử lý một số lượng bản ghi lớn cùng một lúc nên đây là một trong những yêu cầu cơ bản cần phải có của một kho dữ liệu

 Thông tin nhất quán: Dữ liệu trong một kho dữ liệu thường đến từ nhiều nguồn khác nhau Do vậy trước khi được đưa vào kho dữ liệu dữ liệu cần phải được làm sạch và đảm bảo về chất lượng Việc làm sạch sẽ giúp cho việc đồng nhất dữ liệu trở nên dễ dàng Một nguyên tắc được đặt ra cho qúa trình này là: Nếu dữ liệu có cùng tên thì bắt buộc phải chỉ đến cùng một địa chỉ Nếu dữ liệu chỉ đến các thực thể khác nhau thì phải được đặt tên khác nhau

Trang 21

 Thích nghi với sự thay đổi: kho dữ liệu cần phải được thiết kế để xử lý những thay đổi có thể xảy ra, vì thay đổi là điều không thể tránh khỏi cho bất cứ ứng dụng nào Nói vậy có nghĩa là khi có thay đổi mới dữ liệu cũ trong kho dữ liệu vẫn phải đảm bảo tính đúng đắn

 Hỗ trợ ra quyết định: Đây là mục tiêu quan trọng nhất của doanh nghiệp khi xây dựng kho dữ liệu Những người quản lý doanh nghiệp muốn dưa vào thông tin để từ đó đưa ra những chiến lựơc góp phần đem lại kết quả kinh doanh tốt nhất

 Bảo mật: Dữ liệu trong kho dữ liệu đến từ nhiều nguồn khác nhau Vì vậy việc đảm bảo thông tin không bị lộ ra ngoài là một điều vô cùng quan trọng

2.1.4 Các thành phần của một kho dữ liệu:

Hình 2-1 Các thành phần của kho dữ liệu [11]

Có bốn thành phần riêng rẽ và phân biệt sẽ được trình bày trong môi trường kho dữ liệu, đó là: hệ thống nguồn dữ liệu, khu vực tầng dữ liệu, khu vực trình bày

dữ liệu và các công cụ trình bày dữ liệu

Hệ thống nguồn dữ liệu (Operational Source Systems):

Trang 22

Các nguồn dữ liệu thường nằm trong hệ thống xử lý giao dịch trực tuyến

OLTP (On-Line Transaction Processing ), hay còn go ̣i là TPS (Transaction Processing Systems)

o Hiê ̣u suất và tính sẵn sàng ở mức đô ̣ cao

o Thường truy vấn mô ̣t bảng ghi ta ̣i mô ̣t thời điểm (one-record-at a time), có thể hiểu là truy vấn tại một thời điểm nhấ t định

o Đây là hoa ̣t đô ̣ng thông thường của các tổ chức

o Với mô ̣t hê ̣ thống OLTP thì đáng tin câ ̣y và phù hợp , nhưng giữa các

hê ̣ thống OLTP khác nhau thường có những xung đô ̣t nhất đi ̣nh

o Các loại định dạng dữ liệu và cấu trúc dữ liê ̣u khác nhau trong các hê ̣ thống OLTP khác nhau

Theo giả đi ̣nh của Kimball và cô ̣ng sự thì:

- Hệ thống nguồn không đươ ̣c truy vấn rô ̣ng và đô ̣t xuất

- Duy trì dữ liê ̣u li ̣ch sử rất ít (dữ liê ̣u quá khứ, hiê ̣n ta ̣i…)

Khu vực tầng dữ liệu (Data Staging Area):

Khu vực tầng dữ liệu của kho dữ liệu là nơi diễn ra việc lưu trữ và cả quá trình

xử lí phổ biến như là trích xuất – chuyển đổi – nạp dữ liệu Khu vực tầng dữ liệu gồm tất cả các thành phần giữa các hệ thống nguồn dữ liệu và khu vực trình bày dữ liệu Trong kho dữ liệu, dữ liệu làm việc thô được chuyển đổi vào kho dữ liệu để chuyển giao cho người sử dụng có yêu cầu truy vấn và sử dụng

Do đó, người sử dụng sẽ không được phép truy cập vào khu vực tầng dữ liệu này Khu vực tầng dữ liệu bị chi phối bởi các hoạt động đơn giản là phân loại

và xử lý tuần tự Đôi khi khu vực tầng dữ liệu không dựa trên công nghệ liên quan mà thay vào đó là bao gồm một hệ thống các tập tin Sau khi xác nhận dữ liệu cho phù hợp với những quy tắc công việc được định nghĩa là một –nhiều

và một – một, thì bước cuối cùng trong việc xây dựng một cơ sở dữ liệu vật lý chuẩn 3 đầy đủ là vô nghĩa

Trình bày dữ liệu (Data Presentation):

Khu vực trình bày dữ liệu là nơi dữ liệu được tổ chức, lưu trữ và sẵn có cho các truy vấn trực tiếp của người dùng, các báo cáo và các ứng dụng phân tích

Trang 23

khác Vì khu vực tầng dữ liệu là khu vực phía sau nên khu vực trình bày dữ liệu sẽ là kho dữ liệu cho các công việc xử lý liên quan Đó là tất cả những thứ

mà việc xử lý dữ liệu cần quan tâm thông qua các công cụ truy cập dữ liệu Có thể xem khu vực trình bày như là một loạt các khối dữ liệu tích hợp lại Với hình thức đơn giản nhất, một siêu thị dữ liệu (data mart) trình bày dữ liệu từ một quy trình công việc đơn giản

Mô hình đa chiều là một tên mới cho một kỹ thuật cũ làm cho cơ sở dữ liệu đơn giản và dễ hiểu Bắt đầu từ những năm 1970, các tổ chức, công ty tư vấn, người dùng và các nhà cung cấp CNTT đã hướng về một cấu trúc chiều đơn giản để làm cho các nhu cầu cơ bản của con người phù hợp với sự đơn giản

Mô hình chuẩn hóa là vô cùng hữu ích cho việc xử lí các công việc điều hành bởi vì một giao dịch thêm hoặc cập nhật chỉ cần tác động vào cơ sở dữ liệu ở một nơi Tuy nhiên, các mô hình chuẩn hóa là quá phức tạp đối với dữ liệu kho cho việc thực hiện truy vấn.Người dùng không thể hiểu, xác định hoặc ghi nhớ các mô hình chuẩn hóa tương tự như hệ thống đường giao thông.Việc sử dụng các mô hình chuẩn hóa trong khu vực trình bày dữ liệu của kho dữ liệu sẽ phá toàn bộ mục đích của kho dữ liệu, cụ thể là, truy vấn dữ liệu trực quan và hiệu suất cao

Thay vào đó, mô hình đa chiều giải quyết các vấn đề về lược đồ phức tạp trong khu vực trình bày dữ liệu Một mô hình đa chiều chứa các thông tin giống như một mô hình chuyển hóa, như gói dữ liệu trong định dạng thiết kế với mục tiêu là làm cho người dùng dễ hiểu, tăng hiệu suất truy vấn và thay đổi linh hoạt

Trong mô hình đa chiều có hai thuật ngữ hay được sử dụng, đó là bảng sự kiện (fact tables) và bảng chiều dữ liệu (dimension tables)

Bảng sự kiện (fact tables): một bảng sự kiện là một bảng chính trong mô

hình đa chiều có chức năng lưu trữ các dữ liệu tổng hợp cho quá trình hoạt động Người dùng cố gắng để lưu trữ dữ liệu tổng hợp từ kết quả của một quá trình công việc trong một siêu thị dữ liệu đơn lẻ Bởi vì dữ liệu tổng hợp đa phần là lớn nhất trong bất kỳ siêu thị dữ liệu nào nên cần tránh việc lặp lại ở nhiều nơi khác

Trang 24

Hình 2-2 Bảng sự kiện (tác giả)

Việc sử dụng thuật ngữ sự kiện là để trình bày độ lớn của dữ liệu Chúng ta có

thể tưởng tượng là từ một thị trường biết được bán ra với số lượng bao nhiêu và doanh số mỗi ngày cho mỗi sản phẩm trong mỗi cửa hang như thế nào Độ lớn dữ liệu được thực hiện tại các giao điểm của tất cả các chiều (ngày, sản phẩm và cửa hàng) Danh sách các chiều sẽ xác định đặc tính của bảng sự kiện tổng hợp và cho

ta biết phạm vi của công việc là gì

Bảng chiều dữ liệu (dimension tables):

Trang 25

Hình 2-3 Bảng chiều dữ liệu (tác giả)

Bảng chiều dữ liệu là bảng luôn đồng hành không thể tách rời với bảng sự kiện Bảng chiều dữ liệu chứa các mô tả văn bản của công việc Trong một mô hình

đa chiều, bảng chiều dữ liệu sẽ có nhiều cột hay nhiều thuộc tính Những thuộc tính này mô tả các hàng trong bảng chiều dữ liệu.Trong bảng chiều dữ liệu chiều, càng nhiều mô tả văn bản càng tốt Bảng dữ liệu chiều ít khi có hơn 50 thuộc tính Kích thước bảng chiều dữ liệu thường ít về số hàng (ít hơn một triệu hàng rất nhiều), nhưng có nhiều cột thuộc tính Mỗi chiều được xác định bởi khóa chính duy nhất của nó, được ký hiệu là PK (primary key) và là khóa ngoại cho bảng sự kiện tổng hợp nào kết hợp với nó

Thuộc tính của bảng chiều dữ liệu đóng vai trò quan trọng trong kho dữ liệu Bởi vì chúng là nguồn của hầu hết mọi ràng buộc và dữ liệu báo cáo, nên chúng là chìa khóa làm cho kho dữ liệu dễ hiểu và dễ sử dụng Sức mạnh của kho dữ liệu là tỉ

lệ thuận với chất lượng và chiều sâu của các thuộc tính của bảng chiều dữ liệu Thời

Trang 26

gian dành cho việc cung cấp các thuộc tính với mô tả kỹ thuật rõ ràng càng nhiều thì kho dữ liệu càng tốt Thời gian dành cho việc tính toán giá trị trong một cột thuộc tính càng nhiều thì kho dữ liệu càng tốt Thời gian dành cho việc đảm bảo chất lượng giá trị trong một cột thuộc tính càng nhiều thì kho dữ liệu càng tốt

Công cụ truy cập dữ liệu (Data Access Tools):

Thành phần cuối cùng trong môi trường kho dữ liệu là các công cụ truy cập dữ liệu Việc sử dụng thuật ngữ công cụ là để đề cập đến sự đa dạng về khả năng

có thể được cung cấp cho người dùng để tác động lên khu vực trình bày dữ liệu cho quá trình phân tích ra quyết định Theo định nghĩa, tất cả các công cụ truy cập dữ liệu truy vấn dữ liệu từ khu vực trình bày của kho dữ liệu Rõ ràng, việc truy vấn là toàn bộ vấn đề trong việc sử dụng kho dữ liệu

Một công cụ truy cập dữ liệu có thể đơn giản như một công cụ truy vấn chuyên biệt hoặc phức tạp như một mô hình khai thac dữ liệu hoặc mô hình ứng dụng Các công cụ truy vấn đặc biệt có thể được hiểu và sử dụng có hiệu quả chỉ với một nhỏ tỷ lệ người dùng nhỏ hẹp trong kho dữ liệu tiềm năng Phần lớn người dung mong muốn truy cập dữ liệu thông qua các ứng dụng với tham số có sẵn Một

số các công cụ truy cập dữ liệu phức tạp hơn, như các công cụ dự báo hoặc mô hình, thực sự có thể nạp kết quả của chúng trở lại vào khu vực nguồn dữ liệu hệ thống hoặc các khu vực tầng dữ liệu/ trình bày dữ liệu của kho dữ liệu

2.1.5 Mô hình dữ liệu và việc thiết kế kho dữ liệu:

Có hai yếu tố chính trong việc xây dựng một kho dữ liệu: thiết kế giao diện

từ các hệ thống vận hành và thiết kế bản thân kho dữ liệu Kho dữ liệu được xây dựng theo phong cách cải tiến, nghĩa là một gia đoạn phát triển mới dựa vào kết quả đạt được từ các giai đoạn trước đó Đầu tiên, một phần dữ liệu được xác định Sau

đó nó được sử dụng và xem sét kỹ lưỡng bởi các nhà phân tích hệ hỗ trợ ra quyết định Tiếp theo, dựa trên thông tin phản hồi từ người dùng cuối, dữ liệu được sửa đổi hoặc các dữ liệu khác được thêm vào Sau đó, các phần khác của kho dữ liệu được xây dựng và cứ như thế Như thế, vòng lặp thông tin phản hồi sẽ được tiếp tục trong suốt toàn bộ sự tồn tại của kho dữ liệu Do đó, kho dữ liệu không thể thiết kế như các hệ thống yêu cầu hướng cổ điển được [15]

Trang 27

Dữ liệu điều hành: Ban đầu, dữ liệu hướng giao dịch điều hành bị khóa trong các hệ thống kế thừa hiện tại Mặc dù chúng ta nghĩ rằng việc tạo các kho dữ liệu chỉ đơn thuần liên quan đến việc lấy dữ liệu hoạt động này ra và nạp vào kho dữ liệu Việc chỉ lấy dữ liệu từ môi trường kế thừa và đặt nó trong kho dữ liệu đạt được rất ít hiệu quả cho kho dữ liệu

Hình 2-4 Chuyển dữ liệu từ hệ thống điều hành sang môi trường kho dữ liệu không

chỉ đơn thuần là việc trích xuất dữ liệu [15]

Hình 2-5 Dữ liệu từ các ứng dụng khác nhau cực kỳ rời rạc [15]

Hình 2.5 cho thấy thiếu sự tích hợp trong môi trường hệ thống hiện hành tiêu biểu Lấy dữ liệu vào kho dữ liệu mà không cần tích hợp nó là một sai lầm cơ bản Một ví dụ đơn giản của sự thiếu tích hợp dữ liệu là việc mã hóa không nhất quán, như thể hiện bởi việc mã hóa giới tính Trong một ứng dung, giới tính mã hóa

là 1/0 Ứng dụng khác nó được mã hóa là x/y Trong một ứng dung khác nữa, được

mã hóa như m/f Tất nhiên, việc mã hóa giới tính là không quan trọng nếu như nó

được thực hiện nhất quán Khi dữ liệu đi vào kho dữ liệu, các giá trị khác nhau của kho ứng dụng phải được giải mã một cách chính xác và ghi nhận lại với một giá trị thích hợp

Trang 28

Một ví dụ khác, hãy xem xét bốn ứng dụng có cùng trường pipeline.Trường

pipeline được đo bằng các đơn vị khác nhau Trong một ứng dụng được đo bằng

cm, trong khi ứng dụng khác là inch, v v Trong kho dữ liệu thì trường pipeline

đo như thế nào là không quan trọng miễn là nó được đo nhất quán Khi mỗi ứng dụng chuyển dữ liệu của nó cho kho dữ liệu, các phép đo của trường pipeline được chuyển đổi thành một đơn vị đo nhất quán

Hình 2-6 Chuyển đổi dữ liệu từ các hệ thống hiện tại sang môi trường kho dữ liệu

một cách hợp lý thì nó sẽ được tích hợp [15]

Có ba cấp độ của mô hình dữ liệu: mô hình cao cấp (còn gọi là mức độ quan

hệ thực thể), mô hình cấp trung (còn gọi là mục dữ liệu) và mô hình cấp thấp (còn gọi là mô hình vật lý)

 Mô hình dữ liệu cấp cao: Mô hình cấp cao đề cao mối quan hệ và các thực thể như hình 2.7 sau đây Tên của thực thể được bao quanh bởi một hình bầu dục Mối quan hệ giữa các thực thể được mô tả bằng các đường mũi tên Hướng và

số lượng mũi tên cho biết lượng của mối quan hệ và chỉ có mối quan hệ được trực tiếp chỉ ra Các phụ thuộc ngầm định sẽ được giảm thiểu khi làm theo cách như vậy

Trang 29

Hình 2-7 Các thực thể và các mối quan hệ [15]

 Mô hình dữ liệu cấp trung: Sau khi mô hình dữ liệu cấp cao đƣợc tạo ra, cấp

độ tiếp theo đƣợc thành lập, đó là mô hình dữ liệu cấp trung hay gọi là DIS Trong hình 2.8, đối với mỗi thực thể đƣợc xác định trong các mô hình dữ liệu cấp cao thì sẽ có một mô hình dữ liệu cấp trung đƣợc tạo ra Mô hình dữ liệu cấp cao xác định bốn thực thể Mỗi khu vực sau đó đƣợc phát triển thành mô hình cấp trung của riêng nó

Hình 2-8 Mỗi thực thế trong mô hình ERD sẽ được xác định bằng mô hình DIS [15]

Trang 30

Khi một quan hệ được xác định trong mô hình ERD thì nó sẽ được trình bày bằng một cặp quan hệ kết nối ở mô hình DIS Một trong các cặp quan hệ đó sẽ được chỉ ra trong hình 2.9 sau đây

Hình 2-9 Các quan hệ trong ERD sẽ được phản ánh bằng các kết nối trong DIS [15]

Trong mô hình ERD, một quan hệ giữa customer và account được xác định Trong mô hình DIS cho account ,tồn tại một kết nối bên dưới account Điều này chỉ

ra rằng một account có thể có nhiều customer gắn kết với nó Trong mô hình DIS này, không có kết nối tương ứng bên dưới customer Ở đây sẽ có một kết nối tới

account, chỉ ra rằng một customer có thể có 1 hay nhiều account

Mô hình dữ liệu vật lý: Các mô hình dữ liệu vật lý được tạo ra từ mô hình dữ

liệu cấp trung chỉ bằng việc mở rộng mô hình dữ liệu cấp trung thêm vào khóa

và các đặc tính vật lý của mô hình đó Tại thời điểm này, mô hình dữ liệu vật

lý trông giống như một loạt các bảng, được gọi là bảng quan hệ

Trang 31

Hình 2-10 Các đầu vào của bảng được trình bày bằng hai giao tác [15]

Mặc dù có thể nói rằng các bảng đã sẵn sàng để cụ thể hóa vào thiết kế cơ sở

dữ liệu vật lý, nhưng vẫn còn lại một bước thiết kế cuối cùng, đó là tính đến đặc tính hiệu suất Với kho dữ liệu, bước đầu tiên làm như thế là mang tính quyết định trên việc kết tinh dữ liệu và phân hoạch dữ liệu Điều này rất quan trọng

Sau khi việc kết tinh dữ liệu và phân hoạch được tính đến, một loạt các thiết

kế vật lý khác được đưa vào thiết kế, như đã nêu trong hình 2.11 Điều quan tâm nhất trong thiết kế cần cân nhắc là sử dụng việc đọc ghi vật lý I/O (đầu vào/đầu ra) Việc đọc ghi vật lý I/O là hoạt động đưa dữ liệu vào máy tính hay gửi dữ liệu ra ngoài để lưu trữ Một trường hợp đọc ghi I/O đơn giản được thể hiện trong hình 2.12

Hình 2-11 Các yếu tố thiết kế liên quan đến hiệu suất [15]

Trang 32

Hình 2-12 Môi trường đọc ghi dữ liệu [15]

Công việc của các nhà thiết kế kho dữ liệu là để tổ chức dữ liệu vật lý cho việc trả về số lượng tối đa các bản ghi từ việc thực hiện đọc ghi vật lý I/O Ví dụ, giả sử một lập trình viên phải lấy năm bản ghi dữ liệu Nếu các bản ghi này được tổ chức thành các khối dữ liệu khác nhau trong việc lưu trữ, thì năm thao tác đọc ghi sẽ được thực hiện Nhưng nếu các nhà thiết kế có thể dự đoán trước rằng các bản ghi này sẽ cần thiết thành như một nhóm và có thể đặt cạnh nhau vào cùng một khối, thì chỉ cần một thao tác đọc ghi là đủ, do đó làm cho chương trình chạy nhanh hơn nhiều

2.2 Cơ sở dữ liệu đa chiều

Để có thể trực quan hóa cơ sở dữ liệu đa chiều, trước tiên cần tìm hiểu lý thuyết về các đặc tính của cơ sở dữ liệu đa chiều Từ đó xây dựng một kiến trúc khối về dữ liệu nhân sự của công ty

2.2.1 Mô hình đa chiều

Môi trường hoạt động của kho dữ liệu rất khác so với các hệ thống giao dịch hoặc tác nghiệp Vì thế nó cũng yêu cầu các phương pháp khác cho thiết kế cơ sở

dữ liệu Kimball đề nghị hai quy tắc cơ bản cho việc thiết kế:

 Khả năng truy xuất của người dùng cuối (tính rõ ràng của cấu trúc cơ sở dữ liệu): Trong kho dữ liệu, người dùng truy xuất dữ liệu trực tiếp sử dụng các công cụ truy vấn và phân tích với giao diện thân thiện Điều này có nghĩa là người dùng cần hiểu dữ liệu có ý nghĩa như thế nào để họ sử dụng hiệu quả

 Tính chỉ đọc: Trong kho dữ liệu, người dùng có thể truy xuất dữ liệu nhưng không thể hiệu chỉnh nó Ngược lại với trong môi trường tác nghiệp, nơi người

Trang 33

dùng có thể hiệu chỉnh dữ liệu trực tuyến Đối với hầu hết các yêu cầu thực tế,

có thể xem kho dữ liệu là một cơ sở dữ liệu chỉ đọc, vì nó chỉ cập nhật dữ liệu thông qua quá trình chiết xuất, chuyển đổi và tải dữ liệu (Extract, Transform, Load)

Các kỹ thuật thiết kế truyền thống như mô hình quan hệ thực thể, mô hình chuẩn hóa được thiết kế chủ yếu cho việc lấy dữ liệu hiệu quả và tin cậy Tuy nhiên, những kỹ thuật này là một chướng ngại cho việc truy xuất dữ liệu Nguyên nhân là cấu trúc quá phức tạp cho người dùng hiểu và thao tác Thông thường một cơ sở dữ liệu quan hệ bao gồm nhiều bảng dữ liệu, được kết nối với nhau khá phức tạp mà hầu hết người dùng bình thường không thể hiểu được

Nguyên nhân chủ yếu dẫn đến sự phức tạp của cơ sở dữ liệu tác nghiệp là sử dụng chuẩn hóa cao Sự chuẩn hóa có xu hướng sinh ra nhiều bảng Nó giảm tối thiểu sự dư thừa dữ liệu và tăng hiệu quả cập nhật tối đa Nó cũng tăng cường tính toàn vẹn của dữ liệu bởi tránh được sự không nhất quán và ngăn chặn việc thêm, xóa, sửa bất hợp lý

Tuy nhiên cơ sở dữ liệu chuẩn hóa cao cũng có những nhược điểm Nó có xu hướng làm giảm tốc độ truy xuất dữ liệu bởi số lượng các kết nối rất lớn và phức tạp Vì vậy, việc chuẩn hóa dữ liệu sẽ tối ưu cho cập nhật hơn là truy xuất Bên cạnh

đó, kho dữ liệu là cơ sở dữ liệu chỉ đọc, chuẩn hóa không thực sự phù hợp cho thiết

kế kho dữ liệu

2.2.2 Mô hình hóa đa chiều:

Mô hình hóa đa chiều giải quyết những hạn chế của những phương pháp truyền thống cho kho dữ liệu Mô hình lần đầu tiên được định nghĩa bởi Kimball Đây là một kỹ thuật thiết kế cơ sở dữ liệu cho một kho dữ liệu cụ thể Mục tiêu của phương pháp là:

 Cấu trúc dữ liệu đơn giản cho người dùng dễ hiểu được và thao tác

 Tối ưu hiệu quả truy vấn dữ liệu (đối lập với tối ưu hiệu quả cập nhật)

Mô hình đa chiều là một thành phần then chốt trong kho dữ liệu, bởi vì nó cung cấp một phương pháp trình bày dễ hiểu và thao tác dễ dàng bởi người dùng

Trang 34

Mô hình đa chiều trở thành một phương pháp chiếm ưu thế trong thiết kế kho dữ liệu bởi những ưu điểm của nó so với những phương pháp truyền thống

2.2.3 Các loại mô hình đa chiều

 Sơ đồ hình sao (star schema): Một bảng sự kiện ở trung tâm được kết nối với một tập các bảng chiều

Hình 2-13 Sơ đồ hình sao (star schema) [3]

 Sơ đồ bông tuyết (Snowflake schema): Một mở rộng của sơ đồ hình sao trong

đó một vài cấu trúc chiều được chuẩn hóa thành một tập các bảng chiều nhỏ hơn, hình thức tương tự như bông tuyết

Trang 35

Hình 2-14 Sơ đồ bông tuyết (Snowflake schema) [3]

 Sơ đồ chòm sao sự kiện (Fact constellations schema): Bảng sự kiện phức chia

sẻ các bảng chiều, tạo khung nhìn một tập các “ngôi sao”, nên còn đƣợc gọi sơ

đồ ngân hà (galaxy schema) hoặc chòm sao sự kiện

Trang 36

Hình 2-15 Sơ đồ chòm sao sự kiện (Fact constellations schema) [3]

2.2.4 Các nguyên lý thiết kế mô hình đa chiều

2.2.4.1 Sử dụng khóa tạm (Surrogate Keys)

Sử dụng khóa tạm đóng vai trò là khóa chính của các bảng chiều là một nguyên lý thiết kế quan trọng khi xây dựng kho dữ liệu Khóa tạm là một thuộc tính

tự phát sinh (thường bắt đầu bằng 1 và tăng dần) mà không cần quan tâm đến ý nghĩa của nó Mục đính của nó là để tiết kiệm dung lượng lưu trữ trong kho dữ liệu bằng cách sử dụng các kiểu dữ liệu có dung lượng nhỏ

Ví dụ, trong sự kiện bán hàng, chúng ta có năm khóa ngoại bao gồm thời gian, kho, khách hàng, sản phẩm, nhân viên Trong đó, thời gian sử dụng loại dữ liệu thời gian (8 byte), 4 khóa còn lại sử dụng các khóa trong hệ thống nguồn với độ dài 15

ký tự (15 byte) Như vậy, tương ứng với một mẩu tin trong bảng sự kiện ta tốn 68 byte (15x4 + 8 byte cho khóa thời gian) Với 100 triệu mẩu tin, ta phải cần 6.5 GB cho lưu trữ thông tin Nếu sử dụng khóa tạm ta có thể giảm 20 byte cho mỗi khóa (5 integer), kết quả là chỉ tốn 1.9 GB

Bên cạnh đó, sử dụng khóa tạm còn có một số ưu điểm sau:

Trang 37

 Luôn luôn chỉ có một cột khóa duy nhất cho mỗi bảng chiều, vì thế chỉ số (index) khóa chính sẽ nhỏ hơn

 Chỉ số index ở dạng kiểu số nên nó có tốc độ truy cập nhanh hơn kiểu chuỗi hoặc kiểu thời gian

 Có thể lưu lại các giá trị lịch sử của dữ liệu bởi vì khóa tạm cho phép lưu trữ nhiều phiên bản của một đối tượng khi đối tượng được cập nhật bằng cách sinh thêm khóa tạm mới

 Khóa tạm cho phép giải quyết các quan hệ phức tạp, giá trị không rõ ràng và

dữ liệu không liên quan, vì thế có thể tránh được sử dụng phép outer joins trong truy vấn

Khóa tạm có thể được sinh bằng hai cách: sử dụng chức năng của hệ quản trị

cơ sở dữ liệu (auto- increment hoặc sequences) hoặc sử dụng công tụ ETL để sinh khóa tạm tự động

2.2.4.2 Cột kiểm soát (Audit Columns)

Trong kho dữ liệu, chúng ta nên sử dụng các cột kiểm soát để quản lý dữ liệu được tốt hơn Các cột này cho phép chúng ta theo dõi các dữ liệu quá khứ của tài nguyên nguồn và nói cho chúng ta biết thời gian chính xác khi một mẩu tin được thêm vào hoặc cập nhật Quy trình ETL quản lý tất cả các cập nhật dữ liệu trong kho, nhưng đôi khi chúng ta cũng cần thao tác thủ công để giải quyết vấn đề

Các cột kiểm soát thường có các dạng như sau:

 Insert timestamp

 Insert batch process

 Update timestamp

 Update batch process

2.2.4.3 Chiều thời gian (date dimension)

Chiều thời gian là một chiều quan trọng trong kho dữ liệu Hầu hết các kho dữ liệu điều tồn tại chiều thời gian Nó phản ảnh bản chất của các chiều trong kho dữ liệu về mặt thời gian

Chiều thời gian có thể được phân thành 4 nhóm như sau:

Trang 38

Date format: là những cột dạng ngày, chúng có nhiều định dạng khác nhau

như “14/02/2010” định dạng theo kiểu Date, “14-02-2010” định dạng theo kiểu Ansi date hoặc “02/17/2008 00:00:00.000” định dạng theo kiểu SQL

Calendar date attribute: dạng này chứa những thành phần của ngày như ngày,

tháng, năm

Fiscal attribute: chứa những thành phần của dạng ngày tài chính như fiscal

week, fiscal period, và fiscal year

Indicator columns: dạng này chứa những giá trị boolean được dùng để xác

định liệu ngày có thỏa một điều kiện nào đó không Ví dụ, trường holiday là 1 nếu là ngày nghỉ, ngược lại là 0

2.2.4.4 Quản lý thay đổi dữ liệu trên bảng chiều (Handling Dimension Changes)

Một trong những thách thức chính khi xây dựng kho dữ liệu là làm cách nào

để thích ứng với các thay đổi trong quá trình thao tác dữ liệu Một vài thay đổi thì thường xuyên xảy ra, một số khác thì hiếm khi xảy ra Một vài thay đổi thì ảnh hưởng trên một mẩu tin, một số khác thì ảnh hường trên toàn bộ bảng dữ liệu Một vài thay đổi thì có liên quan đến giá trị lịch sử, trong khi một số khác thì thay thế giá trị cũ Giải quyết vấn đề trên, nhiều chiến lược khác nhau đã được áp dụng và hình thức này gọi là quản lý thay đổi dữ liệu trên bảng chiều (Slowly Changes Dimension - SCD)

Sau đây là một số dạng SCD thường được sử dụng :

SCD 1: ghi chồng (overwrite)

SCD 1 là phương pháp ghi chồng dữ liệu mới lên dữ liệu cũ Vì thế, dạng SCD này không lưu trữ các giá trị lịch sử của dữ liệu

Đây là một ví dụ CSDL thông tin về nhân viên:

Bảng 2-1 Ví dụ CSDL thông tin nhân viên

NV_ID MaNV HoTen NoiSinh

1 3010213 Trịnh Q Bình Nguyên Bến Tre

2 1409187 Phan Thị Trúc Thành Cần Thơ

3 3010187 Trịnh Minh Trí Bac Lieu

Trang 39

Trong ví dụ này, MaNV là khóa ban đầu (natural key) và NV ID là khóa

tạm (Surrogate key) Bây giờ chúng ta giả sử rằng nhân viên có mã 1409187 thay

đổi nơi sinh từ cần Thơ thành Hậu Giang Khi đó dữ liệu mới sẽ ghi chồng lên dữ liệu cũ như sau:

Bảng 2-2 Bảng CSDL thông tin nhân viên sau cập nhật (SCD1)

NV_ID MaNV HoTen NoiSinh

1 3010213 Trịnh Q Bình Nguyên Ben Tre

2 1409187 Phan Thị Trúc Thành Hậu Giang

3 3010187 Trịnh Minh Trí Bac Lieu Bất lợi của dạng SCD 1 là không thể lưu trữ được các giá trị dữ liệu lịch sử trong kho dữ liệu Tuy nhiên, thuận lợi của nó là rất dễ dàng trong bảo trì

SCD 2: Add row (Thêm dòng)

Dạng SCD 2 cho phép theo dõi giá trị lịch sử của dữ liệu bởi có thể tạo ra nhiều mẩu tin cho một khóa ban đầu (nature keys) tương ứng với các khóa tạm riêng biệt và các phiên bản khác nhau của mẩu tin

Với dạng SCD 2, chúng ta không bị hạn chế lưu trữ các giá trị lịch sử trước đó của mẩu tin Nếu một mẩu tin được cập nhật trong dữ liệu nguồn, sau khi được cập nhật vào kho nó sẽ sinh một mẩu tin mới và đồng thời cập nhật lại trạng thái của mẩu tin cũ là 0 hoặc False để đánh dấu mẩu tin tạm thời ngưng sử dụng

Tương tự như ví dụ trên, nếu một nhân viên có mã 1409187 thay đổi nơi sinh

từ cần Thơ thành Hậu Giang thì dữ liệu sẽ giống như bảng phía dưới với số phiên bản mẩu tin tự động tăng sau mỗi lần thay đổi:

Bảng 2-3 Bảng CSDL thông tin nhân viên sau cập nhật (SCD2)

SCD 3: Thêm cột (Add column)

NV_ID MaNV HoTen NoiSinh TrangThai PhienBan

1 3010213 Trịnh Q Bình Nguyên Ben Tre 1 1

2 1409187 Phan Thị Trúc Thành Cần Thơ 0 1

3 3010187 Trịnh Minh Trí Bac Lieu 1 1

4 1409187 Phan Thị Trúc Thành Hậu Giang 1 2

Trang 40

Dạng SCD 3 cho phép theo dõi giá trị lịch sử trước đó bằng cách thêm một cột mới vào bảng chiều Ở dạng SCD 2 thì không hạn chế lưu trữ giá trị lịch sử, nhưng

ở dạng SCD 3 thì có hạn chế tùy thuộc vào số lượng cột được thiết kế cho lưu trữ các giá trị lịch sử

Khi dữ liệu thay đổi, các giá trị hiện tại được chép sang cột được thêm vào trong khi giá trị mới sẽ thay thế giá trị cũ tại cột hiện tại

Bảng 2-4 Bảng CSDL thông tin nhân viên sau cập nhật (SCD3)

SCD 4: Separate History Table (sử dụng bảng lịch sử)

Dạng SCD 4 sử dụng một bảng thêm vào gọi là “history table”, bảng này lưu trữ tất cả các mẩu tin được thay đổi Còn bảng hiện tại lưu trữ các giá trị đang sử dụng

NV_ID MaNV HoTen NoiSinhCurrent NoiSinhOriginal

1 3010213 Trịnh Q Bình Nguyên Ben Tre

2 1409187 Phan Thị Trúc Thành Hậu Giang Cần Thơ

3 3010187 Trịnh Minh Trí Bạc liêu

NV_ID MaNV HoTen NoiSinh

1 3010213 Trịnh Q Bình Nguyên Ben Tre

2 1409187 Phan Thị Trúc Thành Hậu Giang

3 3010187 Trịnh Minh Trí Bac Lieu

NV_ID MaNV HoTen NoỉSỉnh NGAYTAO

2 1409187 Phan Thị Trúc Thành Cần Thơ 14/02/2010

Ngày đăng: 26/01/2021, 14:03

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w