Khái niệm data warehouse đã ra đời từ đây với mục đích đáp ứng được các yêu cầu cơ bản như sau: Tối ưu hoá cơ sở dữ liệu cho mục đích báo cáo, phân tích dữ liệu Tổng hợp và kết nối
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS.TS HOÀNG XUÂN HUẤN
Hà Nội - 2008
Trang 3ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 4ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS.TS HOÀNG XUÂN HUẤN
Hà Nội - 2008
Trang 5Lời cam đoan
Với mục đích học tập, nghiên cứu để nâng cao kiến thức và trình độ chuyên môn nên tôi đã làm luận văn này một cách nghiêm túc và hoàn toàn trung thực
Trong luận văn, tôi có sử dụng một số tài liệu tham khảo của một số tác giả Tôi đã nêu ra trong phần tài liệu tham khảo ở cuối luận văn
Tôi xin cam đoan và chịu trách nhiệm về nội dung và sự trung thực trong luận văn tốt nghiệp Thạc sĩ của mình!
Học viên, Phạm Văn Vinh
Trang 6Lời cảm ơn
Trước tiên, em xin bày tỏ lời cảm ơn sâu sắc nhất tới thầy giáo hướng dẫn PGS.TS Hoàng Xuân Huấn là người đã tận tình hướng dẫn, chỉ bảo, giúp đỡ em rất nhiều trong quá trình tìm hiểu nghiên cứu để hoàn thành luận văn tốt nghiệp này
Em xin chân thành cảm ơn các thầy cô giáo Đại học Công Nghệ - Đại học Quốc Gia
Hà Nội đã dạy bảo, trang bị cho em những kiến thức cơ bản trong suốt thời gian nghiên cứu và học tập tại trường của em
Em xin chân thành cảm ơn các cô, các chú, các anh, các chị trong Trung tâm công nghệ thông tin - Điện lực Việt Nam cùng toàn thể các bạn bè đã tạo mọi điều kiện và đóng góp những ý kiến bổ ích trong thời gian em làm luận văn tốt nghiệp
Trang 7MỤC LỤC
DANH SÁCH HÌNH VẼ 8
DÁNH SÁCH BẢNG BIỂU 9
BẢNG TỪ VIẾT TẮT 10
TỪ KHOÁ 11
MỞ ĐẦU 12
CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ DATA WAREHOUSE 14
1.1 Giới thiệu 14
1.2 Khái niệm về data warehouse 15
1.3 Lợi ích sử dụng data warehouse 18
1.4 Các thành phần trong môi trường data warehouse 18
1.4.1 Khối các nguồn dữ liệu 19
1.4.2 Khối tạo dựng data warehouse 19
1.4.3 Thành phần lưu trữ dữ liệu 21
1.4.4 Thành phần phân phát thông tin 21
1.4.5 Thành phần siêu dữ liệu 21
1.4.6 Thành phần quản lý và kiểm soát 22
1.4.7 Thành phần ứng dụng 23
1.5 Một số khái niệm liên quan 23
1.5.1 Cơ sở dữ liệu đa chiều 23
1.5.2 Kho dữ liệu tác nghiệp 24
1.5.3 Kho dữ liệu hướng chủ đề 24
1.6 Hệ thống xử lý giao dịch trực tuyến và data warehouse 25
CHƯƠNG 2: KIẾN TRÚC DATA WAREHOUSE 28
2.1 Kiến trúc data warehouse 28
2.2 Các mô hình của data warehouse 29
2.3 Mô hình dữ liệu đa chiều 31
2.3.1 Lược đồ dữ liệu trong data warehouse 34
2.3.2 Định nghĩa lược đồ 38
2.3.3 Độ phân cấp 39
Trang 8CHƯƠNG 3: OLAP VÀ DATA WAREHOUSE 41
3.1 Giới thiệu về OLAP 41
3.2 Đặc trưng của OLAP 43
3.3 Phân tích đa chiều 43
3.4 Các toán tử trong OLAP 44
3.4.1 Toán tử cuốn lên 45
3.4.2 Toán tử khoan sâu 46
3.4.3 Toán tử cắt lát và thu nhỏ 46
3.4.4 Toán tử xoay 46
3.4.5 Một số toán tử khác 46
3.5 Các mô hình trong OLAP 47
3.5.1 Mô hình MOLAP 47
3.5.2 Mô hình ROLAP 47
3.5.3 Lựa chọn mô hình ROLAP hay MOLAP 48
3.5.4 Cách triển khai OLAP 50
CHƯƠNG 4: THIẾT KẾ VẬT LÝ DATA WAREHOUSE 52
4.1 Các yếu tố khi thiết kế vật lý 52
4.1.1 Các đối tượng thiết kế vật lý 52
4.1.2 Từ thiết kế logic tới thiết kế vật lý 53
4.1.3 Các thành phần của mô hình vật lý 53
4.1.4 Ý nghĩa các chuẩn 54
4.2 Các bước thiết kế vật lý 55
4.2.1 Xây dựng tiêu chuẩn 55
4.2.2 Lập kế hoạch tổng thể 56
4.2.3 Xác định lược đồ phân chia dữ liệu 56
4.2.4 Thiết lập khả năng nhóm dữ liệu 56
4.2.5 Thiết lập cách đánh chỉ số 57
4.2.6 Xác định cấu trúc lưu trữ 57
4.2.7 Hoàn thiện mô hình vật lý 57
Trang 94.3 Cấu trúc vật lý 58
4.3.1 Cấu trúc dữ liệu lưu trữ 58
4.3.2 Tối ưu lữu trữ 58
4.3.3 Sử dụng công nghệ RAID 60
4.3.4 Dự đoán kích thước lưu trữ 60
4.4 Đánh chỉ mục cho data warehouse 61
4.4.1 Tổng quan về chỉ mục 61
4.4.2 Chỉ mục B-tree 61
4.4.3 Chỉ mục Bitmap 62
4.4.4 Chỉ mục cho bảng sự kiện 63
4.4.5 Chỉ mục cho bảng chiều 64
4.5 Các kỹ thuật cải tiến hiệu năng 64
4.5.1 Phân loại dữ liệu 64
4.5.2 Phân cụm dữ liệu 66
4.5.3 Xử lý song song 66
CHƯƠNG 5: XÂY DỰNG DATA WAREHOUSE CHO EVN 67
5.1 Tổng quan về hệ thống 67
5.1.1 Giới thiệu về EVN 67
5.1.2 Mô hình tập đoàn 68
5.1.3 Một số thống kê tình hình sản xuất hiện tại 69
5.1.4 Yêu cầu về hệ thống hỗ trợ ra quyết định 70
5.1.5 Mô tả hệ thống 70
5.2 Minh chứng trên số liệu EVN 73
5.2.1 Định hướng 73
5.2.2 Mô tả hệ thống mức khái niệm 74
5.2.3 Mô tả hệ thống mức chi tiết 78
5.2.4 Giới thiệu một số công cụ hỗ trợ 83
5.2.5 Kết quả thực hiện 87
Trang 10CHƯƠNG 6: KẾT QUẢ VÀ BÀN LUẬN 90
6.1 Các kết quả đạt được 90
6.2 Hướng nghiên cứu tiếp theo 91
TÀI LIỆU THAM KHẢO 92
Trang 11DANH SÁCH HÌNH VẼ
Hình 1: Tính chủ đề trong data warehouse 16
Hình 2: Tích hợp trong data warehouse 16
Hình 3: Dữ liệu không thay đổi 17
Hình 4: Các thành phần trong data warehouse 18
Hình 5: Các chu kỳ nạp dữ liệu 20
Hình 6: Thành phần phân phát thông tin 21
Hình 7: Khối dữ liệu đa chiều 23
Hình 8: Data warehouse và OLTP 26
Hình 9: Kiến trúc data warehouse 28
Hình 10: Mô hình cơ bản của data warehouse 29
Hình 11: Mô hình data warehouse và tiến trình thu thập dữ liệu 30
Hình 12: Mô hình đầy đủ về data warehouse 30
Hình 13: Hộp lập phương cho lược đồ dữ liệu 3 chiều 33
Hình 14: Hộp lập phương cho lược đồ dữ liệu 4 chiều 33
Hình 15: Mạng mô tả dữ liệu đa chiều 34
Hình 16: Lược đồ hình sao 35
Hình 17: lược đồ bông tuyết 36
Hình 18: lược đồ chòm sao 37
Hình 19: Các mức phân cấp dữ liệu 40
Hình 20: Mức phân cấp chiều thời gian 40
Hình 21: Mô hình khối dữ liệu 44
Hình 22: Các toán tử trong OLAP 45
Hình 23: Mô hình MOLAP 47
Hình 24: Mô hình ROLAP 48
Hình 25: Sự tương quan giữa MOLAP và ROLAP 49
Hình 26: Kiến trúc triển khai OLAP 50
Hình 28: Quy trình thiết kế 53
Hình 29: Các thành phần của mô hình vật lý 54
Trang 12Hình 30: Tương quan giữa mô hình logic và mô hình vật lý 55
Hình 27: Các bước thiết kế vật lý 55
Hình 31: Mô hình lưu trữ dữ liệu 58
Hình 32: Cấu trúc của chỉ mục B-Tree 62
Hình 33: Cấu trúc của chỉ mục Bitmap 62
Hình 34: Mô hình tập đoàn EVN 68
Hình 35: Sơ đồ tổng quan data warehouse EVN 72
Hình 36: Lược đồ dữ liệu trong data warehouse EVN 73
Hình 37: chiều dữ liệu trong data warehouse EVN 74
Hình 38: Ánh xạ thu thập dữ liệu cho chiều thời gian: DTHOIGIAN 82
Hình 39: Ánh xạ thu thập dữ liệu cho chiều công ty: DCONGTY 82
Hình 40: Ánh xạ thu thập dữ liệu cho bảng sự kiện: CMIS_CUBE 83
Hình 41: Báo cáo đa chiều từ data warehouse EVN đã xây dựng 87
Hình 42: Báo cáo đa chiều với toán tử khoan sâu cho chiều thời gian 88
Hình 43: Sơ đồ đa chiều mô tả sản lượng tiêu thụ điện của các điện lực 88
Hình 44: Dữ liệu và sơ đồ cho một báo cáo đa chiều 89
DÁNH SÁCH BẢNG BIỂU Bảng 1: Data warehouse và kho dữ liệu tác nghiệp 24
Bảng 2: Data warehouse và kho dữ liệu hướng chủ đề 25
Bảng 3: Khung nhìn dữ liệu đa chiều đơn giản 32
Bảng 4: Khung nhìn dữ liệu đa chiều chi tiết 32
Bảng 5: Đặc trưng cơ bản của phân tích đa chiều 43
Bảng 6: Đặc trưng nâng cao của phân tích đa chiều 44
Bảng 7: Bảng so sánh giữa MOLAP và ROLAP 50
Bảng 8- Công suất thiết kế các nhà máy điện 69
Bảng 9: Sản lượng điện sản xuất theo nguồn 70
Bảng 10: Cấu trúc bảng BCSLDGNHAN 78
Bảng 11: Cấu trúc bảng BCHOPDPTAI 78
Bảng 12: Cấu trúc bảng BCCTKH_CTO 79
Trang 13Bảng 13: Cấu trúc bảng BCCTNOI_BO 79
Bảng 14: Cấu trúc bảng BCBDTHEODA 80
Bảng 15: Cấu trúc bảng BCBDTGCTPT 80
Bảng 16: Cấu trúc bảng BCBDTH_GIA 80
Bảng 17: Cấu trúc bảng BCSTHUDUTD 81
Bảng 18: Cấu trúc bảng DTHOIGIAN 81
Bảng 19: Cấu trúc bảng DCONGTY 81
Bảng 20: Cấu trúc bảng CMIS_CUBE 82
BẢNG TỪ VIẾT TẮT
Kho dữ liệu hướng chủ đề DM Datamart
Xử lý giao dịch trực tuyến OLTP Online Transaction Processing
Xử lý phân tích trực tuyến OLAP Online Analytical Processing
Hệ hỗ trợ ra quyết định DSS Decission Suport System
Kho dữ liệu tác nghiệp ODS Operational Data Store
Hệ CSDL quan hệ RDBMS Relational DB Management System
kiện
Fact table
Dimension
Dimension table Điện lực Việt Nam EVN Electricity Of Viet Nam
Trang 14TỪ KHOÁ
Data warehouse, Data mining, Data store, OLAP, data warehouse, xử lý phân tích trực tuyến
Trang 15MỞ ĐẦU
Nhiều thập kỷ nay đã chứng kiến sự phát triển vô cùng mạnh mẽ của công nghệ thông tin Điều này dẫn tới sự xâm nhập mạnh mẽ của công nghệ thống tin vào tất cả các lĩnh vực trong cuộc sống hiện đại từ kinh tế, kỹ thuật cho đến đời sống xã hội Các doanh nghiệp ngày nay hầu như không thể tồn tại được nếu không có các hệ thống công nghệ thống tin tác nghiệp hàng ngày Các hệ thống đó có nhiệm vụ thực hiện các công việc lưu trữ, xử lý tính toán, thống kê dữ liệu theo các nghiệp vụ hàng ngày của doanh nghiệp
Từ năm 1990 khi mà nghiệp vụ trở lên phức tạp hơn, mô hình của công ty không chỉ ở trong một vùng đơn lẻ mà được triển khai, nhân rộng ra nghiều khu vực trên thế giới,
sự cạnh tranh giữa các doanh nghiệp càng trở lên khắc nghiệt trong khi các hệ thống thông tin hiện tại chỉ cung cấp các thông tin tác nghiệp hàng ngày mà chưa thể cung cấp những thông tin mang tính hỗ trợ các nhà quản lý trọng việc hoạch định chiến lược
và ra quyết định Từ những yêu cầu này, việc xây dựng hệ thống theo các phương pháp truyền thống không đáp ứng được và khái niệm kho dữ liệu (data warehouse) ra đời Mặc dù lí thuyết hoàn chỉnh về data warehouse đã ra đời từ năm 1992 nhưng ý tưởng
về nó đã có từ rất lâu và đã được thử thách qua thời gian
Ở Việt Nam, trong những năm trở lại đây, xuất hiện nhu cầu cần xây dựng data warehouse nhằm mục đích khám phá tri thức từ các dữ liệu sẵn có để nâng cao năng lực cạnh tranh của các doanh nghiệp trong thời kỳ nền kinh tế đang phát triển mạnh
mẽ Vì lý do này, tôi chọn hướng nghiên cứu "Thiết kế data warehouse và ứng dụng trong hệ thống thông tin ngành điện" làm đề tài nghiên cứu cho luận văn của
mình Luận văn trình bày là một khảo cứu về data warehouse, bao gồm từ lý thuyết đến cách xây dựng triển khai hệ thống Trên cơ sở đi sâu vào tìm hiểu, phân tích các đặc điểm, thành phần trong data warehouse và tình hình thực tại của doanh nghiệp kinh doanh điện ở nước ta hiện nay là môi trường mà tôi đang làm việc, tôi đã lựa chọn việc xây dựng một data warehouse cho ngành điện làm phần triển khai thực tế của đề tài
Ngoài phần mở đầu và kết luận, cấu trúc nội dung của luận văn bao gồm có 5 chương được tóm tắt như sau:
Chương 1: tập trung trình bày tổng quan về data warehouse và một số khái
niệm liên quan, đồng thời làm rõ các đặc điểm của data warehouse để phân biệt với các hệ thống Phần tiếp theo của chương là trình bày về kiến trúc nhằm làm rõ hơn những lý thuyết đã trình bày trong chương 1 này
Trang 16Chương 2: giới thiệu về kiến trúc, các mô hình, kiến trúc của data warehouse,
các khái niệm về mô hình dữ liệu đa chiều Mô hình dữ liệu đa chiều, đây là một hướng tiếp cận chính trong data warehouse
Chương 3: trình bày công cụ OLAP, từ định nghĩa đến các đặc trưng quan trọng
và nổi bật của OLAP, các phép toán trong công cụ này là gì và những mô hình nào tồn tại trong OLAP, các ưu, nhược điểm và việc lựa chọn khi triển khai
Chương 4: trình bày về quy trình thiết kế vật lý data warehouse Chương này
mô tả các bước thiết kế cũng như xem xét, cân nhắc các yêu tố, công nghệ hiện nay được sử dụng để lưu trữ và tối ưu cho data warehouse
Chương 5: trình bày về cách thức xây dựng data warehouse, minh chứng trên
data warehouse của EVN Mô hình data warehouse tổng quan cho EVN và các bước triển khai chi tiết cụ thể cũng như các kết quả đạt được sau quá trình thiết kế, triển khai
Phần kết luận, phần này trình bày tóm tắt về các nội dung thực hiện trong luận văn này, đồng thời đưa ra những vấn đề nghiên cứu tiếp theo cho tương lai
Trang 17CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ DATA WAREHOUSE
1.1 Giới thiệu
Thời gian qua, sự phát triển mạnh mẽ của công nghệ thống tin đang nhanh chóng đưa
hệ thống thông tin kỹ thuật số ngự trị hệ thống thông tin văn bản cổ truyền và tạo điều kiện quan trọng cho quá trình toàn cầu hoá Công nghệ thông tin làm thay đổi mạnh
mẽ từ hạ tầng kinh tế xã hội tới các phong cách và văn hóa của cá nhân và tổ chức Tri thức đang trở thành sức mạnh quan trọng nhất trong hệ thống kinh tế xã hội Các chuyên gia đánh giá rằng hiện nay các giá trị sản phẩm dựa trên tri thức chiếm hơn nửa tổng sản phẩm quốc nội (Gross Domestic Product - GDP) ở các nước công nghiệp Tài nguyên của hoạt động tri thức và tư duy hệ thống là thông tin, nó cần phải được cung cấp đầy đủ, kịp thời theo đa chiều, đặc biệt là thông tin trái chiều, cá biệt Trong
kỷ nguyên bùng nổ thông tin thì không thể theo dõi hết mà phải biết bao quát nó để đảm bảo hệ thống phát triển Một cách để xử lý lượng thông tin lớn là chú ý cao tới thông tin bất thường Các bất ổn hoặc cơ hội để có ý tưởng mới thường xuất phát từ các xem xét thông tin bất thường này
Nhiều thập kỷ nay đã chứng kiến sự phát triển vô cùng mạnh mẽ của công nghệ thống tin Điều này dẫn tới sự xâm nhập mạnh mẽ của công nghệ thống tin vào tất cả các lĩnh vực trong cuộc sống hiện đại từ kinh tế, kỹ thuật cho đến đời sống xã hội Các doanh nghiệp ngày nay hầu như không thể tồn tại được nếu không có các hệ thống công nghệ thống tin tác nghiệp hàng ngày Các hệ thống đó có nhiệm vụ thực hiện các công việc lưu trữ, xử lý tính toán, thống kê dữ liệu theo các nghiệp vụ hàng ngày của doanh nghiệp
Từ năm 1990 khi mà nghiệp vụ trở lên phức tạp hơn, mô hình của công ty không chỉ ở trong một vùng đơn lẻ mà được triển khai, nhân rộng ra nghiều khu vực trên thế giới,
sự cạnh tranh giữa các doanh nghiệp càng trở lên khắc nghiệt và các hệ thống thông tin hiện tại chỉ cung cấp các thông tin tác nghiệp hàng ngày mà chưa thể cung cấp những thông tin mang tính hỗ trợ các nhà quản lý trọng việc kinh doanh, hoạch định chiến lược và ra quyết định Trong việc điều hành, xử lý công việc, các nhà quản lý thường không chỉ quan tâm chi tiết đến những cái gì xảy ra trong doanh nghiệp mà còn muốn biết tại sao sao như vậy Các yêu cầu trả lời được các dự đoán trong tương lai khi thay đổi các chính sách, chiến lược là yêu cầu hết sức cần thiết
Trong quá trình xử lý dữ liệu nhờ trợ giúp của các hệ thống thông tin, các nhà quản lý thường mong muốn có các câu trả lời từ các câu hỏi như: "Những cái gì đã xảy ra?",
"Tại sao nó lại xảy ra như vậy?" và "Khả năng sẽ xảy ra tiếp theo là như thế nào?"
Trang 18Với các yêu cầu như vậy, việc xây dựng hệ thống theo các phương pháp truyền thống không đáp ứng được và cần phải có một hệ thống thông tin mới trả lời được các câu hỏi nghiệp vụ mà các nhà doanh nghiệp đưa ra
Khái niệm data warehouse đã ra đời từ đây với mục đích đáp ứng được các yêu cầu cơ bản như sau:
Tối ưu hoá cơ sở dữ liệu cho mục đích báo cáo, phân tích dữ liệu
Tổng hợp và kết nối dữ liệu từ các nguồn hệ thống khác nhau
Lập ra các báo cáo nhanh và dễ dàng hơn
Giảm chi phí khi đưa ra các báo cáo so với cách xây dựng hệ thống khác theo phương pháp truyền thống
Đưa ra cái nhìn tổng quát về doanh nghiệp dựa trên dữ liệu được tích hợp từ nhiều nguồn khác nhau
Hỗ trợ việc ra quyết định dựa trên dữ liệu hiện tại và dữ liệu lịch xử
1.2 Khái niệm về data warehouse
Khối lượng dữ liệu từ các nguồn tăng nhanh, đòi hỏi ta phải có sự lựa chọn và tổ chức
dữ liệu hợp lý để phục vụ cho việc tạo nên các quyết định chiến lược, đặc biệt là các quyết định trong điều hành tổ chức từ cấu trúc lưu trữ đó Để có các CSDL theo từng chủ đề cho hệ hỗ trợ ra quyết định (DSS) và thực hiện phân tích trực tuyến nhằm khám phá tri thức trong các tổ chức và doanh nghiệp người ta thường xây dựng ra kho dữ liệu (Data warehouse) tách khỏi các CSDL tác nghiệp Có nhiều cách định nghĩa data
warehouse (DW) nên khó có một định nghĩa chính xác Dưới đây là định nghĩa DW
của W H Inmon được nhiều người sử dụng
Khái niệm về data warehouse được phát triển khi mà các chuyên gia về IT nhận ra rằng cấu trúc của dữ liệu phục vụ cho việc tạo báo cáo trên các giao dịch là khác với cấu trúc dữ liệu phục vụ cho việc phân tích dữ liệu
Vậy data warehouse là gì?
William H Inmon [22] định nghĩa như sau: "data warehouse là tập hợp các dữ liệu
tích hợp, hướng chủ đề, không thay đổi và gắn với thời gian được thiết kế để cung cấp các thông tin cần cho việc ra quyết định"
Đây là một định nghĩa ngắn gọn, nhưng cô đọng và dễ hiểu Định nghĩa này bao hàm đầy đủ các đặc điểm chính của data warehouse Từ định nghĩa này dễ nhận thấy có 4 đặc điểm chính được thể hiện ở đây là: hướng chủ đề, tính tích hợp, dữ liệu không thay đổi và dữ liệu gắn với thời gian và mang tính lịch xử
Dữ liệu có tính hướng chủ đề: Hướng chủ đề trong data warehouse được thể hiện rõ
khi so sánh với các ứng dụng ở hệ thống tác nghiệp Trong hệ thống tác nghiệp, dữ
Trang 19liệu được tổ chức để hỗ trợ các quy trình nghiệp vụ xác định, vì vậy, cùng một dữ liệu
có thể được tổ chức theo các cách khác nhau tại các hệ thống khác nhau Ví dụ, một khách hàng có thể xuất hiện trong nhiều bảng khác nhau trong các cơ sở dữ liệu tác nghiệp nhưng trong data warehouse chỉ có một đối tượng khác hàng trong toàn bộ hệ thống thể hiện những đặc điểm cơ bản của môi trường nghiệp vụ Theo tiêu chí này, data warehouse được thiết kế để giúp người sử dụng phân tích dữ liệu theo một chủ đề nào đó mà nằm rải rác tại nhiều nơi nhằm đưa ra một bức tranh đẩy đủ về chủ đề cần
Hình 1: Tính chủ đề trong data warehouse
Dữ liệu được tích hợp: Đây là đặc điểm quan trọng nhất của data warehouse Dữ
liệu được lấy dữ liệu từ các nguồn dữ liệu bên ngoài vào trong data warehouse theo một định dạng đã được xác định Trong quá trình lấy dữ liệu, nó phải kiểm tra xem có
sự xung đột dữ liệu hay không Quá trình này đảm bảo dữ liệu trong data warehouse được lưu trữ theo một cấu trúc thống nhất, toàn vẹn
Hình 2: Tích hợp trong data warehouse
Trang 20 Không thay đổi dữ liệu: Các dữ liệu trong hệ thống tác nghiệp thường chỉ được dữ
lại trong một khoảng thời gian ngắn (từ 3 đến 6 tháng) với mục đích phục vụ các các hoạt động nghiệp vụ hàng ngày Tuy nhiên, trong data warehouse dữ liệu được lưu trữ dài hơn nhằm phục vụ cho mục đích phân tích dữ liệu Sau khi dữ liệu được đưa vào data warehouse, chúng ta sẽ không nên thay đổi chúng nhằm đảm bảo tính nguyên thuỷ của dữ liệu Bởi vì mục đích của data warehouse là giúp chúng ta phân tích cái gì
đã xảy ra
Hình 3: Dữ liệu không thay đổi
Dữ liệu gắn với thời gian và mang tính lịch xử: data warehouse bao gồm một khối
lượng lớn các dữ liệu lịch xử Dữ liệu được lưu trữ thành một loạt các phiên bản, mỗi phiên bản phản ánh dữ liệu tại một thời điểm nhất định Chúng được sử dụng để phân tích xu hướng phát triển kinh doanh của doanh nghiệp
Tóm lại, data warehouse là một kho dữ liệu thống nhất được thiết kế trên một mô hình
dữ liệu vật lý hỗ trợ việc ra quyết định nhằm giúp các doanh nghiệp tạo ra các quyết định chiến lược Data warehouse cũng thường được xem như là một kiến trúc được tạo dựng bởi nhiều nguồn dữ liệu hỗn độn khác nhau có đặc tính hỗ trợ các truy vấn có cấu trúc và phi cấu trúc, các báo cáo phân tích và khả năng tạo ra quyết định
So với các hệ thống tác nghiệp của doanh nghiệp thì data warehouse có các đặc trưng khác nổi bật như sau:
Dữ liệu có tính chất chỉ đọc
Dữ liệu được cập nhật một cách định kỳ
Dữ liệu được thiết kế cho vấn đề phân tích, báo cáo nghiệp vụ
Dữ liệu được trích từ nhiều ứng dụng khác nhau
Dễ sử dụng và cho phép các người sử dụng lấy dữ liệu phân tích dễ dàng
Người sử dụng có thể tương tác trực tiếp với hệ thống mà không cần có kiến thức nhiều của IT
Thể hiện được những thông tin hiện thời và thông tin lịch xử
Trang 211.3 Lợi ích sử dụng data warehouse
Định nghĩa về data warehouse đề cập ở trên cho thấy mục đích chính của nó là việc sử
dụng cho mục đích phân tích và ra quyết định Tuy nhiên có một câu hỏi đặt ra là: “Tại
sao không thực hiện việc xử lý phân tích trực tuyến trên các CSDL tác nghiệp thay vì việc tiêu tốn thời gian, tiền của để tạo ra một data warehouse riêng biệt?” Một số lý
do giải thích cho vấn đề này như sau:
Data warehouse được thiết kế để có thể đáp ứng tốt cho các yêu cầu truy vấn dữ liệu tổng thể khi chạy trên một lượng dữ liệu lớn
Cấu trúc của data warehouse thường là dễ định hướng hơn, và dễ hiểu hiểu khi so sánh với các ứng dụng tác nghiệp đối với những người dùng cuối Nó không giống với các với các cơ sở dữ liệu quan hệ mà mục tiêu chính là thiết kế ra để xử lý các giao dịch Với data warehouse, người dùng có thể truy vấn về các hoạt động riêng rẽ của doanh nghiệp Ví dụ như người dùng có thể so sánh dữ liệu hàng hóa với dữ liệu kiểm kê hàng ngày ngay cả khi các dữ liệu này được lưu ở những cơ sở dữ liệu khác nhau với các cấu trúc khác nhau
Những câu truy vấn để lấy được dữ liệu cần thiết thường trở lên rất phức tạp trong cơ
sở dữ liệu chuẩn hóa nhưng lại rất đơn giản và hiệu quả trong môi trường data warehouse và một điểm mạnh nữa là data warehouse còn giúp giảm tải trên các hệ thống giao dịch khi có yêu cầu về báo cáo, phân tích
Việc tách biệt cơ sở dữ liệu tác nghiệp và data warehouse là dựa trên cấu trúc và mục đích sử dụng khác nhau Các hệ thống hỗ trợ ra quyết định thì cần data warehouse bởi một đặc điểm hết sức quan trọng là dữ liệu mang tính lịch xử còn các cơ sở dữ liệu tác nghiệp thì chỉ lưu dữ liệu theo một chu kỳ nào đó
1.4 Các thành phần trong môi trường data warehouse
Hình bên dưới chỉ ra các thành phần cơ bản trong môi trường data warehouse
Hình 4: Các thành phần trong data warehouse
Trang 22Theo hình vẽ này, Môi trường data warehouse bao gồm các thành phần sau: khối các
nguồn dữ liệu, khối tạo dựng data warehouse, thành phần lưu trữ dữ liệu, thành phần phân phát thông tin, thành phần siêu dữ liệu (metadata), thành phần quản lý và kiểm soát và thành phần ứng dụng
1.4.1 Khối các nguồn dữ liệu
Là một thành phần mấu chốt trong hệ thống data warehouse Nó có thể chia thành 4 loại như sau:
Dữ liệu tác nghiệp: Đây là loại dữ liệu được lấy từ các hệ thống tác nghiệp khác nhau
trong doanh nghiệp Dựa trên nhưng yêu cầu thông tin trong data warehouse, ta phải chọn ra các loại dữ liệu từ các hệ thống tác nghiệp này Trong quá trình xử lý dữ liệu này, ta sẽ gặp cùng một loại dữ liệu nhưng được lưu ở nhiều định dạng khác nhau và ở các hệ quản trị cơ sở dữ liệu khác nhau Đặc trưng nổi bật của loại dữ liệu này là sự không tương đồng vì vậy, thách thức lớn nhất là việc làm sạch, chuẩn hoá dữ liệu trước khi đưa và lưu trữ trong data warehouse
Dữ liệu nội bộ: Trong các tổ chức, người sử dụng lưu giữ các bảng tính riêng, tài liệu
riêng và đôi khi là cả một cơ sở dữ liệu của phòng ban Chúng cần thiết phải được chuyển đổi và lưu giữ trong data warehouse
Dữ liệu lịch xử: Trong các hệ thống tác nghiệp, bạn thường xuyên phải lấy ra dữ liệu
cũ và lưu trữ nó ra các tệp trên hệ thống và đôi khi dữ liệu này được loại bỏ sau một khoảng thời gian do nghiệp vụ của hệ thống quy định Theo cách đề cập ở trên Data warehouse có chức năng lưu trữ dữ liệu lịch xử nhằm mục đích phân tích dữ liệu theo lịch xử Theo cách này bạn phải tìm kiếm thông tin trong tập dữ liệu lịch xử này và phụ thuộc vào yêu cầu dữ liệu của data warehouse để trích lọc và lưu trữ chúng
Dữ liệu ngoài: Là loại dữ liệu không do các hệ thống tác nghiệp của doanh nghiệp tạo
ra nhưng góp phần quan trọng cho mục đích phân tích dữ liệu Ví dụ như data warehouse cho một công ty cho thuê xe hơi có chứa dữ liệu về kế hoạch sản xuất hiện tại của các hãng sản xuất xe hơi đầu bảng
1.4.2 Khối tạo dựng data warehouse
Sau khi trích chọn dữ liệu từ các hệ thống tác nghiệp khác nhau, dữ liệu cần phải được làm sạch trước khi lưu trữ vào data warehouse Các dữ liệu trích chọn này đến từ nhiều nguồn khác nhau cần được chuyển đổi theo định dạng để lưu trữ nhằm thuận lợi cho việc truy vấn và phân tích dữ liệu
Ba chức năng chính cần được thực hiện trong thành phần tạo dựng dữ liệu này là trích lọc dữ liệu, truyền đổi và đẩy dữ liệu vào hệ thống lưu trữ của data warehouse
Trang 23Trích lọc dữ liệu: Chức năng này thực hiện với một lượng lớn dữ liệu Vì vậy, cần
phải lựa chọn một kỹ thuật thích hợp cho mỗi một loại dữ liệu nguồn Dữ liệu ở các nguồn có thể nằm trong một hệ quản trị cơ sở dữ liệu hoặc là một mô hình dữ liệu phân cấp hoặc đôi khi là các tệp với định dạng khác nhau trên hệ thống
Trích lọc dữ liệu đòi hỏi vấn đề quản lí thời gian tốt và hiệu năng trích lọc dữ liệu Trong mọi phương thức trích lọc thì các siêu dữ liệu đóng một vai trò quan trọng Dữ liệu cần thiết được hiển thị là dữ liệu được định nghĩa trong siêu dữ liệu điều khiển tiến trình này Dữ liệu sau khi được trích từ nhiều nguồn khác nhau được đưa vào một kho tạm để xử lí rồi mới thực sự được đưa vào data warehouse
Chuyển đổi dữ liệu: Trong các vấn đề về triển khai hệ thống, chuyển đổi dữ liệu là
một phần quan trọng Nó có nhiều vấn đề và thách thức hơn quá trình trích lọc dữ liệu Trong phần chuyển đổi dữ liệu, bạn cần phải thực hiện một số các công việc riêng biệt Trước tiên, dữ liệu được trích từ các nguồn khác nhau cần được làm sạch Việc làm sạch này không chỉ làm đúng dữ liệu mà nó còn giải quyết một số xung đột của dữ liệu
từ nguồn như việc làm đúng dữ liệu giữa mã nước hay mã bưu điện Một kiểu xung đột khác như đưa ra giá trị mặc định cho những dữ liệu bị thiếu, loại bỏ việc trùng giá trị
Chuyển đổi dữ làm là chuyển đổi dữ liệu thành một thể thống nhất và đồng bộ Tiến trình này kiểm tra tính toàn vẹn của dữ liệu và sau đó tạo ra các trường chỉ mục, khoá chính
Sau quá trình chuyển đổi dữ liệu, ta đã có được một tập hợp dữ liệu đã được làm sạch, chuẩn hoá và là những dữ liệu khái quát hệ thống Bước tiếp theo là chuyển dữ liệu này vào data warehouse
Nạp dữ liệu: Khi đã xây dựng xong thiết kế về tạo dựng data warehouse, cần phải nạp
dữ liệu vào cấu trúc lưu trữ của data warehouse Việc nạp dữ liệu ban đầu cho data warehouse sẽ di chuyển một lượng lớn dữ liệu từ nhiều nguồn khác nhau và tốn rất nhiều thời gian Khi data warehouse đã đi vào vận hành, công việc tiếp theo là chỉ nạp những dữ liệu đã thay đổi tại các nguồn dữ liệu kể từ lần nạp dữ liệu gần nhất Hình bên dưới minh hoạ một số kiểu thông thường cho quá trình nạp dữ liệu
Hình 5: Các chu kỳ nạp dữ liệu
Trang 241.4.3 Thành phần lưu trữ dữ liệu
Thành phần lưu trữ dữ liệu trong data warehouse là một cái kho riêng biệt Các hệ thống tác nghiệp của doanh nghiệp phục vụ các hoạt động tác nghiệp hằng ngày của doanh nghiệp và chỉ lưu dữ liệu hiện hành còn với data warehouse thì dữ liệu được cấu trúc, lưu trữ theo định dạng chuẩn hoá cao nhằm mục đích tạo quy trình xử lý nhanh
và hiệu quả Ngoài ra, data warehouse cần có kích thước lớn để lưu trữ dữ liệu lịch xử Một điểm khác nữa là dữ liệu trong data warehouse được cấu trúc hoá sao cho phù hợp với mục đích phân tích dữ liệu Dưới đây là một số đặc điểm sử dụng vận hành môi trường data warehouse với thành phần lưu dữ liệu này
Các hàm sử dụng tiêu tốn nhiều thời gian
Việc nạp dữ liệu ban đầu thao tác với một lượng lớn dữ liệu
Chu kỳ lấy dữ liệu do nghiệp vụ quy định
1.4.4 Thành phần phân phát thông tin
Hình 6: Thành phần phân phát thông tin
Trong doanh nghiệp, mỗi người dùng cần những thông tin phân tích khác nhau Thành phần này bao gồm nhiều phương pháp phân phát thông tin khác nhau nhằm cung cấp thông tin để truyền thông rộng rãi giữa các người dùng Hình vẽ trên chỉ ra các phương pháp phân phát thông tin khác nhau trong môi trường data warehouse Báo cáo phi cấu trúc (ad hoc) là những mẫu báo cáo được định nghĩa trước phục vụ cho những người dùng mới, bình thường không quan trọng Phương pháp truy vấn phức tạp (complex queries), phân tích dữ liệu đa phương tiện (MD Analysis), phân tích thông kê (Statistical Analysis) phục vụ cho những user quan trọng có hiểu biết về nghiệp vụ
cho các ứng dụng khai phá dữ liệu
1.4.5 Thành phần siêu dữ liệu
Siêu dữ liệu (metadata) trong data warehouse là khái niệm giống với từ điển dữ liệu hay là mục lục dữ liệu trong hệ quản trị cơ sở dữ liệu Trong từ điển dữ liệu, ta lưu
Trang 25thông tin về cấu trúc dữ liệu logic, thông tin về các files, địa chỉ, thông tin về chỉ mục Từ điển dữ liệu chứa thông tin dữ liệu về dữ liệu trong cơ sở dữ liệu
Cũng giống như vậy, thành phần siêu dữ liệu là dữ liệu định nghĩa về dữ liệu trong data warehouse nhằm trả lời các câu hỏi có liên quan đến dữ liệu Thành phần này được sử dụng để xây dựng, quản lý và duy trì data warehouse
Siêu dữ liệu trong data warehouse có thể phân ra thành 3 loại chính như sau:
Siêu dữ liệu tác nghiệp
Siêu dữ liệu trích chọn và chuẩn hoá dữ liệu
Siêu dữ liệu người dùng
1 Siêu dữ liệu tác nghiệp
Do dữ liệu từ data warehouse đến từ nhiều nguồn khác nhau của doanh nghiệp Các hệ thống nguồn dữ liệu này có các cấu trúc dữ liệu khác nhau, các phần tử lưu trữ dữ liệu cho data warehouse có độ dài cũng như kiểu thành phần là khác với phần tử của dữ liệu nguồn Trong việc thu thập dữ liệu nguồn, cần phải tách hoặc nhóm dữ liệu của các bản ghi để phù hợp với yêu cầu lưu dữ liệu trong data warehouse Các siêu dữ liệu tác nghiệp là loại thông tin lưu tất cả các thông tin này của các nguồn dữ liệu tác nghiệp của doanh nghiệp
2 Siêu dữ liệu trích chọn và chuẩn hoá dữ liệu
Siêu dữ liệu trích chọn và chuẩn hoá lưu dữ liệu về việc trích lọc dữ liệu từ các nguồn khác nhau, các thông tin về thứ tự trích chọn, phương pháp trích chọn, nguyên tắc nghiệp vụ cho việc trích chọn dữ liệu Như vậy, loại dữ liệu này chứa đựng tất cả các thôn tin về biến đổi dữ liệu trong quá trình thao tác với dữ liệu
3 Siêu dữ liệu người dùng
Là loại dữ liệu cung cấp cho người dùng khả năng tìm kiếm thông tin về data warehouse, là dữ liệu về dữ liệu, nhằm trả lời câu hỏi ai, cái gì, khi nào, tại sao, như thế nào về dữ liệu
1.4.6 Thành phần quản lý và kiểm soát
Thành phần này trong kiến trúc data warehouse nằm ở lớp trên cùng so với các thành phần khác theo hình vẽ số 4 mô tả ở trên Nó phối hợp cùng với các dịch vụ và hoạt động trong data warehouse nhằm kiểm soát việc truyền thông dữ liệu và chuyển dữ liệu vào trong cấu trúc lưu trữ dữ liệu data warehouse Thành phần này tương tác với thành phần siêu dữ liệu để thực hiện quản lý và kiểm soát các hàm thông qua nguồn thông tin siêu dữ liệu
Trang 261.4.7 Thành phần ứng dụng
Thành phần này có nhiệm vụ:
- Sử dụng các công cụ chuẩn để tạo báo cáo, phân tích mô hình hoá tác nghiệp
- Dùng các phần mềm trợ giúp ra quyết định, khai thác dữ liệu
Như vậy, nhìn tổng thể thì kiến trúc khung của data warehouse khá phức tạp Mỗi thành phần hay tiến trình trong mô hình đều được đặc tả bằng siêu dữ liệu đi kèm với lớp hay tiến trình đó Rõ ràng, siêu dữ liệu không những mô tả dữ liệu trong data warehouse mà nó còn mo tả tiến trình cũng như hoạt động của chúng
1.5 Một số khái niệm liên quan
1.5.1 Cơ sở dữ liệu đa chiều
Cơ sở dữ liệu đa chiều là loại cấu trúc dữ liệu mới đặc biệt thích hợp cho phân tích trực tuyến (OLAP) Ưu điểm chính là chúng được tổ chức theo cách nhìn của nhà quản
lý chứ không phải theo cách nhìn của nhà phân tích hệ thống Chúng dựa trên 4 khái niệm cơ bản:
Chiều : một chiều mô tả một thuộc tính có phân cấp miền Chẳng hạn : sản
phẩm, người bán, miền thị trường, vị trí địa lý
Phân cấp miền: là thuộc tính thứ tự theo cấu trúc dàn của thuộc tính Chẳng hạn: địa phương và loại sản phẩm có tính phân cấp
Độ đo Là các độ đo số phụ thuộc vào tập các chiều cho ta ngữ cảnh của các đại lượng đo được, mỗi chiều chỉ có một độ đo Mộ số ví dụ về độ đo như : Tiền, số lượng hoặc khối lượng tiêu thụ, lợi nhuận
Thời gian : hàng ngày, tháng, quý, năm
Hình 7: Khối dữ liệu đa chiều
Jan
Feb March
Trang 27Như vậy , khi cần người quản lý có thể biết được mức tiêu thụ của một hoặc một số loại sản phẩm ở một hoặc một số người bán hay địa điểm Kiểu dữ liệu này thích hợp cho các hệ thống sử dụng thông tin tổng hợp và chi tiết, các hệ dự báo và phân tích lượng
1.5.2 Kho dữ liệu tác nghiệp
Kho dữ liệu tác nghiệp (Operational Dataabase Store - ODS) là dữ liệu được sử dụng trong môi trường tác nghiệp phục vụ cho các ứng dụng tác nghiệp
Kho dữ liệu tác nghiệp lưu trữ dữ liệu với mục đích hỗ trợ quyết định đối với các dữ liệu tác nghiệp hoặc là nơi thu thập dữ liệu từ các nguồn để cung cấp data warehouse ODS cũng có hướng chủ đề như data warehouse, được tích hợp vào data warehouse nhưng ODS dễ biến động, ODS lưu trữ dữ liệu hiện thời và chỉ lưu trữ dữ liệu chi tiết chứ không có tính toán hay tổng hợp như data warehouse
Data warehouse có thể lấy dữ liệu từ ODS hoặc trực tiếp từ các nguồn bên ngoài
Data warehouse Kho dữ liệu tác nghiệp Mục đích Hỗ trợ nhà quản lý nhằm
đưa ra những quyết định chiến lược
Hỗ trợ các nhà quản lý kiểm soát các hoạt động của hệ thống tác nghiệp
Khác nhau Dữ liệu tĩnh, không thay đổi Dữ liệu thay đổi
Dữ liệu mang tính lịch xử Dữ liệu chỉ phản ánh hiện
trạng doanh nghiệp Chứa dữ liệu tổng kết, khái
Bảng 1: Data warehouse và kho dữ liệu tác nghiệp
1.5.3 Kho dữ liệu hướng chủ đề
Trung tâm của hệ thống là data warehouse Nó lưu trữ toàn bộ dữ liệu lấy từ nguồn dữ liệu bên ngoài Thực chất nó là một hệ quản trị cơ sở dữ liệu đã được điều chỉnh cho phù hợp với mục đích của người thiết kế
Về mặt logic, data warehouse có cấu trúc được tổ chức theo từng chủ đề Do vậy, việc đánh giá chất lượng dữ liệu phải dựa trên các tiêu chí khác nhau
Với lý luận như vậy, có thể phân data warehouse ra thành các kho dữ liệu hướng chủ
đề (Datamart viết tắt là DM) Mỗi DM có một chủ đề rõ ràng hơn Data warehouse và các DM có thể để trên các server khác nhau Mỗi DM mang lại cho những nhóm người
Trang 28sử dụng cụ thể các giải pháp họ quan tâm và được thiết kế một cách đặc biệt để sử dụng dễ dàng và nhanh hơn
Như vậy, DM là một data warehouse tương tự như data warehouse nhưng với quy mô nhỏ hơn và lưu trữ dữ liệu về một lĩnh vực Dữ liệu trong DM cho thông tin về một chủ đề xác định, không phải là về toàn bộ hoạt động của doanh nghiệp
DM thường được xuất hiện trong các doanh nghiệp như là một bước đầu tiên để xây dựng data warehouse Việc xây dựng thành công với DM sẽ giúp doanh nghiệp tiếp cận dễ dàng hơn khi xây dựng data warehouse
DM có thể là một phần dữ liệu được lấy từ data warehouse hoặc có thể được xây dựng độc lập, sau đó kết hợp với các DM khác để hình thành data warehouse Bởi vậy, có 2 loại DM:
- DM phụ thuộc: lấy dữ liệu từ data warehouse và những dữ liệu được lấy ra, tinh lọc, tích hợp mức cao, phục vụ cho chủ để của DM Như vậy, DM theo cách này được hình thành sau khi đã xây dựng xong data warehouse
- DM độc lập: là loại DM mà khi người ta xây dựng ra trước và sau đó tập hợp các
DM này mới hình thành nên data warehouse, dữ liệu của DM này được lấy trực tiếp
từ các nguồn Phương pháp xây dựng data warehouse này là đơn giản hơn, chi phí thấp nhưng do các DM độc lập nên dữ liệu từ nhiều DM này là khó đồng nhất
Data warehouse Kho dữ liệu hướng chủ đề
Sử dụng ở mức tập đoàn/doanh nghiệp Sử dụng mức phòng ban/đơn vị
Là tập hợp các kho dữ liệu hướng chủ
đề
Là một quy trình nghiệp vụ đơn giản
Dữ liệu lấy từ vùng thu thập Thường sử dụng lược đồ dữ liệu hình
sao khi thiết kế data warehouse Cấu trúc dữ liệu với khung nhìn mức
doanh nghiệp
Sử dụng các công nghệ nhằm tối ưu cho việc truy cập và phân tích dữ liệu Được tổ chức trên mô hình E-R Cấu trúc phù hợp cho các khung nhìn
mức phòng ban, chủ đề
Bảng 2: Data warehouse và kho dữ liệu hướng chủ đề
1.6 Hệ thống xử lý giao dịch trực tuyến và data warehouse
Hầu hết chúng ta đều đã quen với sản phẩm thương mại là hệ cơ sở dữ liệu quan hệ Sản phẩm này có đặc điểm là dễ hiểu Công việc chính trên kho dữ liệu tác nghiệp này
là xử lý các giao dịch và truy vấn trực tuyến Các hệ thống này có tên gọi là hệ thống
xử lý giao dịch trực tuyến (Online Transaction Processing – OLTP) Hệ thống này bao phủ lên hầu hết các hoạt động hàng ngày của doanh nghiệp So với môi trường data warehouse, nó có những điểm khác biệt chính được mô tả qua hình vẽ bên dưới:
Trang 29Hình 8: Data warehouse và OLTP
Một trong những điểm khác nhau chính giữa hai kiểu hệ thống này là data warehouse thường được thiết kế không tuân theo chuẩn 3NF trong khi thiết kế các hệ thống OLTP thường tuân theo chuẩn này
Ngoài ra data warehouse và hệ thống OLTP còn có những yêu cầu rất khác nhau thể hiện ở các đặc điểm sau:
Độ chịu tải: Data warehouse được thiết kế để phù hợp với các truy vấn đặc biệt Khi
truy vấn data warehouse, người dùng thường không biết trước được mức độ chịu tải của hệ thống cho nên data warehouse cần phải được thiết kế tối ưu để có thể thực hiện tốt trên nhiều các hoạt động truy vấn khác nhau
Các hệ thống OLTP thường chỉ hỗ trợ những hoạt động đã được định nghĩa trước chi nên ứng dụng có thể được tối ưu và thiết kế ngay từ ban đầu để hỗ trợ các hoạt động
đó
Thay đổi dữ liệu: Data warehouse chỉ được cập nhật theo chù kỳ đều đặn cơ bản theo
quy trình trích lọc, làm sạch và tải dữ liệu sử dụng kỹ thuật cập nhật lượng dữ liệu lớn Người dùng cuối của với hệ thống data warehouse thì không trực tiếp thay đổi dữ liệu này
Trái ngược với mô tả trên, trong hệ thống OLTP người dùng thường xuyên thay đổi dữ liệu thông qua các câu lệnh SQL đơn lẻ nhằm phản ánh trực tiếp các giao dịch nghiệp
vụ hiện hành
Lược đồ dữ liệu: Data warehouse thường sử dụng lược đồ dữ liệu phi chuẩn (ví dụ
lược đồ hình sao) nhằm mục đích tối ưu hóa hiệu năng truy vấn
Hệ thống OLTP thường sử dụng các lược đồ dữ liệu chuẩn hóa (thường là chuẩn 3NF)
để tối ưu hiệu năng của các thao tác thêm/sửa/xóa và đảm bảo tính toàn vẹn về mặt dữ liệu
Trang 30Thao tác với dữ liệu: Các truy vấn trong data warehouse thường quét trên hàng nghìn
hoặc hàng triệu dòng trong khi các thao tác trên hệ thống OLTP thường chỉ trên một lượng nhỏ các bản ghi
Dữ liệu lịch xử: Data warehouse thường lưu dữ liệu của nhiều tháng, nhiều năm nhằm
mục đích hỗ trợ các phân tích dữ liệu
Hệ thống OLTP thường lưu dữ liệu theo tuần hoặc theo tháng Nó chỉ lưu dữ liệu lịch
xử khi cần đảm bảo thành công cho một yêu cầu nào đó của giao dịch hiện thời
Trang 31CHƯƠNG 2: KIẾN TRÚC DATA WAREHOUSE
2.1 Kiến trúc data warehouse
Kiến trúc data warehouse thường được xem xét dưới mô hình kiến trúc 3 tầng như sau:
Hình 9: Kiến trúc data warehouse
Tại mức đáy của kiến trúc này chính là kho dữ liệu được quản lý bởi một hệ quản trị
cơ sở dữ liệu quan hệ Dữ liệu này được trích lọc và làm sạch từ các cơ sở dữ liệu tác nghiệp hay các nguồn dữ liệu bên ngoài và được lưu vào data warehouse Sau đó khối
dữ liệu được phân ra các kho dữ liệu hướng chủ đề Các chương trình hỗ trợ việc lấy
dữ liệu này được hỗ trợ bởi các hệ quản trị cơ sở dữ liệu để tạo ra các mã SQL thực thi Ngoài ra, tầng này cũng có chứa các siêu dữ liệu để lưu các thông tin về cấu trúc data warehouse
Data warehouse thường được lưu trên một cơ sở dữ liệu quan hệ chuẩn hoặc một cơ sở
dữ liệu quan hệ mở rộng, được gọi là OLAP server Server OLAP (Online Analytical Processing) nằm ở tầng giữa này có thể là OLAP quan hệ (Relational OLAP - ROLAP) hoặc một OLAP đa chiều (Multidimentional OLAP - MOLAP) 2 mô hình này được trình bày trong phần 2.3 tiếp theo
Trang 32Tầng trên cùng là tầng cho người sử dụng Tầng này bao gồm các công cụ báo cáo/truy vấn, công cụ phân tích và các công cụ khai phá dữ liệu giúp các nhà quản lý có cái nhìn toàn cục về chính doanh nghiệp của mình
2.2 Các mô hình của data warehouse
DW cung cấp các truy vấn hỗ trợ quyết định thông qua ngôn ngữ SQL và các công cụ của OLAP Khi xây dựng DW cần lưu ý tới các khung nhìn dữ liệu, kiến trúc tầng và các truy vấn
Kiến trúc data warehouse thường biến đổi tùy theo kiến trúc, tình huống của doanh nghiệp Trong mục sau giới thiệu một số mô hình kiến trúc của data warehouse từ đơn giản đến phức tạp
Mô hình cơ bản:
Hình vẽ bên dưới chỉ ra kiến trúc cơ bản của data warehouse Người dùng cuối truy cập trực tiếp vào dữ liệu mà được thu thập từ các hệ thống nguồn thông qua data warehouse
Trong data warehouse có siêu dữ liệu và dữ liệu tổng hợp Chúng là những dữ liệu cũng có mặt trong các hệ thống OLTP
Dữ liệu tổng hợp có ý nghĩa rất quan trọng data warehouse bởi vì để có được chúng,
hệ thống phải cần nhiều thời gian để tính toán Chúng thường được tính toán trước để tiết kiệm thời gian truy vấn
Hình 10: Mô hình cơ bản của data warehouse
Các công cụ truy cập tới data warehouse, lấy dữ liệu để phân tích, lập báo cáo hoặc khai thác cho các mục đích khác
Mô hình có các tiến trình thu thập dữ liệu:
Trang 33Các tiến trình thu thập dữ liệu là tiến trình trích chọn, làm sạch và tải dữ liệu từ các data warehouse bên ngoài vào data warehouse
Những tiến trình này lấy dữ liệu từ các data warehouse bên ngoài rồi đưa vào một kho trung gian Sau đó, chúng mới được đưa vào data warehouse
Kho trung gian giúp đơn giản hoá tổng hợp dữ liệu trong data warehouse và đơn giản quản lí data warehouse
Hình 11: Mô hình data warehouse và tiến trình thu thập dữ liệu
Mô hình data warehouse với đầy đủ:
Mô hình này giúp chúng ta có thể tuỳ biến kiến trúc data warehouse cho các nhóm người sử dụng khác nhau
Hình 12: Mô hình đầy đủ về data warehouse
Trang 34Thực tế, mô hình này phân nhỏ data warehouse thành các data warehouse nhỏ hơn gọi
là kho dữ liệu hướng chủ đề để phục vụ cho những chủ đề khác nhau
2.3 Mô hình dữ liệu đa chiều
Data warehouse và các công cụ OLAP đều dựa trên dựa trên mô hình dữ liệu đa chiều
Mô hình này xem xét dữ liệu dưới hình dạng dữ liệu n chiều (data lược đồ) Như vậy,
dữ liệu đa chiều là gì? "Dạng dữ liệu đa chiều là kiểu mà dữ liệu được mô hình hoá và
được xem xét dưới góc độ đa chiều Dạng dữ liệu này được được tạo ra bởi các chiều (dimention) và các sự kiện ( fact)."
Chiều được xem như là một thực thể mà lưu giữ các bản ghi để mô tả, làm rõ các giá
trị cần phần tích Ví dụ như một công ty điện tử có tên viết tắt là AllElectronics xây dựng một data warehouse hướng về chủ đề bán hàng nhằm lưu trữ các bản ghi mô tả việc kinh doanh sản phẩm theo các chiều như thời gian, sản phẩm, kho hàng, và thành
phố Mỗi chiều đều có một bảng quan hệ liên kết với nó và được gọi là bảng chiều
Như vậy, dữ liệu trong bảng chiều thường có mục đích miêu tả giá trị sự kiện trong bảng sự kiện và thường ở dạng text
Các câu truy vấn sẽ sử dụng điều kiện where với các tiêu chí là các cột thuộc bảng dimension để xác định giá trị fact của bảng sự kiện
Trong bảng dimension có ràng buộc duy nhất tương ứng với foreign key ở bảng sự kiện
Mô hình dữ liệu đa chiều tổ chức dữ liệu xung quanh một thực thể trung tâm như bảng
Bán hàng ở trên Thực thể trung tâm này được gọi là bảng sự kiện (fact) Bảng này có
kích thước lớn và có chứa các giá trị độ đo (measure) cùng với các giá trị tương ứng với giá trị khóa trong các bảng chiều mà nó có quan hệ đến Như vậy, bảng sự kiện thường chứa 2 loại cột và có đặc điểm sau:
Các cột sự kiện (còn gọi là cột fact) Chúng là những tiêu chí đánh giá hoạt động
của doanh nghiệp
Các cột khoá ngoài tương ứng với khoá chính của bảng chiều Chúng chỉ ra
mối quan hệ giữa bảng sự kiện với bảng chiều
Những cột khoá ngoài trong bảng sự kiện tập hợp thành một cột khoá chính cho bảng sự kiện
Các cột sự kiện có thể ở mức chi tiết hoặc ở mức tổng hợp Bảng sự kiện có cột sự kiện ở mức tổng hợp Do vậy, bảng đó thường được gọi là bảng tổng hợp
Khi thiết lập được được liên kết giữa bảng sự kiện với các bảng chiều chúng ta có môt
mô hình rõ ràng hơn và được gọi là lược đồ đa chiều (lược đồ)
Mặc dù, chúng ta vẫn xem xét mô hình dữ liệu đa chiều như là một cấu trúc lập phương trong hình học 3D nhưng trong môi trường data warehouse nó là một mô hình
Trang 35dữ liệu n-chiều Để cho dễ tưởng tưởng, hãy xem xét mô hình dưới dạng 2D khi mà dữ
liệu bán hàng của công ty điện tử AllElectronics với thông tin về các sản phẩm theo
từng quý tại thành phố Vancouver Dữ liệu này được chỉ ra như hình vẽ bên dưới
Bảng 3: Khung nhìn dữ liệu đa chiều đơn giản
Trong hình vẽ 2D mô tả trên, dữ liệu bán hàng cho thành phố Vancouver được xem dưới khía cạnh là chiều thời gian (được tổ chức theo từng quý) và chiều sản phẩm (được tổ chức theo từng loại sản phẩm được bán) Độ đo hiển thị là doanh số bán hàng
là giá trị dollars_sold của bảng sự kiện mô tả số tiền bán được theo đơn vị dollar tính
trên đơn vị nghìn
Bây giờ, hãy xem xét dữ liệu bán hàng này cũng với các chiều Thời gian, Sản phẩm như ở trên nhưng ở nhiều vị trí như các thành phố Chicago, New York, Toronto, và
Vancouver trong chiều Thành phố Lúc này ta có khung nhìn với mô hình 3D thể hiện
như hình vẽ bên dưới
Bảng 4: Khung nhìn dữ liệu đa chiều chi tiết
Khung nhìn này là tập hợp của các khung nhìn 2D ở trên theo vị trí là các thành phố
bán hàng trong bảng Thành phố Để mô tả giống với khái niệm mô hình dữ liệu đa
chiều được định nghĩa ở trên ta có một mô hình lập phương 3D như hình vẽ bên dưới
Trang 36Hình 13: Hộp lập phương cho lược đồ dữ liệu 3 chiều
Giả xử tiếp chúng ta muốn xem xét dữ liệu bán hàng theo một chiều thứ 4 nữa ví dụ
như chiều Nhà cung cấp Việc biểu diễn mô hình dữ liệu với 4 chiều như vậy là khó
khăn nhưng ta có thể xem xét chúng như là tập hợp các mô hình dữ liệu 3 chiều như ở bên dưới
Hình 14: Hộp lập phương cho lược đồ dữ liệu 4 chiều
Theo cách mô tả này, chúng ta có thể biểu diễn bất cứ một mô hình dữ liệu n chiều như là một tập hợp các mô hình dữ liệu (n-1) chiều
Trong mô hình dữ liệu đa chiều, mỗi một chiều thường được mô tả như là một đường xương trong hình hộp đa chiều Nếu có nhiều chiều đưa ra, chúng ta có thể biểu diễn mỗi một chiều như là một đường xương và kết quả là tạo ra một mạng từ các đường xương đó Mỗi chiều sẽ hiển thị dữ liệu theo theo các cấp độ tổng hợp dữ liệu khác nhau theo hàm nhóm Hình vẽ bên dưới chỉ ra một mạng các đường xương hình thành
lên mô hình dữ liệu đa chiều với các chiều Thời gian, Sản phẩm, Thành phố, và Nhà
cung cấp
Trang 37Hình 15: Mạng mô tả dữ liệu đa chiều
Trong mô hình mạng trên, mức độ tổng hợp dữ liệu thấp nhất được gọi là mức cơ bản
(base cuboid) chính là mức xương mạng 4D với 4 chiều được đưa ra là Thời gian, Sản
phẩm, Thành phố, và Nhà cung cấp Mức độ thấp hơn là mức xương mạng 3D với 3
chiều được đưa ra là Thời gian, Sản phẩm và Thành phố được tổng hợp cho tất cả các
nhà cung cấp trong bảng Nhà cung cấp Mức tổng hợp cao nhất là mức 0D với với dữ
liệu tổng hợp cho tổng doanh số bán hàng của tất cả các chiều Mức này thường được gọi là mức đỉnh (apex cuboid)
2.3.1 Lược đồ dữ liệu trong data warehouse
Trong thiết kế các cơ sở dữ liệu quan hệ, mô hình dữ liệu quan hệ thực thể thường được sử dụng Mô hình này bao gồm một tập hợp các thực thể và các mối quan hệ giữa các thực thể đó Mô hình dữ liệu quan hệ thực thể thường thích hợp cho các giao dịch
xử lý trực tuyến
Trong môi trường data warehouse, yêu cầu căn bản là một lược đồ tạo ra phải đảm bảo các tính năng ngắn gọn, hướng chủ đề và thân thiện, phù hợp với phân tích dữ liệu trực tuyến
Mô hình dữ liệu phổ biến nhất cho môi trường data warehouse chính là mô hình dữ liệu đa chiều Mô hình này thường tồn tại dưới dạng lược đồ hình sao (star schema) hay lược đồ hình bông tuyết (snowflake schema) hay lược đồ chòm sao (fact constellation schema)
Lược đồ hình sao: là mô hình lược đồ phổ biến nhất và đơn giản nhất khi thiết kế data
warehouse Lược đồ này bao gồm một bảng có kích thước dữ liệu lớn, không có độ dư
Trang 38thừa dữ liệu nằm ở trung tâm của mô hình (bảng sự kiện) và tập hợp các bảng bao xung quanh (bảng chiều) Về mặt hình học, lược đồ này giống với hình các ngôi sao với các bảng chiều xuất hiện quay xung quanh bảng sự kiện trung tâm
Mô hình star giúp tối ưu hiệu quả của data warehouse nhờ câu lệnh truy vấn đơn giản
và thời gian trả lời truy vấn nhanh
Ví dụ là lược đồ mô tả bán hàng của công ty AllElectronics được chỉ ra như hình vẽ bên dưới Việc bán hàng được xem xét dưới 4 chiều được đặt tên như: time, item,
branch, và location Lược đồ này có bảng sự kiện tên là sales nằm ở trung tâm Bảng
sự kiện này có khoá nối đến các bảng chiều cùng với 2 giá trị độ đo là dollars sold và
units sold Để giảm thiểu kích cỡ của bảng sự kiện, các định danh khoá của bảng chiều
(time_key và item_key) thường là các số tuần tự được tạo ra bởi hệ thống
Hình 16: Lược đồ hình sao
Chú ý rằng trong lược đồ hình sao, mỗi chiều chỉ được biểu diễn bởi một bảng và mỗi bảng chứa đựng một tập các thuộc tính Ví dụ bảng chiều location chứa các thuộc tính như {flocation_key, street, city, province_or_state, country} Ràng buộc này có thể tạo
ra độ dư thừa dữ liệu Ví dụ 2 thành phố là "Vancouver" và ”Victoria" thuộc tỉnh
Canadian, bang British Columbia của Canada Hai thành phố này trong bảng chiều
location sẽ tạo ra độ dư thừa dữ liệu từ các thuộc tính province_or_state và country, cụ thể là, ( , Vancouver, British Columbia, Canada) và ( , Victoria, British Columbia,
Canada) Hơn nữa, độ dư thừa dữ liệu có thể nhiều hơn khi mà các bảng chiều có lưu
giữ thêm mức độ phân cấp
Trang 39Lược đồ bông tuyết: Đây là biến thể của lược đồ hình sao khi mà một vài bảng chiều
được chuẩn hoá bằng cách tách dữ liệu thêm ra một vài bảng nữa để tránh độ dư thừa
dữ liệu Kết quả này hình thành nên một hình vẽ giống với hình bông tuyết
Sự khác nhau chính lược đồ hình sao và lược đồ hình bông tuyết là bảng chiều của lược đồ hình bông tuyết được lưu giữ ở dạng chuẩn hoá để giảm độ dư thừa dữ liệu Các bảng chiều như vậy sẽ dễ dàng hơn trong việc bảo trì và giảm thiểu cho cấu trúc lưu trữ Tuy nhiên việc tiết kiệm lưu trữ này là không đáng kể bởi dữ liệu lớn nhất trong môi trường data warehouse là ở bảng sự kiện Hơn nữa, cấu trúc dữ liệu của lược
đồ bông tuyết sẽ làm giảm hiệu năng của việc xem dữ liệu vì cần phải kết nối dữ liệu giữa các bảng khi thực hiện truy vấn Vì vậy, hiệu năng của hệ thống sẽ bị ảnh hưởng
Do vậy, lược đồ bông tuyết mặc dù làm giảm độ dư thừa nhưng nó không được sử dụng phổ biến như lược đồ hình sao trong khi thiết kế data warehouse
Ví dụ lược đồ bông tuyết mô tả việc bán hàng cho công ty AllElectronics được đưa ra
như hình bên dưới Bảng sự kiện sales giống hệt về vị trí và cấu trúc như trong lược đồ
hình sao
Hình 17: lược đồ bông tuyết
Sự khác nhau chính giữa 2 lược đồ này là việc định nghĩa ra các bảng chiều Bảng
chiều item đứng độc lập trong lược đồ hình sao được chuẩn hoá trong mô hình bông tuyết và kết quả tạo ra những bảng item mới và bảng supplier Trong ví dụ này, chiều
item mới tạo ra chứng đựng các thuộc tính là item_key, item_name, brand, type, và supplier_key với supplier_key là khoá ngoài kết nối đến bảng chiều supplier là bảng
chứa 2 thuộc tính là supplier_key và supplier_type Cũng tương tự như vậy, bảng chiều
Trang 40location trong lược đồ hình sao được chuẩn hoá thành 2 bảng mới là location và city
với cột city_key là khoá ngoài trong bảng location kết nối đến chiều city
Lược đồ chòm sao (fact constellation): các ứng dụng phức tạp có thể có nhiều bảng sự
kiện và cùng chia sẻ các bảng chiều Loại lược đồ này có thể xem như là tập hợp các lược đồ hình sao cho nên nó có tên là lược đồ chòm sao
Ví dụ về lược đồ này được chỉ ra như hình vẽ bên dưới Lược đồ này có 2 bảng sự kiện
là sales và shipping Bảng sales có định nghĩa giống hệt ở trong lược đồ hình sao Bảng shipping có 5 chiều với các khoá tương ứng là: item_key, time_key, shipper_key,
from_location, and to_location, và 2 độ đo là: dollars_cost và units_shipped Lược đồ
chòm sao này cho phép 2 bảng chiều là sales và shipping có thể chia sẻ các bảng chiều như trong mô hình là time, item và location
sử dụng vì nó có thể mô hình hoá được nhiều chủ đề Kho dữ liệu hướng chủ đề thường phản ánh về một chủ đề nào đó của doanh nghiệp nên phạm vi của nó thường ở mức phòng ban Việc xây dựng kho dữ liệu hướng chủ đề, các lược đồ hình sao hay lược đồ bông tuyết thường được sử dụng vì cả 2 lược đồ này chỉ hướng đến một chủ
đề đơn giản và lược đồ hình sao thường phổ biến và hiệu quả hơn