1. Trang chủ
  2. » Công Nghệ Thông Tin

Xây dựng kho dữ liệu quản lý thông tin dịch vụ khách hàng của Vinaphone (Luận văn thạc sĩ)

80 305 1
Tài liệu đã được kiểm tra trùng lặp

Đ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 80
Dung lượng 2,1 MB

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

Nội dung

Xây dựng kho dữ liệu quản lý thông tin dịch vụ khách hàng của VinaphoneXây dựng kho dữ liệu quản lý thông tin dịch vụ khách hàng của VinaphoneXây dựng kho dữ liệu quản lý thông tin dịch vụ khách hàng của VinaphoneXây dựng kho dữ liệu quản lý thông tin dịch vụ khách hàng của VinaphoneXây dựng kho dữ liệu quản lý thông tin dịch vụ khách hàng của VinaphoneXây dựng kho dữ liệu quản lý thông tin dịch vụ khách hàng của VinaphoneXây dựng kho dữ liệu quản lý thông tin dịch vụ khách hàng của VinaphoneXây dựng kho dữ liệu quản lý thông tin dịch vụ khách hàng của VinaphoneXây dựng kho dữ liệu quản lý thông tin dịch vụ khách hàng của VinaphoneXây dựng kho dữ liệu quản lý thông tin dịch vụ khách hàng của VinaphoneXây dựng kho dữ liệu quản lý thông tin dịch vụ khách hàng của VinaphoneXây dựng kho dữ liệu quản lý thông tin dịch vụ khách hàng của Vinaphone

Trang 2

LUẬN VĂN THẠC SĨ KỸ THUẬT

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS LÊ HỮU LẬP

HÀ NỘI – 2018

Trang 3

LỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi

Các số liệu, kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc

ai công bố trong bất kì tài liệu nào khác

Tác giả

Hoàng Nguyễn Phúc

Trang 4

LỜI CẢM ƠN

Để hoàn thành được luận văn này, ngoài sự nghiên cứu và những cố gắng của bản thân, em xin gửi lời cảm ơn sâu sắc tới giảng viên hướng dẫn Khoa học PGS.TS Lê Hữu Lập đã tận tình chỉ bảo và định hướng cho em trong suốt quá trình nghiên cứu và thực hiện luận văn

Em xin gửi lời cảm ơn chân thành các thầy cô giảng viên trong Khoa Quốc Tế và Sau Đại Học, Khoa Công Nghệ Thông Tin, Khoa Cơ Bản của Học Viện Công Nghệ Bưu Chính Viễn Thông đã tận tình giảng dạy, hướng dẫn em trong suốt quá trình học tập và nghiên cứu ở Học Viện Bưu chính Viễn Thông

Cuối cùng, em xin gửi lời cảm ơn tới gia đình, bạn bè và những người

đã luôn ở bên em cổ vũ tinh thần, tạo điều kiện thuận lợi cho em để em có thể học tập tốt và hoàn thiện luận văn

Em xin chân thành cảm ơn!

Học viên

Hoàng Nguyễn Phúc

Trang 5

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT v

DANH MỤC HÌNH VẼ vi

DANH MỤC CÁC BẢNG viii

MỞ ĐẦU 1

CHƯƠNG 1 TỔNG QUAN VỀ KHO DỮ LIỆU 3

1.1 Định nghĩa về kho dữ liệu 3

1.2 Đặc tính của kho dữ liệu 5

1.2.1 Hướng chủ đề (Subject-oriented) 5

1.2.2 Tích hợp (Integrated) 5

1.2.3 Tính thời gian cụ thể (Time-variant) 5

1.2.4 ít thay đổi (nonvalatile) 6

1.2.5 Dữ liệu chi tiết và dữ liệu tổng hợp 6

1.3 Lợi ích của kho dữ liệu 6

1.4 Một số thuật ngữ trong kho dữ liệu 7

1.4.1 OLTP và OLAP 7

1.4.2 Tiến trình ETL (Extract, Transform & Load) 8

1.4.3 Kho dữ liệu chủ đề (Data Mart) 9

1.4.4 Siêu dữ liệu (Metadata) 11

1.5 Kiến trúc kho dữ liệu 12

1.6 Mô hình dữ liệu đa chiều 14

1.6.1 Các khái niệm chính của mô hình dữ liệu đa chiều 15

1.6.2 Đặc điểm của mô hình dữ liệu đa chiều 15

1.6.3 Lược đồ lưu trữ dữ liệu đa chiều 17

1.6.4 Kỹ thuật OLAP 19

1.7 Kết luận chương 21

CHƯƠNG 2 PHƯƠNG PHÁP THIẾT KẾ KHO DỮ LIỆU 22

2.1 Xác định yêu cầu nghiệp vụ 22

Trang 6

2.1.1 Xác định mục đích xây dựng kho dữ liệu 22

2.1.2 Phạm vi xây dựng kho dữ liệu 24

2.2 Xác định mô hình kiến trúc kho dữ liệu 25

2.3 Xác định bảng chiều, bảng sự kiện 25

2.3.1 Xác định bảng chiều 25

2.3.2 Xác định bảng sự kiện 27

2.4 Xây dựng lược đồ lưu trữ dữ liệu 31

2.5 Tích hợp dữ liệu từ nguồn dữ liệu vào kho dữ liệu 32

2.5.1 Trích xuất dữ liệu 32

2.5.2 Biến đổi dữ liệu 33

2.5.3 Nạp dữ liệu 35

2.6 Khai thác và phân tích kho dữ liệu 35

2.7 Kết luận chương 36

CHƯƠNG 3 XÂY DỰNG KHO DỮ LIỆU THỬ NGHIỆM QUẢN LÝ THÔNG TIN DỊCH VỤ KHÁCH HÀNG CỦA DOANH NGHIỆP VIỄN THÔNG(VINAPHONE) 37

3.1 Bài toán xây dựng kho dữ liệu của Vinaphone 37

3.2 Xây dựng kho dữ liệu thử nghiệm 38

3.2.1 Mô hình kiến trúc của kho dữ liệu 39

3.2.2 Xác định nguồn dữ liệu 39

3.2.3 Xác định các bảng chiều, bảng sự kiện, xây dựng lược đồ hình sao 46

3.2.4 Cài đặt kho dữ liệu quản lý dịch vụ khách hàng trên SQL Server 52

3.2.5 Tích hợp dữ liệu từ nguồn dữ liệu vào kho dữ liệu 54

3.2.6 Phân tích dữ liệu hỗ trợ ra quyết định trong quản lý 63

3.3 Kết luận chương 66

KẾT LUẬN 68

DANH MỤC CÁC TÀI LIỆU THAM KHẢO 70

Trang 7

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT

Viết tắt Tiếng Anh Tiếng Việt

CSDL Database Cơ sở dữ liệu

DM Data Mart Kho dữ liệu chủ đề

ETL Extract, Transform &

OLTP Online Transaction

Processing

Hệ thống xử lý giao dịch thời gian thực

SSAS SQL Server Analysis

Services SSIS SQL Server Integration

Services

Trang 8

DANH MỤC HÌNH VẼ

Hình 1.1 Kiến trúc tổng thể của một hệ thống Data Warehouse [2] 3

Hình 1.2 Tiến trình ETL [11] 8

Hình 1.3 Kho dữ liệu chủ đề (Data Mart) 9

Hình 1.4 Datamart phụ thuộc 10

Hình 1.5 Datamart độc lập 10

Hình 1.6 Kiến trúc ba tầng của kho dữ liệu 12

Hình 1.7 Lƣợc đồ hình sao quản lý bán hàng 17

Hình 1.8 Lƣợc đồ hình bông tuyết quản lý bán hàng 18

Hình 1.9 Đặc tính Roll-up của OLAP 20

Hình 1.10 Đặc tính Drill- down của OLAP 21

Hình 2.1 Quy trình thiết kế một kho dữ liệu 22

Hình 2.2 Cấu trúc cơ bản một bảng chiều [12] 26

Hình 2.3 Cấu trúc bảng chiều thời gian 27

Hình 2.4 Cấu trúc cơ bản của một bảng sự kiện 28

Hình 3.1 Kiến trúc kho dữ liệu dịch vụ khách hàng 39

Hình 3.2 Mô hình thực thể quan hệ cơ sở dữ liệu nguồn 40

Hình 3.3 Tạo dữ liệu bảng VungMien 43

Hinh 3.4 Tạo dữ liệu bảng NhomKH 43

Hinh 3.5 Tạo dữ liệu bảng TinhThanh 43

Hinh 3.6 Tạo dữ liệu bảng ChiNhanh 44

Hinh 3.7 Tạo dữ liệu bảng NhomDichVu 44

Hinh 3.8 Tạo dữ liệu bảng DichVu 45

Hinh 3.9 Tạo dữ liệu bảng GiaoDich 45

Hình 3.10 Bảng chiều thời gian _DimDate 46

Hình 3.11 Nạp dữ liệu cho bảng chiều thời gian 47

Hình 3.12 Bảng chiều dịch vụ_DimService 48

Hình 3.13 Bảng chiều chi nhánh_DimBranch 49

Hình 3.14 Bảng chiều nhóm khách hàng_DimCusGroup 50

Hình 3.15 Bảng sự kiện dịch vụ khách hàng_FactServiceCustomer 51

Hình 3.16 Lƣợc đồ hình sao Kho dữ liệu dịch vụ khách hàng Vinaphone 52

Trang 9

Hình 3.17 Tiến trình ETL—Extract, Transform, Load 54

Hình 3.18 Khởi động SQL Server Data Tools for Visual Studio 2012 55

Hình 3.19 Tạo một Integration Services Project có tên LuanvanThs_SSIS_V2 55

Hình 3.20 Tạo Data Flow cho một package trong SSIS project 56

Hình 3.21 Các SSIS toolbox thường được sử dụng khi xử lý ETL 56

Hình 3.22 ETL cho bảng chiều dịch vụ 58

Hình 3.23 ETL cho bảng chiều chi nhánh 59

Hình 3.24 ETL cho bảng chiều nhóm khách hàng 59

Hình 3.25 ETL cho bảng sự kiện dịch vụ khách hàng 60

Hình 3.26 Tạo một Analysis Services Project có tên LuanvanThs_SSAS_V2 63

Hình 3.27 Cube cho kho dữ liệu gồm 4 dimensions và một measure 64

Hình 3.28 Thống kê lượng thuê bao ĐKSD dịch vụ trên toán quốc năm 2017 64

Hình 3.29 Thống kê lượng thuê bao ĐKSD dịch vụ năm 2017 theo NhomKH 65

Hình 3.30 Báo cáo lượng thuê bao ĐKSD dịch vụ trong tháng 1 năm 2017 theo TinhThanh 66

Hình 3.31 Biểu đồ thống kê lượng thuêbao ĐKSD dịch vụ trong năm 2017 của Vinaphone Hà Nội 66

Trang 10

DANH MỤC CÁC BẢNG

Bảng 1.1 So sánh OLTP và OLAP 7

Bảng 1.2 So sánh lược đồ hình sao và lược đồ bông tuyết 19

Bảng 3.1 Bảng dữ liệu VungMien 40

Bảng 3.2 Bảng dữ liệu TinhThanh 41

Bảng 3.3 Bảng dữ liệu ChiNhanh 41

Bảng 3.4 Bảng dữ liệu NhomDichVu 41

Bảng 3.5 Bảng dữ liệu DichVu 41

Bảng 3.6 Bảng dữ liệu NhomKH 41

Bảng 3.7 Bảng dữ liệu Khachhang 42

Bảng 3.8 Bảng dữ liệu Giaodich 42

Bảng 3.9 Đặc tả bảng chiều thời gian 47

Bảng 3.10 Đặc tả bảng chiều dịch vụ_DimService 48

Bảng 3.11 Đặc tả bảng chiều ChiNhanh_DimBranch 49

Bảng 3.12 Đặc tả bảng chiều nhóm khách hàng_DimCusGroup 50

Bảng 3.13 Đặc tả bảng sự kiện_FactServiceCustomer 51

Bảng 3.14 Bảng DimDate 53

Bảng 3.15 Bảng DimService 53

Bảng 3.16 Bảng DimBranch 53

Bảng 3.17 Bảng DimCusGroup 53

Bảng 3.18 Bảng FactServiceCustomer 54

Bảng 3.19 Một số SSIS toolbox thường sử dụng 57

Bảng 3.20 Dữ liệu của bảng chiều DimCusGroup 61

Bảng 3.21 Dữ liệu của bảng DimService 61

Bảng 3.22 Dữ liệu của bảng DimBranch 62

Bảng 3.23 Dữ liệu của bảng FactServiceCustomer 62

Trang 11

MỞ ĐẦU

Trong những năm qua cùng với sự phát triển CNTT, các hệ thống thông tin

đã được phát triển mạnh cả vể số lượng lẫn chất lượng, đặc biệt trong nhiều doanh nghiệp tồn tại nhiều hệ thống thông tin đa dạng và phong phú Các lãnh đạo doanh nghiệp thì luôn thiếu thông tin phục vụ điều hành, chưa kể đến có những thông tin sai lệch thậm chí mâu thuẫn về cùng một sự việc trong khi doanh nghiệp đang sở hữu một khối lượng dữ liệu khổng lồ

Đến thời điểm hiện nay, phương pháp xây dựng kho dữ liệu (Data Warehousing) đã phát triển cả vềlý thuyết cũng như thực tế Lý thuyết xây dựng kho dữ liệu đã được hình thành khá rõ nét, bên cạnh đó các nhà cung cấp phần mềm cũng đã đưa ra các công cụ để xây dựng, duy trì và phát triển kho dữ liệu Một kho

dữ liệu sẽ giúp doanh nghiệp có khả năng quản lý dữ liệu, khai thác thông tin phục

vụ việc điều hành kinh đoanh phù hợp hơn

Cũng như các doanh nghiệp khác, Vinaphone có một mạng lưới các ứng dụng nghiệp vụ cục bộ tại từng đơn vị thành viên Việc tập hợp và quản trị dữ liệu trên phạm vi toàn ngành để cung cấp thông tin cho "quá trình phân tích, hoạch định chiến lược, hỗ trợ ra quyết định" trong môi trường cạnh tranh và hội nhập là một thách thức lớn mà Vinaphone đang tìm hướng giải quyết

Xuất phát từ thực tế này, học viên chọn đề tài ―Xây dựng Kho dữ liệu quản

lý thông tin dịch vụ khách hàng của Vinaphone‖ Đề tài được thực hiện với

những tiêu chuẩn cơ bản về các dịch vụ thông tin di động và khách hàng trong mỗi doanh nghiệp viễn thông, chẳng hạn như Vinaphone Đề tài này nghiên cứu lý thuyết, nắm chắc phương pháp luận và một công cụ xây dựng kho dữ liệu cụ thể, tạo nền tảng triển khai xây dựng một kho dữ liệu thực tế-hướng giải quyết yêu cầu củađề tài nói trên

Ngoài phần mở đầu và kết luận, nội dung chính của luận văn được trình bày trong 3 chương:

Trang 12

Chương 1 Tổng quan về kho dữ liệu

Trình bày cơ sở lý thuyết của kho dữ liệu với các nội dung như : định nghĩa

về kho dữ liệu, các đặc tính của kho dữ liệu, lợi ích của kho dữ liệu, một số thuật ngữ dùng trong kho dữ liệu, kiến trúc của kho dữ liệu và mô hình dữ liệu đa chiều

Chương 2 Phương pháp thiết kế kho dữ liệu

Trình bày quy trình thiết kế một kho dữ liệu gồm 6 pha cơ bản đó là: xác định yêu cầu nghiệp vụ, xác định mô hình kiến trúc, xác định các bảng chiều, bảng

sự kiện, xây dựng lược đồ, tích hợp dữ liệu từ nguồn dữ liệu vào kho dữ liệu và khai thác, phân tích kho dữ liệu

Chương 3 Xây dựng kho dữ liệu thử nghiệm quản lý thông tin dịch vụ khách hàng của doanh nghiệp viễn thông(Vinaphone)

Giới thiệu bài toán xây dựng kho dữ liệu quản lý thông tin dịch vụ khách hàng của doanh nghiệp viễn thông cụ thể là Vinaphone đồng thời tiến hành xây dựng một kho dữ liệu thử nghiệm giải quyết bài toán này

Mặc dù đã có nhiều cố gắng nhưng do thời gian và trình độ còn hạn chế, luận văn không tránh khỏi những thiếu sót Kính mong các thầy cô và đồng nghiệp thông cảm

Tác giả

Trang 13

CHƯƠNG 1 TỔNG QUAN VỀ KHO DỮ LIỆU

Chương này giới thiệu cơ sở lý thuyết của kho dữ liệu bao gồm các nội dung như: định nghĩa về kho dữ liệu, đặc tính của kho dữ liệu, lợi ích của kho dữ liệu, kiến trúc kho dữ liệu, mô hình dữ liệu đa chiều và một số thuật ngữ trong kho dữ liệu

1.1 Định nghĩa về kho dữ liệu

Hình 1.1 Kiến trúc tổng thể của một hệ thống Data Warehouse[2]

Kho dữ liệu là hệ thống cơ sở dữ liệu máy tính được thiết kế, sắp xếp có mục đích và định hướng rõ ràng của một tổ chức nhằm mục đích quản lý, cung cấp thông tin một cách kịp thời, chính xác, đồng thời là nền tảng cho việc xây dựng các ứng phân tích dữ liệu, hỗ trợ quyết định (xem hình 1.1)

Có ý kiến cho rằng các cơ sở dữ liệu nghiệp vụ thông thường vẫn có thể hỗ trợ việc lên các báo cáo thống kê, hỗ trợ quyết định vì vậy chúng ta không cần thiết phải xây dựng kho dữ liệu Trong thực tế, đối với các cơ sở dữ liệu có kích thước nhỏ, số lượng bản ghi ít thì việc xây dựng kho dữ liệu là không cần thiết Tuy nhiên

Trang 14

với cơ sở dữ liệu có hàng chục triệu đến trăm triệu bản ghi thì việc phân tích, khai thác dữ liệu thông qua các báo cáo thống kê sẽ phát sinh hàng loạt vấn đề:

- Người xây dựng báo cáo không hiểu mối quan hệ phức tạp giữa các bảng dữ liệu trong một loạt cơ sở dữ liệu của các ứng dụng nghiệp vụ khác nhau

- Cơ sở dữ liệu của các ứng dụng nghiệp vụ có thể để rải rác trên nhiều server, rất khó cho việc tìm kiếm các bảng dữ liệu để xây dựng câu truy vấn

- Việc phân quyền nghiêm ngặt không cho phép người dùng có thể lấy dữ liệu chi tiết

- Người quản trị cơ sở dữ liệu hạn chế việc chạy các câu truy vấn lớn nhằm ngăn chặn nguy cơ làm tê liệt hệ thống

Qua đó để thấy rằng các hệ thống nghiệp vụ hiện nay với cơ sở dữ liệu sẵn

có không đủ linh hoạt cho mục đích lên báo cáo, phân tích dữ liệu hỗ trợ ra quyết định trong kinh doanh Điều này dẫn đến sự ra đời của kho dữ liệu

Kho dữ liệu ra đời với mục tiêu lưu trữ, quản lý dữ liệu tập trung đồng thời tạo một nền tảng thuận lợi để người dùng có thể khai thác, phân tích số liệu trong kho dữ liệu thông qua những kỹ thuật hỗ trợ trực tuyến OLAP

Kho dữ liệu cung cấp những lợi ích sau tới người dùng phân tích số liệu:

- Dữ liệu được tổ chức để tạo thuận lợi cho các truy vấn phân tích chứ không phải cho việc xử lý các nghiệp vụ thường ngày như thêm, sửa , xóa

- Sự khác biệt về cấu trúc dữ liệu được lưu trữ trên nhiều nguồn dữ liệu không đồng nhất sẽ được giải quyết

- Những quy tắc thống nhất sẽ được áp dụng khi hợp nhất dữ liệu từ các hệ thống không đồng nhất sang kho dữ liệu

- Tính bảo mật và hiệu suất có thể được cải thiện mà không cần phải thực hiện bất kỳ sửa đổi nào trên hệ thống dữ liệu gốc

Có nhiều định nghĩa khác nhau về kho dữ liệu nhưng định nghĩa về kho dữ liệu của Bill Inmon[6]là phổ biến nhất : ―Kho dữ liệu là tập hợp dữ liệu hướng chủ

đề, mang tính tích hợp, ít thay đổi, và mỗi đơn vị dữ liệu đều gắn với một khoảng thời gian cụ thể Kho dữ liệu được thiết kế để hỗ trợ quản trị hệ hỗ trợ quyết định‖

Trang 15

1.2 Đặc tính của kho dữ liệu

Theo định nghĩa của Bill Inmon kho dữ liệu có 4 đặc tính cơ bản gồm[6]:

Hướng chủ đề (Subject Oriented), Tích hợp (Integrated), Tính thời gian cụ thể

(Time Variant) và ít thay đổi (Nonvalatile) Một số định nghĩa khác về kho dữ liệu

có bổ sung thêm tính chất kho dữ liệu bao gồm cả dữ liệu chi tiết và dữ liệu tổng hợp

1.2.1 Hướng chủ đề (Subject-oriented)

Dữ liệu được tập hợp, phân lớp, lưu trữ và xử lý theo từng chủ đề.Các dữ liệu của mỗì chủ đề chính trong tổ chức được liên kết bởi các khoá đại diện và đưa vào cùng một vị trí Ví dụ dữ liệu liên quan đến: khách hàng, sản phẩm, tài chính, bán hàng

Cấu trúc dữ liệu theo một cách thức chung được chấp nhận mặc dù xuất phát

từ rất nhiều cấu trúc dữ liệu nguồn khác nhau Dữ liệu tích hợp phải đảm bảo tính nhất quán, đôi khi chấp nhận tính dư thừa để tăng tính hiệu quả của các truy vấn 1.2.3 Tính thời gian cụ thể (Time-variant)

Một kho dữ liệu bao hàm một khối lượng lớn dữ liệu lịch sử Dữ liệu được lưu trữ thành một loạt các bản sao (snapshort), mỗi bản sao phản ánh những giá trị của dữ liệu tại một thời điểm nhất định, thể hiện một khung nhìn của một vùng chủ

đề trong một giai đoạn

Do vậy cho phép khôi phục lai dữ liệu lịch sử và so sánh một cách chính xác các giai đoạn khác nhau Yếu tố thời gian đóng vai trò như một phần của khóa để đảm bảo tính đơn nhất của mỗi hàng và cung cấp đặc trưng về thời gian cho dữ liệu

Trang 16

1.2.4 ít thay đổi (nonvalatile)

Dữ liệu trong kho dữ liệu là dữ liệu chỉ đọc Dữ liệu được tải vào kho dữ liệu

ở lần đầu tiên dưới dạng bản sao tại một thời điểm và sau đó thường xuyên được làm tươi (Refresh) Chu kỳ làm tươi được xác định tùy theo yêu cầu nghiệp vụ, có những kho dữ liệu đòi hỏi được làm tươi hàng ngày trong khi có những kho dữ liệu chỉ cần đươc làm tươi hàng tháng

Thông tin trong kho dữ liệu được tải vào sau khi dữ liệu trong hệ thống điều hành tác nghiệp được xác định Tính ít biến đổi thể hiện ở chỗ: Dữ liệu được lưu trữ lâu dài trong kho dữ liệu, mặc dù có thêm dữ liệu mới nhập vào nhưng dữ liệu cũ trong kho vẫn không bị xóa, điều đó cho phép cung cấp thông tin về một khoảng thời gian dài, cung cấp đủ số liệu cần thiết cho các mô hình nghiệp vụ phân tích, dự báo

1.2.5 Dữ liệu chi tiết và dữ liệu tổng hợp

Dữ liệu chi tiết là thông tin mức thấp nhất được lưu trữ trong kho dữ liệu Dữ liệu tác nghiệp là thông tin mức thấp nhất cho toàn xí nghiệp Dữ liệu tác nghiệp thuần túy không được lưu trữ trong kho dữ liệu Dữ liệu tổng hợp là dữ liệu được kết hợp từ dữ liệu chi tiết và lưu qua nhiều giai đoạn khác nhau

1.3 Lợi ích của kho dữ liệu

Mục tiêu chung cho tất cả các doanh nghiệp là đưa ra quyết định kinh doanh tốt hơn so với đối thủ cạnh tranh Khi một kho dữ liệu được triển khai vào kế hoạch kinh doanh, các công ty có thể hưởng lợi từ nó bằng nhiều cách[9]:

- Ra quyết định tốt hơn: Các nhà hoạch định chính sách của công ty sẽ không còn phải đưa ra các quyết định kinh doanh quan trọng dựa trên dữ liệu có hạn

và linh cảm Kho dữ liệu lưu trữ dữ liệu và số liệu thống kê đáng tin cậy và người ra quyết định sẽ có thể lấy thông tin từ kho dữ liệu dựa trên nhu cầu cá nhân của họ

- Truy cập dữ liệu nhanh và dễ dàng: Tốc độ là một yếu tố quan trọng giúp doanh nghiệp vượt trên đối thủ cạnh tranh Người dùng doanh nghiệp có thể nhanh chóng truy cập dữ liệu từ nhiều nguồn từ kho dữ liệu, có nghĩa là thời

Trang 17

gian sẽ không bị lãng phí khi thực hiện việc lấy dữ liệu từ nhiều nguồn Điều này cho phép đƣa các quyết định nhanh chóng và chính xác, với sự hỗ trợ ít hoặc không có từ bộ phận công nghệ thông tin của công ty

- Chất lƣợng dữ liệu và tính nhất quán: Do các kho dữ liệu thu thập thông tin

từ các nguồn khác nhau và chuyển đổi nó thành một định dạng duy nhất và đƣợc sử dụng rộng rãi, các phòng ban sẽ tạo ra các kết quả phù hợp và nhất quán với nhau Khi dữ liệu đƣợc chuẩn hóa với sự chính xác cao sẽ hỗ trợ các quyết định kinh doanh trở nên thuyết phục hơn

Kho dữ liệu là cần thiết cho bất kỳ doanh nghiệp nào muốn có lợi từ những quyết định kinh doanh đúng đắn

1.4 Một số thuật ngữ trong kho dữ liệu

1.4.1 OLTP và OLAP

Bảng 1.1 So sánh OLTP và OLAP

Trang 18

OLTP – Hệ thống xử lý giao dịch thời gian thực là hệ quản trị CSDL nghiệp

vụ Các nghiệp vụ hàng ngày của các doanh nghiệp như bán hàng, mua hàng, thanh

lý hàng tồn kho, đều được mô hình hóa trong OLTP để xử lý hàng ngày Trong OLTP dữ liệu chỉ đại diện cho hiện tại, nó không có ý nghĩa lịch sử, đồng thời dữ liệu trong OLTP được chuẩn hóa rất cao vên tốc độ xử lý truy vấn phức tạp tương đối kém

OLAP – Hệ thống xử lý phân tích trực tuyến là hệ quản trị CSDL chuyên

dùng cho tạo báo cáo và phân tích dữ liệu Dữ liệu là vô nghĩa nếu chúng chỉ là các bản ghi trong CSDL, chỉ khi nào chúng được sử dụng để làm số liệu phân tích, tổng hợp thì lúc đó dữ liệu mới trở thành thông tin OLAP là công cụ được dùng để khai thác dữ liệu kho dữ liệu với nhiệm vụ hỗ trợ truy vấn phức tạp , đồng thời tạo ra các báo cáo đầy đủ, chính xác nhất

Những tính chất đặc trưng của OLTP và OLAP được mô tả chi tiết trong bảng so sánh OLTP và OLAP ( bảng 1.1)[4]

1.4.2 Tiến trình ETL (Extract, Transform & Load)

Hình 1.2 Tiến trình ETL[11]

Tiến trình ETL (hình 1.2) là tiến trình tích hợp dữ liệu từ nguồn dữ liệu vào Kho dữ liệu chiếm khoảng 70% khối lượng công việc khi xây dựng kho dữ liệu, bao gồm 3 quá trình: Trích xuất (Extract), Biến đổi (Transform) và Nạp (Load)

Trích xuất dữ liệu là quá trình chọn lọc những dữ liệu nghiệp vụ cần thiết

cho việc xây dựng kho dữ liệu.Ví dụ một doanh nghiệp muốn xây dựng kho dữ liệu

Trang 19

cho nghiệp vụ bán hàng, như vậy pha trích xuất dữ liệu sẽ chọn lựa từ dữ liệu

nghiệp vụ của doanh nghiệp nguồn dữ liệu liên quan đến hoạt động bán hàng như : sản phẩm, khách hàng, nhân viên bán hàng, Ngược lại những dữ liệu về kho bãi, tiền lương, sẽ không tham gia vào quá trình xây dựng kho dữ liệu

Nói cách khác, trích xuất dữ liệu là quá trình xác định dữ liệu nguồn

Biến đổi dữ liệu là quá trình biến đổi dữ liệu nguồn sang dạng thích hợp để

nạp vào kho dữ liệu Ví dụ trong bài toán xây dựng kho dữ liệu cho nghiệp vụ bán hàng, dữ liệu nguồn được xác định là những dữ liệu trong cơ sở dữ liệu nghiệp vụ

Dữ liệu nghiệp vụ thường gặp một số vấn đề như: dữ liệu trùng nhau, dữ liệu không

chính xác, dữ liệu sai định dạng, Và nhiệm vụ của pha biến đổi dữ liệu là làm sạch

dữ liệu, tập hợp những dữ liệu có cùng ý nghĩa, và tổng hợp dữ liệu lại với nhau

Nạp dữ liệu là quá trình ghi dữ liệu lấy được từ pha biến đổi dữ liệu vào kho

dữ liệu đồng thời cập nhật những thay đổi từ dữ liệu nghiệp vụ vào kho dữ liệu 1.4.3 Kho dữ liệu chủ đề (Data Mart)

Kho dữ liệu chủ đề (Datamart) là CSDL có những đặc điểm giống với kho

dữ liệu nhưng với quy mô nhỏ hơn và lưu trữ dữ liệu về một lĩnh vực, một chuyên ngành Hình 1.3 mô tả ba kho dữ liệu chủ đề là kho dữ liệu chủ đề bán hàng, kho dữ liệu chủ đề tiếp thị và kho dữ liệu chủ đề hàng tồn kho

Hình 1.3 Kho dữ liệu chủ đề (Data Mart)

Trang 20

Các datamart có thể được hình thành từ một tập con dữ liệu của kho dữ liệu hoặc cũng có thể được xây dựng độc lập và sau khi xây dựng xong, các datamart có thể được kết nối tích hợp lại với nhau tạo thành kho dữ liệu Vì vậy có thể xây dựng kho dữ liệu bắt đầu bằng việc xây dựng các datamart hay ngược lại xây dựng kho

dữ liệu trước sau đó tạo ra các datamart Có thể chia datamart ra làm hai loại làdatamart độc lập và datamart phụ thuộc

- Datamart phụ thuộc : chứa những dữ liệu được lấy từ kho dữ liệu và những

dữ liệu này sẽ được trích lọc và làm sạch, tích hợp lại ờ mức cao hơn để phục

vụ một chủ đề nhất định của datamart Hình 1.4 mô tả một datamart phụ thuộc

Hình 1.4 Datamart phụ thuộc

- Datamart độc lập : không giống như datamart phụ thuộc, datamart loại này

được xây dựng trước kho dữ liệu và dữ liệu được trực tiếp lấy từ các nguồn Phương pháp này đơn giản hơn và chi phí thấp hơn nhưng đổi lại có những điểm yếu Mỗi kho dữ liệu độc lập có cách tích hợp riêng, do đó đữ liệu từ nhiều datamart khó đồng nhất với nhau Hình 1.5 mô tả một datamart độc lập

Hình 1.5 Datamart độc lập

Trang 21

1.4.4 Siêu dữ liệu (Metadata)

Siêu dữ liệulà dữ liệu về dữ liệu, được sử dụng trong kho dữ liệu để mô tả

cũng như sử dụng dữ liệu đảm bảo sử dụng triệt để và nhất quán dữ liệu nghiệp

và siêu dữ liệu vận dụng

Siêu dữ liệu trong giai đoạn xây dựng: là siêu dữ liệu được tạo ra trong quá

trình thiết kế, xây dựng ứng dụng và cơ sở dữ liệu Thông thường, chúng được tạo

ra và lưu trữ trong các mô hình dữ liệu và công cụ thiết kế ứng dụng

Siêu dữ liệu kiểm soát: là siêu dữ liệu được sử dụng chủ động trong hoạt

động của kho dữ liệu, trong đó siêu dữ liệu hiện hành và siêu dữ liệu sử dụng đóng vai trò quan trọng trong việc quản lý và xây dựng kho dữ liệu

Siêu dữ liệu hiện hành: mô tả thông tin chính xác về tính hiện thời hay vị trí của dữ liệu nghiệp vụ theo thời gian

Siêu dữ liệu sử dụng : gắn chặt với vấn đề an ninh và các chức năng xác định thẩm quyển, kiểm soát việc truy cập tới kho dữ liệu Hơn nữa chúng cung cấp các phương tiện nhằm giám sát dữ liệu và các chức năng này được sử dụng trong kho

dữ liệu như thế nào, và do đó xác định được giá trị của dữ liệu đối với người sử

dụng cuối

Siêu dữ liệu vận dụng: là siêu dữ liệu quan trọng nhất đối với người sử dụng

dữ liệu nghiệp vụ, đặc biệt trong môi trường thông tin Với chúng người dùng có thể đạt được những lợi ích trong nghiệp vụ và nâng cao hiệu quả công việc

Siêu dữ liệu vận dụng có nguồn gốc và nội dung tương tự siêu dữ liệu trong giai đoạn xây dựng Sự khác biệt ờ chỗ siêu dữ liệu này được cấu trúc nhằm đảm bảo hiệu năng tìm kiếm của người sử dụng

Trang 22

1.5 Kiến trúc kho dữ liệu

Một trong các bước đầu tiên khi thiết kế kho dữ liệu là xây dựng kiến trúc tổng thể và làm kiến trúc đó được chấp nhận một cách rộng rãi

Dựa vào thực tế xây dựng kho dữ liệu người ta đưa ra ba mô hình kiến trúc

dữ liệu[7]với sự khác nhau về thành phần tham gia vào hệ thống kho dữ liệu, bao gồm:

Kiến trúc 1 tầng - Data Warehouse Architecture: Basic

Kiến trúc 2 tầng - Data Warehouse Architecture: with a Staging Area

Kiến trúc 3 tầng - Data Warehouse Architecture: with a Staging Area and Data

Marts

Trong đó, mô hình kiến trúc ba tầng đã bao hàm các thành phần của mô hình kiến trúc hai tầng và một tầng Do vậy, chúng ta sẽ xem xét mô hình kiến trúc dữ liệu ba tầng, sau đó chỉ ra những thành phần khác biệt so với kiến trúc hai tầng và một tầng

Hình 1.6 Kiến trúc ba tầng của kho dữ liệu

Với mô hình kiến trúc dữ liệu ba tầng (hình 1.6), một hệ thống kho dữ liệu gồm ba thành phần chính sau:

Trang 23

- Một công cụ để thu thập dữ liệu từ hệ thống nghiệp vụ, chuẩn hóa chúng về định dạng dữ liệu đa chiều, nạp vào kho dữ liệu (Extract-Transform-Load)

- Một cơ sở dữ liệu dùng làm kho dữ liệu để lưu trữ dữ liệu

- Kho dữ liệu phân ra thành các kho dữ liệu chủ đề, hỗ trợ ra quyết định theo từng nhóm người sử dụng

- Bước nạp dữ liệu (load) : ghi dữ liệu đã được chuyển đổi vào kho dữ liệu

Trang 24

Tầng kho dữ liệu chủ đề

Một kho dữ liệu thường bao gồm một hoặc nhiều kho dữ liệu chủ đề như kho

dữ liệu chủ đề bán hàng, kho dữ liệu chủ đề mua hàng,

Tầng kho dữ liệu chủ đề chứa các Datamart được phân ra từ kho dữ liệu hỗ trợ người dùng cuối khai thác, sử dụng theo mục đích riêng thông qua các công cụ như hệ thống OLAP, báo cáo thống kê, hệ thống khai phá dữ liệu

Mô hình kiến trúc ba tầng của kho dữ liệu khi không có tầng kho dữ liệu chủ

đề cho ta hình ảnh về kiến trúc dữ liệu hai tầng Kiến trúc hai tầng thường xuất hiện trong các tổ chức nhỏ hoặc trong giai đoạn đầu của quá trình xây dựng một kho dữ liệu quy mô doanh nghiệp

Mô hình kiến trúc dữ liệu hai tầng khi không có tầng xử lý dữ liệu cho ta mô hình kiến trúc dữ liệu một tầng Kiến trúc một tầng hiếm khi xuất hiện vì nó tạo ra xung đột khi nhiều người dùng cùng truy cập tới một dữ liệu

1.6 Mô hình dữ liệu đa chiều

Khác với dữ liệu trong các cơ sở dữ liệu nghiệp vụ thông thường được tối ưu hóa cho các thao tác thêm mới, chỉnh sửa hoặc xóa, dữ liệu trong kho dữ liệu được tối ưu hóa cho việc phân tích và báo cáo Và cơ sở dữ liệu đa chiều đã phát triển và

đi vào công nghệ cơ sở dữ liệu như là một sự lựa chọn cho những ứng dụng phân tích dữ liệu

Theo Oracle: ― Cơ sở dữ liệu đa chiều là một dạng của cơ sở dữ liệu được tối

ưu hoá nhằm cho kho dữ liệu và những ứng dụng xử lý phân tích trực tuyến Cơ sở

dữ liệu đa chiều thường xuyên được tạo ra bằng cách sử dụng dữ liệu đầu vào từ những cơ sở dữ liệu quan hệ đã tồn tại ‖[8]

Mô hình dữ liệu đa chiều được đề xuất và thiết kế cho mục đích phân tích dữ liệu, và nó là một ứng dụng của cơ sở dữ liệu đa chiều Các thao tác với dữ liệu của Kho dữ liệu dựa trên cơ sở là mô hình dữ liệu đa chiều

Trang 25

1.6.1 Các khái niệm chính của mô hình dữ liệu đa chiều

Mô hình dữ liệu đa chiều là một mô hình quản lý dữ liệu theo đó các cơ sở

dữ liệu được phát triển theo nhu cầu của người dùng, để được sử dụng cho các loại truy vấn cụ thể

Mô hình này xem dữ liệu ở dạng khối dữ liệu (data cube) Một khối dữ liệu cho phép dữ liệu được mô hình hóa và xem xét theo nhiều chiều, đồng thời một khối dữ liệu được xác định bởi các chiều (dimensions) và sự kiện (facts)

Sự kiện là những thước đo quan trọng được sử dụng để đo lường kết quả kinh doanh[7] Ví dụ như sự kiện bán hàng, sự kiện sản xuất, sự kiên hàng tồn kho

Một chiều là một cấu trúc phân loại dữ liệu để cho phép người dùng trả lời các câu hỏi kinh doanh[7] Trong kho dữ liệu, một chiều là một tập hợp các thông tin tham chiếu đến một sự kiện có thể đo đếm được Một số chiều thường gặp như khách hàng, sản phẩm, thời gian Ví dụ chiều sản phẩm trong sự kiện bán hàng trả lời cho câu hỏi số lượng bán ra từng sản phẩm trong một khoảng thời gian cụ thể

Một khối dữ liệu có thể có nhiều chiều, về mặt lý thuyết thì số chiều là không hạn chế Nếu khối dữ liệu có nhiều hơn ba chiều thì được gọi là siêu khối (hypercube) Trong một khối bao gồm nhiều ô dữ liệu, mỗi ô dữ liệu là một liên kết giữa các giá trị của các chiều đồng thời một ô có thể là rỗng Một khối dữ liệu được coi là thưa nếu có nhiều ô rỗng, ngược lại với ít ô rỗng người ta gọi là khối đặc 1.6.2 Đặc điểm của mô hình dữ liệu đa chiều

Mô hình dữ liệu đa chiều lưu trữ dữ liệu trong các bảng chiều, bảng sự kiện trong cơ sở dữ liệu

a Bảng chiều

Bảng chiều được sử dụng để mô tả các chiều, chứa tất cả các thuộc tính đặc trưng của chiều đó Ví dụ, bảng chiều sản phẩm sẽ bao gồm các thuộc tính như tên sản phẩm, mô tả sản phẩm, đơn giá, màu sắc, trọng lượng,

Bảng chiều thường có kích thước nhỏ, từ vài đến vài nghìn hàng Thỉnh thoảng kích thước bảng chiều có thể phát triển khá lớn như ngân hàng có thể có bảng chiều khách hàng với kích thước hàng triệu hàng

Trang 26

Bảng chiều chứa các dữ liệu cần thiết cho việc thực hiện thao tác nghiệp vụ nào đó, đồng thời nó là đối tượng mà ta có thể dựa vào để phân loại dữ liệu

Bảng chiều chứa các thuộc tính phân cấp trên các chiều của chúng Ví dụ trên chiều thời gian, chúng ta định nghĩa được một mối quan hệ cấp bậc: ngàytuầnthángquýnăm

Một số loại bảng chiều thường gặp như bảng chiều chuẩn (conformed dimension table), bảng chiều suy biến (degenerate dimension table), bảng chiều thay đổi chậm (slowly changing dimension table)

b Bảng sự kiện

Bảng sự kiện là các phép đo của một quá trình kinh doanh, là bảng kết nối giữa các bảng chiều và các độ đo (measures) Bảng sự kiện chứa dữ liệu định lượng (là những dữ liệu có thể đo đếm được), đồng thời kích thước của bảng sự kiện rất lớn Ví dụ, một cửa hàng tạp hóa có một bảng sự kiện ghi chép việc bán từng mặt hàng, một trường đại học có một bảng sự kiện lưu trữ kết quả học tập của sinh viên Bảng sự kiện có hai đặc trưng cơ bản là độ đo và độ chi tiết của sự kiện (grain)

Độ đo thường là giá trị số đại diện cho các số liệu kinh doanh Trong thực tế, bảng sự kiện có thể có nhiều độ đo, ví dụ bảng sự kiện theo dõi hoạt động mua bán hàng hóa quốc tế, chúng ta có độ đo là các loại tiền tệ (USD, VND, ) Độ đo trong bảng sự kiện có thể là :

- Cộng dồn (additive): khi độ đo có thể được tổng hợp qua bất kỳ chiều nào Ví dụ với sự kiện bán hàng chúng ta có thể cộng dồn tiêu chí doanh thu theo chiều khách hàng, chiều sản phẩm hoặc chiều thời gian

- Bán cộng dồn (semi-additive): khi độ đo có thể được tổng hợp trên một số chiều nhất định Ví dụ với sự kiện hàng tồn kho chúng ta có thể cộng dồn tiêu chí lượng hàng hóa theo chiều sản phẩm tuy nhiên không thể cộng dồn nó theo chiều khách hàng vì nó vô nghĩa với chiều khách hàng

Trang 27

- Không cộng dồn (non-additive): độ đo không thể tổng hợp ví dụ như phần trăm lợi nhuận Chẳng hạn, độ đo phần trăm lợi nhuận của từng loại sản phẩm không thể cộng dồn lại với nhau vì nó làm mất đi ý nghĩa của lợi nhuận với các sản phẩm

Độ chi tiết của sự kiện là việc xác định mức độ thấp nhất của sự kiện phục

vụ cho việc phân tích dữ liệu Ví dụ, một bệnh viện theo dõi doanh thu theo tháng,

dữ liệu theo ngày, giờ có thể không liên quan Một công ty tiếp thị sản phẩm theo dõi sức mua của nhóm khách hàng hơn là từng khách hàng riêng lẻ

1.6.3 Lược đồ lưu trữ dữ liệu đa chiều

Mô hình dữ liệu đa chiều tổ chức dữ liệu theo hai dạng lược đồ cơ bản là lược đồ

hình sao (star schema) và lược đồ hình bông tuyết (snowflake schema)[10]

a Lược đồ hình sao

Lược đồ hình sao là lược đồ lưu trữ dữ liệu kho dữ liệu gồm một bảng sự kiện liên kết với nhiều bảng chiều

Hình 1.7 Lược đồ hình sao quản lý bán hàng

Trang 28

Trong lược đồ hình sao, một bảng chiều đại diện cho một và chỉ một chiều, đồng nghĩa với việc không có sự chuẩn hóa nào trong các bảng chiều Ví dụ về lược đồ hình sao được mô tả trong hình 1.7

b Lược đồ hình bông tuyết

Lược đồ hình bông tuyết là lược đồ lưu trữ dữ liệu kho dữ liệu gồm một bảng

sự kiện liên kết với nhiều bảng chiều

Hình 1.8 Lược đồ hình bông tuyết quản lý bán hàng

Trong lược đồ hình bông tuyết, một chiều được xác định bởi nhiều bảng chiều, đồng nghĩa với việc các thuộc tính trong bảng chiều được chuẩn hóa tương tự

dữ liệu trong các cơ sở dữ liệu thông thường Ví dụ như trong hình 1.8, bảng chiều DMSANPHAM có thuộc tính phân cấp Nhomhang

c So sánh lược đồ hình sao và lược đồ hình bông tuyết

Cả hai dạng lược đồ lưu trữ dữ liệu đa chiều là lược đồ hình sao và lược đồ bông tuyết đều có các ưu, nhược điểm riêng được thể hiện trong bảng 1.2

Trang 29

Bảng 1.2 So sánh lược đồ hình sao và lược đồ bông tuyết

1.6.4 Kỹ thuật OLAP

OLAP là một kỹ thuật nhằm đáp ứng nhu cầu phân tích dữ liệu trực tuyến theo các góc độ khác nhau dựa trên cách tổ chức cơ sở dữ liệu đa chiều Nó sử dụng các khối dữ liệu trong mô hình dữ liệu đa chiều cung cấp khả năng truy xuất nhanh đến dữ liệu của kho dữ liệu, đồng thời thực hiện các truy vấn phức tạp Đồng thời, OLAP cung cấp nhiều lợi ích cho người dùng như:

- Cung cấp mô hình dữ liệu đa chiều trực quan cho phép dễ dàng lựa chọn, định hướng và khai phá dữ liệu

- Cung cấp một ngôn ngữ truy vấn, phân tích và cung cấp sức mạnh để khám phá các mối quan hệ trong dữ liệu kinh doanh phức tạp

- Dữ liệu được tính toán trước đối với các truy vấn thường xuyên nhằm làm cho thời gian trả lời rất nhanh đối với các truy vấn đặc biệt

Căn cứ vào cách thức lưu trữ dữ liệu, người ta thường tiếp cận mô hình dữ liệu đa chiều theo 3 hướng sau:

- MOLAP (Multi-dimensional OLAP) là một dạng của OLAP xử lý và lưu trữ

dữ liệu trực tiếp vào cơ sở dữ liệu đa chiều MOLAP cho hiệu năng tốt hơn trong các phép truy vấn và tổng hợp số liệu Tuy nhiên, MOLAP bị hạn chế

về lượng dữ liệu lưu trữ và xử lý

Trang 30

- ROLAP (Relational OLAP) là một dạng của OLAP thực hiện phân tích động

dữ liệu đa chiều được lưu trong cơ sở dữ liệu quan hệ chứ không phải là trong cơ sở dữ liệu đa chiều ROLAP có thể xử lý một lượng dữ liệu lớn hơn

so với MOLAP, tuy nhiên ROLAP lại đòi hỏi gia tăng thời gian xử lý cũng như không gian đĩa

- HOLAP (Hybrid OLAP) kết hợp những ưu điểm của 2 công nghệ MOLAP

và ROLAP, là tận dụng khả năng lưu trữ của ROLAP và khả năng xử lý của MOLAP

Thao tác phân tích dữ liệu của kho dữ liệu được OLAP cung cấp một số công

cụ phân tích cơ bản từ đơn giản đến phức tạp như: Cuộn lên (Roll up), Truy xuống (Drill down), Chọn và chiếu (Slice and Dice ), Xoay chiều (Pivot)

Cuộn lên (Roll up): Dựa vào quan hệ cấp bậc của chiều ta có thể cuộn lên

mức độ tổng quát hơn để xem dữ liệu ở mức tổng hợp Ví dụ ta cuộn lên để xem dữ

liệu ở mức tổng hợp theo quan hệ cấp bậc: Học kỳ Năm học Khóa học(hình

1.9)

Chiều thời gian

Hình 1.9 Đặc tính Roll-up của OLAP

Truy xuống (Drill down): Ngược lại với cuộn lên, từ mức độ tổng quát của

quan hệ cấp bậc của chiều ta có thể truy xuống để xem được chi tiết của dữ liệu Ví

dụ ta truy xuống để xem dữ liệu ở mức chi tiết theo quan hệ cấp bậc Khoa Bộ môn Ngành Lớp(hình 1.10)

Trang 31

Chiều đơn vị

Hình 1.10 Đặc tính Drill- down của OLAP

Chọn và chiếu (Slice and Dice )

Chọn (Slice): thực hiện một phép chọn trên một chiều của khối trung tâm để

có được một khối con.Ví dụ trong hình 1.9, ta chọn từ khối trung tâm của chiều

thoigian với tiêu chí là namhoc =2004 học kỳ = 1

Chiếu (Dice) là thao tác thực hiện chọn trên hai chiều hay nhiều hơn để tìm

ra một khối con Ví dụ chọn theo 2 chiều với tiêu chí là: namhoc = 2004 and (lop=

“K06401” or lop = “K07403”)

Xoay chiều (Pivot): Thực hiện việc xoay khối dữ liệu để có thể xem dữ liệu ở

nhiều chiều khác nhau

1.7 Kết luận chương

Chương 1 đã trình bày tổng quan về kho dữ liệu từ những khái niệm cơ bản

về kho dữ liệu đến kiến trúc của một hệ thống kho dữ liệu cũng như mô hình lưu trữ

dữ liệu kho dữ liệu Qua đó học viên phần nào nắm được đặc điểm, tính chất, các thành phần tạo nên một kho dữ liệu cũng như nguyên lí hoạt động của kho dữ liệu

Việc nắm bắt được cơ sở lý thuyết của kho dữ liệu giúp ích rất nhiều trong việc thiết kế và xây dựng kho dữ liệu

Trong chương 2, luận văn sẽ trình bày quy trình cụ thể thiết kế một kho dữ liệu dựa trên nền tảng cơ sở lý thuyết về kho dữ liệu được trình bày trong chương 1

Trang 32

CHƯƠNG 2 PHƯƠNG PHÁP THIẾT KẾ KHO DỮ

LIỆU

Chương này giới thiệu quy trình thiết kế một kho dữ liệu bao gồm sáu pha cơ bản: xác định yêu cầu nghiệp vụ, xác định mô hình kiến trúc kho dữ liệu, xác định bảng chiều, bảng sự kiện, xây dựng lược đồ lưu trữ dữ liệu, tích hợp dữ liệu từ nguồn dữ liệu vào kho dữ liệu và cuối cùng là khai thác và phân tích kho dữ liệu (hình 2.1)

Hình 2.1 Quy trình thiết kế một kho dữ liệu

2.1 Xác định yêu cầu nghiệp vụ

Việc thiết kế một kho dữ liệu được bắt đầu bằng việc xác định các yêu cầu nghiệp vụ của kho dữ liệu, đồng nghĩa với việc chúng ta phải xác định được mục đích và phạm vi xây dựng kho dữ liệu

2.1.1 Xác định mục đích xây dựng kho dữ liệu

Công việc đầu tiên trong pha xác định yêu cầu nghiệp vụ là xác định mục đích xây dựng kho dữ liệu của doanh nghiệp

Trang 33

Chúng ta sẽ đi xác định lý do doanh nghiệp muốn xây dựng một kho dữ liệu riêng thông qua các câu hỏi phỏng vấn chiến lược, bao gồm:

- Lĩnh vực hoạt động của doanh nghiệp ? Doanh nghiệp của bạn đang hoạt động trên lĩnh vực nào : ngân hàng, bảo hiểm, viễn thông, hay xuất nhập khẩu

- Những ứng dụng nghiệp vụ nào đang được doanh nghiệp sử dụng ? Các hệ thống nghiệp vụ doanh nghiệp đang sử dụng là gì: HRM, CRM, CCBS

- Vấn đề gặp phải hiện nay của doanh nghiệp là gì ? Thiếu thông tin trong hoạt động sản xuất, kinh doanh, thông tin sai lệnh không chính xác, các báo cáo thống kê thiếu sự tin cây,

Bằng việc thực hiện các câu hỏi phỏng vấn chiến lược với các nhà lãnh đạo doanh nghiệp, chúng ta sẽ xác định được mục đích thực sự của họ khi xây dựng kho

- Tổng công ty xăng dầu hoạt động trong lĩnh vực sản xuất, cung cấp và phân phối các sản phẩm của ngành dầu khí như : xăng, dầu, gas

- Hiện tại tổng công ty sử dụng nhiều hệ thống ứng dụng nghiệp vụ khác nhau

từ hệ thống quản lý nhân viên, hệ thống quản lý sản lượng khai thác và tiêu thụ xăng dầu, hệ thống quản lý xuất nhập khẩu xăng dầu,

- Tổng công ty hiện đang gặp phải nhiều vấn đề từ cạnh tranh gay gắt của thị trường kinh doanh xăng dầu trong nước đến xu hướng biến động liên tục của thị trường xăng dầu quốc tế, bao gồm cả những khó khăn trong việc tích hợp

dữ liệu từ các hệ thống ứng dụng nghiệp vụ trong việc lên các báo cáo thông

kê đủ tin cậy về tình hình sản xuất kinh doanh của tổng công ty

Trang 34

Vì vậy ban lãnh đạo tổng công ty xăng dầu cần giải pháp cho những vấn đề đang gặp phải, và kho dữ liệu được chọn như là một phương án giải quyết vấn đề tích hợp dữ liệu từ các hệ thống ứng dụng nghiệp vụ khác nhau, đồng thời là cơ sở

để thực hiện việc phân tích đưa ra được những báo cáo chính xác về tình trạnh hoạt động sản xuất kinh doanh của tổng công ty

2.1.2 Phạm vi xây dựng kho dữ liệu

Một trong những nguyên nhân dẫn đến thất bại khi xây dựng một kho dữ liệu

đó là việc chúng ta xác định phạm vi xây dựng kho dữ liệu quá rộng Việc xây dựng một kho dữ liệu đáp ứng nhiều nghiệp vụ khác nhau là rất khó khăn với nhiều rủi ro

về thời gian và tiền bạc Trong thực tế, người ta thường bắt đầu xây dựng kho dữ liệu cho một vài nghiệp vụ nhất định rồi mở rộng dần nếu muốn Việc lựa chọn phạm vi xây dựng kho dữ liệu phụ thuộc vào định hướng hoạt động của doanh nghiệp theo từng giai đoạn

Ví dụ, trong bài toán xây dựng kho dữ liệu cho tổng công ty xăng dầu, chúng

ta xác định phạm vi xây dựng kho dữ liệu là quản lý lượng xăng dầu trong các kho của tổng công ty Sự lựa chọn này xuất phát từ ba yếu tố:

- Thị trường kinh doanh xăng dầu thế giới ngày càng biến động theo chiều hướng bất lợi cho những đơn vị nhập khẩu xăng dầu Môi trường hoạt động kinh doanh xăng dầu trong nước cạnh tranh ngày càng gay gắt Trước những qui định quản lý kinh doanh xăng dầu ngày càng chặt chẽ của nhà nước, sức

ép của người tiêu dùng đòi hỏi quản lý kinh doanh xăng dầu phải được tổ chức thực hiện một cách hợp lý, để giảm giá thành

- Quản lý tổn kho hàng hoá đóng vai trò quan trọng trong cách điều hành kinh doanh Quản lý tồn kho hàng hoá nhằm cung cấp thông tin hỗ trợ lãnh đạo ra quyết định: nhập hàng hoá, nhập bao nhiêu? nhập vào kho nào? khi nào thì nhập?

- Thông tin về tổn kho hàng hoá sẽ giúp các nhà lãnh đạo ra quyết định đem lại hiệu quả kinh doanh: giảm thiểu chi phí lưu kho, chi phí hao hụt, luôn

Trang 35

luôn chủ động cân đối, điều độ nguồn nhập xuất đáp ứng yêu cầu ổn định nguồn hàng cung cấp cho thị trường

Như vậy, việc lựa chọn phạm vi xây dựng kho dữ liệu hợp lý giúp chúng ta

có những cơ hội kinh doanh tốt hơn

Quá trình xác định nghiệp vụ hệ thống cũng giúp ta xác định được nghiệp vụ

và các đối tượng liên quan Ví dụ như trong bài toán kho dữ liệu cho quản lý kho xăng dầu trên, ta xác định nghiệp vụ ở đây chính là hoạt động quản lý xăng dầu tồn kho với các đối tượng liên quan như kho hàng, nhóm hàng hóa, hàng hóa và các sự kiện xuất nhập hàng hóa vào kho

2.2 Xác định mô hình kiến trúc kho dữ liệu

Chúng ta lựa chọn mô hình kiến trúc ba tầng của kho dữ liệu với vùng xử lý

và vùng dữ liệu chủ đề trong hình 1.6 làm mô hình thiết kế cho kho dữ liệu trong phạm vi luận văn này

2.3 Xác định bảng chiều, bảng sự kiện

Kho dữ liệu được xây dựng dựa trên cơ sở mô hình dữ liệu đa chiều, đồng nghĩa với việc dữ liệu của kho dữ liệu được lưu trữ trong các bảng chiều, bảng sự kiện trong cơ sở dữ liệu Các khái niệm cơ bản về bảng chiều, bảng sự kiện đã được trình bày trong nội dung ―Mô hình dữ liệu đa chiều‖ tại chương đầu tiên của luận văn Trong pha xác định bảng chiều, bảng sự kiện khi thiết kế kho dữ liệu, chúng ta

sẽ đi tìm hiểu các yêu cầu cụ thể khi xây dựng bảng chiều, bảng sự kiện cho kho dữ liệu

2.3.1 Xác định bảng chiều

Bảng chiều được sử dụng để mô tả các chiều, chứa tất cả các thuộc tính đặc trưng của chiều đó Bảng chiều chứa các dữ liệu cần thiết cho việc thực hiện thao tác nghiệp vụ nào đó, đồng thời nó là đối tượng mà ta có thể dựa vào để phân loại

dữ liệu Đồng thời bảng chiều cũng là nơi cung cấp thông tin, ngữ cảnh cụ thể cho

dữ liệu trong bảng sự kiện Việc sử dụng kho dữ liệu để phân tích yêu cầu nào đó phải được gắn với những đối tượng cụ thể, ví dụ như sự kiện bán hàng trong bảng

Trang 36

sự kiện của kho dữ liệu quản lý bán hàng chỉ có nghĩa khi nó được gắn với một chiều cụ thể nếu không nó chỉ là những giá trị vô nghĩa

Do đó, việc xác định chính xác bảng chiều là yêu cầu cực kỳ quan trọng khi thiết kế kho dữ liệu, bất kỳ một sai sót nào trong quá trình xác định bảng chiều có thể dẫn đến thất bại cho cả dự án Nội dung đầu tiên chúng ta cần tìm hiểu là cấu trúc của một bảng chiều

a Cấu trúc bảng chiều

Hình 2.2 Cấu trúc cơ bản một bảng chiều[12]

Về cơ bản các bảng chiều đều có cấu trúc như hình 2.2

Khóa chính của bảng chiều thường là trường dữ liệu kiểu số lưu những giá trị duy nhất, không có ý nghĩa , còn được gọi với tên là khóa thay thế (surrogate key) Khóa thay thế được sinh ra trong các luồng xử lý dữ liệu trong kho dữ liệu, không chịu tác động của các thao tác bên ngoài

Một thành phần khác của bảng chiều là khóa tự nhiên (natural key) Nó đại diện cho một giá trị có nghĩa nào đó của bảng chiều Ví dụ bảng chiều sản phẩm sẽ

có trường productionId lưu mã sản phẩm lấy từ hệ thống nghiệp vụ

Thành phần cuối cùng của bảng chiều ngoài khóa chính, khóa tự nhiên là một loạt các thuộc tính mô tả Các thuộc tính mô tả có thể ở nhiều kiểu dữ liệu khác nhau và số lượng có thể rất nhiều

Trang 37

b Thiết kế phẳng và thiết kế bông tuyết

Bảng chiều thường được thiết kế theo hai kiểu là thiết kế phẳng và thiết kế bông tuyết

Bảng chiều thiết kế phẳng là bảng chứa dữ liệu ở dạng phi chuẩn, nghĩa là đối với những dữ liệu phân cấp khi thiết kế bảng chiều dạng phẳng sẽ được làm phẳng lại vào một thể hiện duy nhất Ví dụ, chiều sản phẩm có dữ liệu sản phẩm ở dạng chuẩn hóa với cấu trúc phân cấp sản phẩmnhóm sản phẩm khi được sử dụng

để thiết kế bảng chiều sản phẩm thì dữ liệu sản phẩm sẽ được làm phẳng, tức gộp hai bảng sản phẩm và nhóm sản phẩm thành một bảng sản phẩm duy nhất Ngược lại, bảng chiều thiết kế bông tuyết giữ nguyên cấu trúc chuẩn hóa của dữ liệu

Việc lựa chọn thiết kế dạng phẳng hay bông tuyết hoàn toàn phụ thuộc vào lựa chọn của đội thiết kế Mỗi một loại đều có ưu, nhược điểm nội tại trong nó

c Bảng chiều thời gian

Bảng chiều thời gian là một bảng chiều đặc biệt trong kho dữ liệu Thông thường chúng ta sẽ tạo bảng chiều này một lần vào đầu dự án rồi giữ nguyên gần như không cập nhật trong suốt vòng đời xây dựng, vận hành, nâng cấp dự án đó Ngoại trừ những trường hợp hi hữu như chính sách công ty thay đổi, hoặc nhà nước thay đổi chính sách nghỉ lễ tết thì sẽ có sự điều chỉnh với bảng chiều thời gian Một cấu trúc đơn giản của bảng chiều thời gian (hình 2.3)

Hình2.3 Cấu trúc bảng chiều thời gian

2.3.2 Xác định bảng sự kiện

Bảng sự kiện là các phép đo của một quá trình kinh doanh, là bảng kết nối giữa các bảng chiều và các độ đo và là nơi chứa dữ liệu phân tích của kho dữ liệu

Trang 38

Trong mô hình dữ liệu đa chiều, cụ thể hơn là trong kho dữ liệu, bảng sự kiện chứa các sự kiện cụ thể, bảng chiều chứa ngữ cảnh của sự kiện đó Mối quan

hệ này cung cấp cho ta một góc nhìn trực quan, đầy đủ về dữ liệu trong kho dữ liệu

a Cấu trúc bảng sự kiện

Hình 2.4 Cấu trúc cơ bản của một bảng sự kiện

Về cơ bản các bảng sự kiện có cấu trúc như hình 2.4

Mỗi bảng sự kiện bao gồm hai thành phần cơ bản là các khóa ngoại tham chiếu đến các bảng chiều và các độ đo

Bảng sự kiện thường không có khóa chính riêng, mà chứa một tập các khóa ngoại liên kết với các bảng chiều Tuy nhiên, chúng ta vẫn có thể tạo khóa chính cho bảng sự kiện nếu muốn

Bảng sự kiện có hai đặc trưng cơ bản là độ đo và độ chi tiết của sự kiện

- Độ đo thường là giá trị số đại diện cho các số liệu kinh doanh Trong thực tế, bảng sự kiện có thể có nhiều độ đo khác nhau

- Độ chi tiết của sự kiện là mức thấp nhất của sự kiện dùng trong phân tích dữ liệu

Trong thực tế bảng sự kiện nào cũng liên kết ít nhất với 3 bảng chiều, thường thì nhiều hơn Độ chi tiết dữ liệu càng cao, kho dữ liệu càng cần nhiều bảng chiều

Trang 39

b Toàn vẹn dữ liệu

Như đã đề cập trước đó, mỗi bản ghi trong bảng sự kiện là một sự kiện cụ thể, được xác định với ngữ cảnh cụ thể Tuy nhiên trong kho dữ liệu, bảng sự kiện lại không có ràng buộc dữ liệu chặt chẽ dẫn đến việc thường xảy ra các lỗi như: dữ liệu trong bảng sự kiện không có ngữ cảnh cụ thể hoặc bản ghi trong bảng chiều bị xóa khi nó đã được sử dụng làm ngữ cảnh cho sự kiện nào đó

Do đó việc cấp thiết cần giải quyết ở đây là kiểm tra tính toàn vẹn của dữ liệu khi ghi chúng vào kho dữ liệu Có ba phương pháp thực hiện việc kiểm tra tính toàn vẹn dữ liệu:

- Kiểm tra kỹ dữ liệu trước khi ghi vào kho dữ liệu và trước khi xóa dữ liệu khỏi bảng chiều

- Đặt ràng buộc toàn vẹn vào kho dữ liệu đảm bảo không nạp dữ liệu sai hoặc xóa dữ liệu đúng trong kho dữ liệu

- Phát hiện và sửa lỗi toàn vẹn dữ liệu sau khi dữ liệu đã ghi vào kho dữ liệu bằng cách kiểm tra định kỳ bảng sự kiện, tìm ra các giá trị lỗi

Thực tế phương án giải quyêt tốt nhất thường chọn là việc kiểm tra kỹ dữ liệu trước khi ghi vào kho dữu liệu

c Phân loại bảng sự kiện

Bảng sự kiện chứa mọi sự kiện đại diện cho hoạt động sản xuất kinh doanh của doanh nghiệp Về cơ bản bảng sự kiện phân thành ba dạng chính, như sau:

- Bảng sự kiện mức chi tiết mô tả một sự kiện bất kỳ xảy ra trong thực tế được ghi nhận vào kho dữ liệu Các độ đo và chiều trong bảng này không mô tả quá trình mà chỉ ghi nhận giá trị thời điểm xảy ra sự kiện Bảng này có quy

mô lớn nhất và chi tiết nhất, là đầu vào để tổng hợp lên các bảng sự kiện có mức tổng hợp cao hơn

- Bảng sự kiện tổng hợp định kỳ mô tả tại một khoảng thời gian nhất định nào

đó và sẽ được lặp lại theo chu kỳ Kiểu thường thấy của dạng này là bảng sự kiện tổng hợp theo ngày, tháng, năm

Trang 40

- Bảng sự kiện lũy kế lưu lại sự kiện có thời gian không định trước như doanh

số một sản phẩm từ lúc ra đời đến hiện tại

d Nạp dữ liệu vào bảng sự kiện

Vì là nơi tập trung số lượng lớn bản ghi trong kho dữ liệu nên việc ghi dữ liệu vào bảng sự kiện không phải là việc đơn giản, cần phải được xử lý cẩn thận

Xử lý index

Index rất hữu ích đối với truy vấn, nhưng ảnh hưởng tiêu cực đến việc ghi dữ liệu Trong một số trường hợp, bảng sự kiện có nhiều index làm chậm việc ghi đến mức có cảm giác cả tiến trình không hoạt động

Cách xử lý: Xoá hết index trước khi ghi dữ liệu; ghi xong tạo lại index

Xử lý partition

Partition cho phép bảng sự kiện (và cả index) được chia thành các bảng sự kiện nhỏ hơn về mặt vật lý Phép chia này cho phép câu truy vấn có thể chạy đến đúng phân khu chứa dữ liệu cần thiết mà không cần tìm kiếm trên toàn bộ bảng sự kiện Nếu được xử lý tốt, partition giúp làm tăng hiệu năng truy vấn lên đáng kể, đặc biệt là các bảng sự kiện lớn

Partitioning thường trong suốt với người dùng, được vận hành với DBA Kỹ thuật thông dụng nhất là phân vùng theo trường thời gian (năm/quý/tháng/tuần/ngày)

Ưu điểm của trường thời gian là luôn ổn định, được định nghĩa sẵn nên chúng ta luôn biết được khoá thay thế sắp được sử dụng là gì để sử dụng Sai lầm thường thấy là người thiết kế thêm một trường thời gian vào bản ghi sự kiện và dùng trường đó để đánh partition Nếu trường thời gian không xuất hiên trong câu truy vấn, việc phân vùng là vô nghĩa Vì vậy chỉ phân vùng vào trường thời gian được người dùng quan tâm, sử dụng

Loại bỏ rollback log

Mặc định tất cả CSDL quan hệ đều hỗ trợ xử lý lỗi khi transaction thất bại Hệ thống tra các bản ghi lỗi về trạng thái trước commit, bằng cách ghi nhận lại tất cả thao tác thay đổi dữ liệu Khi có lỗi, DB đọc bản ghi log này và sửa chữa tất cả thao tác

Ngày đăng: 28/02/2018, 12:11

TỪ KHÓA LIÊN QUAN

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