Các hệ thống này phục vụ cho các phòng ban đơn vị khác nhau trong tổ chức vì thế chúng: o Những giao diện khác nhau o Những dạng biểu dữ liệu khác nhau o Thông tin trùng lặp và không nhấ
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
PHẠM MINH TUÂN
DATA WAREHOUSE – LÝ THUYẾT VÀ THỰC TIỄN
LUẬN VĂN THẠC SĨ
Hà nội - 2008
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
PHẠM MINH TUÂN
DATA WAREHOUSE – LÝ THUYẾT VÀ THỰC TIỄN
Ngành: Công nghệ thông tin
Trang 3MỤC LỤC
MỤC LỤC 1
CHƯƠNG I: TỔNG QUAN 5
1 Đặt vấn đề và việc lựa chọn đề tài 5
1.1 Đặt vấn đề 5
1.2 Phạm vi của đề tài 6
2 Định nghĩa lại vấn đề 6
2.1 Các hệ thống thông tin tác nghiệp 6
2.1.1 Các chức năng và thuộc tính cơ bản của OLTP 7
2.2 Nhu cầu quản trị trên các hệ thống thông tin 10
2.2.1 Những nhu cầu thuộc về ban quản trị trong doanh nghiệp 10
2.2.2 Các hệ thống thông tin quản lý đang đáp ứng các yêu cầu trên ra sao 11
3 Data warehouse (Nhà kho dữ liệu) 13
3.1 Nhà kho dữ liệu là gì 13
3.2 Mục tiêu của DWH 15
3.2.1 Ứng dụng công nghệ Data warehouse trong các ngành dịch vụ 16
3.3 Phân biệt DWH với các CSDL tác nghiệp 17
3.3.1 So sánh nhà kho dữ liệu với các CSDL tác nghiệp 17
3.3.2 Mối quan hệ giữa các hệ thống thông tin tác nghiệp và Kho dữ liệu 18
3.4 Trung tâm dữ liệu theo chủ đề (Data Mart) 19
3.5 Các bước để xây dựng Nhà kho dữ liệu 20
CHƯƠNG II: KIẾN TRÚC NHÀ KHO DỮ LIỆU 21
1 Kiến trúc tham chiếu 21
2 Kiến trúc dòng dữ liệu 23
2.1.1 ETL 24
3 Kiến trúc hệ thống 27
3.1.1 Mô hình kiến trúc chung 27
3.1.2 Các loại kiểu dáng kiến trúc hệ thống trên thực tế 27
3.1.3 Những nhân tố dùng để lựa chọn kiến trúc 30
3.2 Một kiến trúc nhà kho dữ liệu cho tập đoàn Amadeus Entertainment [9] 30
CHƯƠNG III: MÔ HÌNH DỮ LIỆU THEO CHIỀU 32
1 Mở đầu 32
2 Các khái niệm 33
2.1 Sự kiện và bảng sự kiện 33
2.2 Chiều và bảng chiều 34
2.2.1 Chiều 34
Trang 42.2.2 Bảng chiều 34
2.2.3 Phân loại chiều 35
2.2.4 Thời gian và bảng chiều thời gian 36
2.2.5 Khối dữ liệu (cube) 37
2.2.6 Đo lường trong các bảng sự kiện 39
2.2.7 Mức độ đơn nguyên của phép đo 39
3 LƯỢC ĐỒ DỮ LIỆU THEO CHIỀU 39
3.1.1 Lược đồ dữ liệu hình sao (star schema) 39
3.1.2 Lược đồ dữ liệu hình bông tuyết (Snowflake schema) 40
4 Quy trình mô hình hóa dữ liệu chiều 41
4.1 Quy trình mô hình hóa theo chiều 41
4.1.1 Bước 1: Khảo sát quy trình nghiệp vụ của tổ chức 41
4.1.2 Bước 2: Xác định mức độ chi tiết hay các độ thô (grain) 41
4.1.3 Bước 3: Thiết kế các chiều 42
4.1.4 Bước 4: Xác định các dữ kiện là số 42
4.2 Thực hiện thông qua ví dụ tiêu biểu về bài toán bán lẻ 42
4.2.1 Khung cảnh thực tế 42
4.2.2 Cơ sở 42
4.2.3 Các bảng dữ liệu của hệ thống điều hành tác nghiệp 42
4.2.4 Xác định độ thô của dữ liệu: 42
4.2.5 Tóm lược 43
4.2.6 Kết quả thiết kế mô hình chiều 43
4.2.7 Ước lượng dung lượng lưu trữ 44
CHƯƠNG IV: QUÁ TRÌNH TRÍCH TÁCH DỮ LIỆU TỪ CÁC HỆ THỐNG NGUỒN VÀO DWH 45
1 Tiến trình ETL (Extraction – Transformation – Loading) 45
1.1 Nhiệm vụ của tiến trình ETL 45
1.2 Tính chất đầu vào và những thách thức cho ETL 45
2 Trích tách dữ liệu (Extraction) 46
3 Chuyển đổi dữ liệu (Transformation) 48
4 Tải dữ liệu (Loading) 49
5 Các phương hướng và kiến trúc thành phần ETL 49
5.1 Mô hình với trạm tạm 49
5.2 Mô hình theo cách thức lấy dữ liệu nguồn 49
5.3 Các cấu hình xét theo vị trí thành phần ETL 50
6 Hiệu năng tiến trình ETL 51
6.1 Hiệu năng 51
Trang 56.2 Xử lý song song 51
7 Một số công cụ ETL 52
7.1 Các môi trường ETL mã nguồn mở 52
CHƯƠNG V: XỬ LÝ PHÂN TÍCH TRỰC TUYẾN OLAP 53
1 Giới thiệu chung 53
1.1 Các tính chất cần có của dịch vụ OLAP 54
1.1.1 So sánh OLAP với OLTP 54
2 Kiến trúc khối của OLAP 55
2.1 Khối 55
2.1.1 Đại lượng đo lường thống kê 55
2.1.2 Lưới các khối 56
2.1.3 Các phân hoạch (partition) 57
2.1.4 Các phép xử lý trên khối 58
3 Các tiêu chuẩn đánh giá một công cụ OLAP 59
4 Các mô hình lưu trữ hỗ trợ OLAP 60
4.1 Mô hình Multidimensional OLAP (MOLAP) 60
4.1.1 Mô hình Relational OLAP (ROLAP) 62
4.1.2 Mô hình Hybird OLAP (HOLAP) 63
4.1.3 So sách các mô hình 64
5 Mô hình kiến trúc dịch vụ OLAP 64
5.1.1 Kiến trúc thành phần Server: 65
5.1.2 Kiến trúc thành phần Client 66
6 Kỹ thuật để xử lý truy vấn hiệu quả trên OLAP 67
6.1 Bitmap Index 67
6.2 Sử dụng kỹ thuật tính toán trước khối dữ liệu [4] 69
6.2.1 Điểm khởi đầu 69
6.2.2 Định nghĩa hình thức 71
6.2.3 Thuật toán ăn tham 73
7 Mối quan hệ giữa dữ liệu tại các hệ thống OLTP với dữ liệu trên OLAP 74
CHƯƠNG VI: DWH VỚI ỨNG DỤNG QUAN HỆ KHÁCH HÀNG 76
1 Hệ thống CRM 76
1.1 Các chức năng của một hệ thống CRM 77
1.2 Làm thế nào có chương trình CRM thực sự hiệu quả? 78
1.2.1 Cải thiện các quy trình và cách thức kinh doanh 78
1.2.2 Xây dựng một chu trình quản lý khách hàng 78
1.2.3 Tư vấn và triển khai CRM theo yêu cầu (on-demand CRM) 79
1.2.4 Quan hệ khách hàng và tiếp thị 79
Trang 62 DWH & QUAN HỆ KHÁCH HÀNG 80
2.1 SCV – góc nhìn thống nhất về khách hàng 80
2.1.1 Ý nghĩa của SCV 81
2.1.2 Một bài toán thực tế 81
2.1.3 Thực hiện chất lượng dữ liệu khách hàng 83
2.1.4 Bộ thuộc tính của khách hàng 83
2.1.5 CSDL trung tâm về khách hàng 83
2.2 Sự phù hợp của DWH đối với CRM trong vấn đề SCV 84
2.3 Đợt chiến dịch quảng cáo, quảng bá (Campaign Segmentation) 84
2.3.1 Quản trị sự chấp thuận 85
2.3.2 Dữ liệu phát đi và phản hồi từ khách hàng 86
2.4 Phân tích khách hàng 89
2.4.1 Những phân tích diễn giải trong một số ngành 90
2.4.2 Những phân tích mang tính dự báo 90
CHƯƠNG VII: THỰC HIỆN DWH TRÊN MS SQL SERVER 2005 91
1 Giới thiệu MS SQL Server 2005 [1] 91
1.1 Các công nghệ Nghiệp vụ thông minh Business Intelligence của Microsoft 92
1.1.1 Hợp nhất dữ liệu công ty cho việc phân tích và báo cáo 94
1.1.2 Thực thi kho dữ liệu 95
Xây dựng và quản lý các giải pháp BI phức tạp 96
2 Thực hiện DWH trên MS SQL Server 2005 96
2.1 Bài toán ví dụ AdventureWorks 96
2.2 Thực hiện DWH cho AdventureWorks 96
2.2.1 Chuyển tải dữ liệu tác nghiệp vào CSDL DWH 96
2.2.2 Thực hiện dịch vụ phân tích trực tuyến trên CSDL DWH 103
CHƯƠNG VIII: KẾT LUẬN 121
1 Kết quả đạt được 121
2 Hạn chế và hướng phát triển 121
3 Kết luận 122
Tài liệu tham khảo 123
Trang 7Quá trình trích tách biến đổi và tải dữ liệu vào một CSDL
Processing
Xử lý phân tích trực tuyến kết hợp
Online Analytical Processing
Xử lý phân tích trực tuyến đa chiều
Trang 8ty bán lẻ thời trang cũng có hàng trăm đơn hàng
Dữ liệu ngày qua ngày được tích lũy thay thế dần các hoạt động giấy tờ Người ta có thể truy cập dữ liệu mình cần một cách nhanh chóng bằng các phép tìm kiếm hay thông qua sơ đồ thư mục lưu trữ trên hệ điều hành Như vậy với các công nghệ hiện tại đã và đang đáp ứng tốt một giai đoạn yêu cầu của người dùng
Đến một ngày, khi những thành viên trong ban quản trị nhìn xuống và sửng sốt với độ lớn dữ liệu của tổ chức, doanh nghiệp mình Toàn bộ hoạt động, lịch sử được lưu dưới dạng số một cách đầy đủ Dữ liệu ấy chính là tài sản của công ty Và họ muốn rằng những khối dữ liệu khổng lồ ấy phải nói lên những điều thật ý nghĩa Điều này khác với việc họ muốn tìm lại một đơn hàng, một thông tin mang tính cá nhân của một khách hàng Ở đây họ muốn biết cái sơ
đồ doanh thu theo chiều lên hay xuống, muốn tách ra quy luật của bán hàng, quy luật của năng suất hoạt động, Quy luật ấy dựa trên các yếu tố thời gian, yếu tố con người, yếu tố địa lý,… Có quy luật ấy không, nếu có thì quy luật ấy được phát biểu và thể hiện như thế nào Nếu doanh nghiệp lấy ra được các thống kê, quy luật ấy họ sẽ có được những quyết sách trong tương lai một cách phù hợp hơn, dựa trên những yếu tố có cơ sở đúng đắn Mùa nào, tháng nào trong năm, loại hàng hóa nào sẽ được đẩy mạnh ra thị trường Vì thế có thể nói nếu
dữ liệu tích luỹ được phân tích chính xác, nó có thể trở thành những phương tiện cạnh tranh hiệu quả
Hiện nay dữ liệu tràn ngập trên những phương tiện lưu trữ Với việc không có được những công cụ khai thác thông tin hiệu quả , các tổ chức doanh nghiệp đang sống trong một môi trường “giàu dữ liệu nhưng nghèo thông tin”
Trong môi trường cạnh tranh ngày nay cùng với sự phát triển nhanh chóng của thế giới, những nhà ra quyết định xác định rõ cần phải có một thế hệ các kỹ thuật và công cụ tính toán
Trang 9mới nhằm hỗ trợ họ trong việc trích xuất các thông tin hữu ích (tri thức) được nhúng bên trong các dữ liệu thu thập và tích luỹ Họ mong muốn có những công cụ hỗ trợ quyết định trong một môi trường tích hợp để họ có thể tự tạo những tiêu chuẩn của riêng mình hoặc những báo biểu đặc biệt cho phân tích các dữ liệu phức tạp Nắm được lợi ích của lượng dữ liệu lớn, họ có thể xác định được những thông tin tiềm ẩn, chẳng hạn nhờ đó có thể tiết kiệm chi phí, vươn tới những thị trường mới và theo vết tổng thu nhập một cách hiệu quả
Data warehouse, một công nghệ mới ra đời vào khoảng đầu những năm 90 đã được đón
nhận và đưa vào thực tiễn Tại Việt Nam, khái niệm và công nghệ này đã được làm quen cách đây cũng được khoảng 5 năm nhưng trên thực tế chúng hầu như chưa được quan tâm và ứng dụng một cách hiệu quả Điều này cũng bắt nguồn từ nhu cầu quản lý trong một thế giới cạnh tranh chưa gay gắt, trình độ quản lý không cao
Với sự phát triển kinh tế xã hội, gia nhập WTO, môi trường ngày càng trở nên sôi động, mức
độ cạnh tranh cao Trong những đòi hỏi phát triển trình độ quản lý có yêu cầu nhanh chóng tổng hợp các khía cạnh trên dữ liệu hoạt động khổng lồ của doanh nghiệp mình, nhìn ra được những xu hướng đã và đang tồn tại ở các mặt hoạt động từ đó có những quyết định, xử lý đúng đắn
Chính vì điều này nên học viên chọn Data warehouse làm đề tài nghiên cứu
1.2 Phạm vi của đề tài
Đề tài trình bày các vấn đề chính trong lĩnh vực Data warehouse bao gồm cơ sở lý thuyết và một số khía cạnh thực tế của công nghệ này Đề tài cũng trình bày hệ thống Microsoft SQL Server phiên bản 2005 và áp dụng hệ thống này để xây dựng một nhà kho dữ liệu
2.1 Các hệ thống thông tin tác nghiệp
Công nghệ thông tin ngày càng đóng vai trò to lớn trong mọi hoạt động sản xuất quản lý của con người Hầu hết việc thông tin tự động hóa đã được đưa vào các quy trình của doanh nghiệp tổ chức Đó là tổ chức sản xuất, bán hàng, quản trị khách hàng, quản trị nguồn nhân lực…
Trên thực tế các công ty muốn thành công trên thị trường, ngoài việc tổ chức bán hàng tốt (giao dịch đơn giản, thuận tiện cho người mua và người quản lý bán hàng ), người lãnh đạo công ty phải nắm được thực chất các quá trình diễn ra trong đơn vị mình và trong môi trường kinh doanh mà đơn vị đó hoạt động Để thực hiện các công việc của một công ty, người ta có nhiều hệ chương trình tự động hoá các lĩnh vực quan trọng như kế toán, lập kế hoạch, giao dịch khách hàng, lập hoá đơn Chính vì lý do đó những hệ thống này có một cái tên cổ điển
Trang 10là hệ thống xử lý giao dịch (OLTP- online transaction processing) Thông thường OLTP bao gồm một dãy lệnh: thu nhận (gathering) dữ liệu đầu vào, xử lý (processing) dữ liệu, và cập nhật (updating) dữ liệu cũ với dữ liệu mới được nhập và xử lý
Mỗi giao dịch tương ứng với một phép xử lý nghiệp vụ : tạo lập đơn hàng với khách hàng, đăng ký khóa học, chuyển khoản, Các giao dịch này này trong quá trình thực hiện liên quan đến nhiều vai trò tạo ra một hay nhiều thực thể Bằng việc sử dụng hệ thống OLTP thì các thông tin về thực thể, thông tin về quá trình thực hiện được lưu lại trên các hệ thống máy tính Các tổ chức, doanh nghiệp chưa đưa CNTT vào áp dụng thì chúng được lưu dưới dạng sổ sách giấy tờ Theo thời gian, mỗi doanh nghiệp sở hữu các kho dữ liệu
Thông tin trước hết là một phát biểu có nghĩa được trích rút từ kho dữ liệu Giá trị của thông tin tỷ lệ thuận với “ độ không biết ” của con người Thông tin có thể lấy từ bản thân một mảnh
dữ liệu hoặc có thể xâu chuỗi từ nhiều mảnh dữ liệu với một mối quan hệ nào đó Quá trình xác định mối quan hệ giữa các dữ liệu đòi hỏi các kiến thức cần thiết về khả năng nhận thức
và nắm bắt chuỗi thông tin cũng như phương thức làm cho thông tin đó có khả năng đáp ứng một nhiệm vụ cụ thể Trong quản lý, giá trị của thông tin có liên quan trực tiếp tới việc thông tin đó giúp đạt được các mục tiêu của tổ chức
Trong khi dữ liệu đang được một giao tác cập nhật, có thể có hoặc không một khoá ngăn không cho giao tác khác truy cập dữ liệu OLTP là phương thức hiệu quả khi các người dùng muốn:
- Xử lý các dữ liệu đơn nói chung không giới hạn về mặt số lượng với tần suất không biết trước một cách chính xác
- Truy cập tức thì vào dữ liệu đã được cập nhật, phản ánh các giao tác trước đó
- Thay đổi dữ liệu tức thì để phản ánh giao tác vừa xử lý
2.1.1 Các chức năng và thuộc tính cơ bản của OLTP
Khả năng truy cập và cập nhật các dữ liệu chia sẻ trên các hệ thống OLTP có các đặc tính
- Truy cập trực tuyến (online)
- Truy cập tức thời (availability)
- Phản hồi nhanh chóng (response)
- Chi phí thấp (low cost)
Truy cập trực tuyến: để truy cập, user cần một máy trạm (workstation) nối với hệ thống
Kết nối vật lý có thể thông qua mạng nội bộ LAN, mạng mở rộng WAN (bao gồm cả mạng nội thị MAN), hay internet (với mạng riêng ảo hay hệ thống web – based) Kết nối lô gíc
Trang 11được cung cấp bởi hệ thống OLTP hoặc riêng lẻ, hoặc được liên kết với một phương thức truy cập truyền thông và trình điều khiển mạng
Truy cập tức thời: Đây là một yêu cầu rất quan trong đối với một hệ thống OLTP Vì quy
trình của công ty được xây dựng dựa trên 1 cấu thành là hệ thống thông tin nên nó phải luôn sẵn sàng cho bất cứ nhu cầu truy cập ở thời điểm nào Một công ty dịch vụ với 24 giờ làm việc một ngày trong cả tuần, những nhu cầu truy cập dữ liệu không được định trước Mặt khác nhiều công ty còn cho phép tương tác với khách hàng thông qua hệ thống Vì thế để công ty hoạt động thông suốt thì hệ thống cần phải có khả năng truy cập tức thời Để đảm bảo được khả năng này cần phải có chất lượng và công nghệ kết nối phần cứng, phần mềm, ứng dụng, và các thiết bị hay tiện ích tự động phục hồi (recover) từ bất cứ lỗi cấu tạo nào Cùng với khả năng sửa lỗi hay vượt lỗi, hệ thống OLTP cũng cần giảm thiểu ảnh hưởng của các hoạt động bất thường như nâng cấp phần cứng, thay đổi phần mềm, chuyển đổi công việc, lưu trữ dữ liệu, và tái cơ cấu tổ chức
Phản hồi nhanh chóng: Như đã phân tích ở trên nhân viên hay thậm chí khách hàng đối tác
của doanh nghiệp sử dụng hệ thống OLTP hầu như mọi lúc Để duy trì và đáp ứng hiệu quả công việc thì thời gian phản hồi giao tác phải đủ nhanh chấp nhận được với người dùng Thuật toán đáp ứng giao tác tốt, chế độ sắp xếp hàng đợi giao tác hợp lý là những nhân tố để đáp ứng yêu cầu này Việc sắp xếp ưu tiên giao tác đòi hỏi có chính sách ngay từ đầu để phân hoạch tải trong những điều kiện ngặt nghèo khi đến giờ cao điểm truy cập
Tiết kiệm chi phí: Các hệ thống OLTP hiện nay đã được xây dựng và sử dụng một cách rộng
rãi nhưng ít ai để ý đến “chi phí xử lý mỗi giao tác” Chi phí cho từng giao tác chiếm một tỷ
lệ trong tổng chi phí cần thiết của hệ thống để thực hiện giao tác Như vậy, mỗi giao tác phải được sắp xếp, xử lý, và kết thúc một cách có hiệu qủa
Ưu điểm tuyệt đối của các hệ thống OLTP là xử lý các giao dịch tương tác, dễ bảo trì và khống chế dữ liệu thừa, thiết lập dữ liệu quan hệ trọn vẹn Dữ liệu có trong các Cơ sở dữ liệu của OLTP có một số đặc điểm đáng quan tâm là:
- Dữ liệu dạng "thô", có nghĩa là mức độ tổng quát, trừu tượng của dữ liệu này rất
thấp Điều này cũng dễ hiểu vì ngay ban đầu CSDL đã được thiết kế nhằm lưu các mảnh dữ liệu ghi nhận giá trị thuộc tính của các thực thế nghiệp vụ Chúng được tạo ra nhằm mục đích chính là cập nhật và truy xuất theo kiểu đơn lẻ
- Dữ liệu bao hàm hiện tai và lịch sử: Phần dữ liệu hiện tại là dữ liệu đang hoặc sẽ liên
quan trực tiếp đến giao dịch, có thể ghi và đọc Phần dữ liệu lịch sử không còn liên quan đến các giao dịch đang hoặc sẽ xẩy ra, chỉ để đọc Trong quá trình hoạt động của OLTP, dữ liệu sống dần chuyển thành lịch sử, do vậy dung lượng dữ liệu lịch sử ngày
Trang 12càng tăng, lấn át dữ liệu hiện tại Ví dụ, trong thống kê sản xuất may mặc thì các đơn hàng đã hoàn tất đều là dữ liệu lịch sử
- Vấn đề độ lớn dữ liệu: Hiển nhiên với sự tăng trưởng của kho dữ liệu thì quá trình
truy xuất đến dữ liệu thuờng cần đến nhiều tài nguyên máy tính (như tốc độ xử lý của CPU, dung lượng bộ nhớ RAM, ổ cứng…), đặc biệt đối với các kho dữ liệu lớn Tốc
độ giảm xuống nhiều khi không thể chấp nhận được
- Tính đa tạp của dữ liệu từ các hệ thống tác nghiệp: Tại một tổ chức có nhiều hệ thống thông tin được xây dựng Các hệ thống này phục vụ cho các phòng ban đơn vị khác nhau trong tổ chức vì thế chúng:
o Những giao diện khác nhau
o Những dạng biểu dữ liệu khác nhau
o Thông tin trùng lặp và không nhất quán
Dữ liệu bị phân mảnh theo chiều dọc (theo chiều các bộ phận phòng ban tổ chức) trong các hệ thống thông tin:
Thư viên
CSDL Khoa học
Web CSDL Cá nhân
Trang 13Tại sao tổ chức hay doanh nghiệp không làm một hệ thống đồng bộ xuyên suốt cho các phòng ban của mình? Thực sự đây là một công việc khó khăn và đòi hỏi một thời gian xây
dựng lâu dài Tổ chức, doanh nghiệp có quá nhiều phòng ban, kiến trúc nhiều tầng hay thậm chí có những kế hoạch cơ cấu mới trong tương lai Đơn vị có quy mô càng lớn thì việc xây dựng một hệ thống như thế càng dễ xẩy ra rủi ro vì sự lệch pha với yêu cầu nghiệp vụ phức tạp trải rộng Phần lớn doanh nghiệp chấp nhận trả giá cho việc thiếu đồng bộ hệ thống CNTT cho thời gian có thể đưa chúng vào ứng dụng
2.2 Nhu cầu quản trị trên các hệ thống thông tin
2.2.1 Những nhu cầu thuộc về ban quản trị trong doanh nghiệp
Đối với đội ngũ thượng tầng của tổ chức, doanh nghiệp thì những yêu cầu thông tin xuất phát
từ đó mang tính chất quản trị, khái quát và định hình tình hình hoạt động của đơn vị trong một quãng thời gian nhất định Họ hiếm khi quan tâm đến từng đơn hàng hay từng cá thể đơn
lẻ
Ví dụ như:
- Tiêu thụ sản phẩm áo vest nữ cao cấp tại thị trường Hải Phòng đang giảm, phân tích lý
do Thay đổi yếu tố nào để có kết quả khả quan hơn về mặt số lượng bán ra
- Xu hướng những độc giả mua sách về trinh thám và kèm theo sách tiểu sử là như thế nào
- Hãng dịch vụ điện thoại di động sẽ tung ra một gói dịch vụ mới, thì doanh thu của gói này sẽ được dự đoán ra sao
- …
Sau khi các hệ thống thông tin tác nghiệp đã ổn định và đưa vào sử dụng trong một thời gian dài, dữ liệu tác nghiệp sẽ được lưu tại các hệ thống này Mặc nhiên chúng sẽ là đầu vào cho
Trang 14việc phân tích, dự báo,… Tuy nhiên có những tính chất căn bản của dữ liệu này gây khó khăn cho việc đáp ứng nhu cầu thông tin quản trị:
- Các số liệu ở mức chi tiết (cho từng giao tác)
- Các số liệu được phân bố ở những hệ thống khác nhau, có các thủ tục truy cập khác nhau và ở những CSDL hoàn toàn khác nhau
- Các số liệu không được cập nhập cùng một chu kỳ dẫn đến sự mất đồng bộ
- Việc tổ chức truy cập từ rất nhiều bảng dữ liệu khác nhau có ảnh hưởng rất xấu tới hiệu suất của các hệ thống vì mục đích của các hệ thống này là nhằm phục vụ các giao dịch trực tuyến
Trong môi trường thừa thãi số liệu, nhà phân tích không thể tìm ra cho mình thông tin cần thiết nhằm có được sự hiểu biết thấu đáo về những quá trình xảy ra xung quanh Tình trạng số liệu quá chi tiết và không có được sự liên kết với nhau của các số liệu phản ánh các quá trình tương đối độc lập của một thực thể là lý do trực tiếp dẫn đến sự khủng hoảng này
Bên cạnh chức năng chủ yếu là phục vụ các giao dịch, RDBMS cần cung cấp cho các nhà quản lý báo cáo về các thông tin tổng quát có độ trừu tượng cao, được khai thác từ dữ liệu thô
Tóm lại sau giai đoạn triển khai những hệ thống quản lý tác nghiệp, thì nhà quản trị muốn có
- Khung nhìn dữ liệu đa chiều
- Hỗ trợ phân cấp dữ liệu, và khả năng đi sâu vào chi tiết
- Trả lời nhanh các câu hỏi mang tính quản trị sâu sắc
2.2.2 Các hệ thống thông tin quản lý đang đáp ứng các yêu cầu trên ra sao
Các kỹ sư phần mềm hiện nay chỗ này chỗ khác vẫn viết thêm và gắn vào các hệ thống tác nghiệp những báo cáo phục vụ yêu cầu quản trị Những phần mềm viết theo đơn đặt hàng vẫn tiếp tục được bổ sung những báo cáo dạng này Thực sự có những người tạo báo cáo rất giỏi Nhưng điều đáng nói ở đây là việc tạo báo cáo phục vụ yêu cầu mức quản trị ngày càng trở
nên „mang tính nghệ thuật‟ , tức là phụ thuộc rất lớn vào những lập trình xử lý tinh tế của
người xây dụng hệ thống Điều này cho thấy sự đáp ứng một cách yếu ớt, rời rạc, ko có nền tảng cho các nhu cầu phân tích dữ liệu mang tính lịch sử Hơn nữa giới hạn của chúng là rõ ràng và không thể vượt qua Chúng đáp ứng cho từng hệ thống đơn lẻ, thời gian thực hiện trở nên không thực tế trên kho dữ liệu lớn
Báo cáo truyền thống thường được thiết kế dưới dạng bảng 2 chiều để cung cấp dữ liệu tổng hợp và được thiết kế bằng các công cụ phần mềm tạo báo cáo kiểu tham số hóa, ví dụ như
Trang 15Crystal Reports của công ty Bussiness Objects Bên cạnh các ưu điểm như hình thức trình bày đẹp, chúng có một số nhược điểm đáng lưu ý sau:
- Chi phí thiết kế lớn: Với mỗi một yêu cầu báo cáo, đội ngũ CNTT phải thiết kế cũng như lập trình từ đầu Với mỗi loại báo cáo có nhận một tập các tham số đầu vào cố định trong khi bộ phận quản trị thường xuyên yêu cầu thay đổi loại tham số hay kết cấu báo cáo mới
- Không linh hoạt: Như đã phân tích ở trên mức độ linh hoạt của báo cáo là rất thấp
- Tương tác rất kém: Cũng cùng nguyên nhân với nhược điểm không linh hoạt, báo cáo kiểu chứng từ không cho phép người dùng tương tác với hệ thống (module báo cáo) để thay đổi đơn giản như trình bày, nhãn hay cao hơn là cấu trúc và điều kiện
- Tiêu tốn và lãng phí nhiều tài nguyên máy tính: Bất kể làm báo cáo về số liệu sống hay
số liệu lịch sử trong RDBMS, công cụ tạo báo cáo phải khoá rất nhiều bảng, cản trở sự truy xuất của những người dùng khác, ảnh hưởng xấu đến hiệu suất của hệ thống Số liệu tính gộp trung gian dùng tạo báo cáo không được lưu giữ lại, kể cả đối với các dữ liệu lịch sử, do vậy nếu cần tạo lại vẫn chính báo cáo đó, thì hệ thống lại tính toán lại
từ đầu từ dữ liệu thô, gây lãng phí nghiêm trọng tài nguyên máy tính
- Không phù hợp với nhu cầu phân tích trực tuyến đa chiều: Để tìm ra quy luật kinh doanh, ta cần phân tích số liệu trực tuyến dưới nhiều góc nhìn và cách thể hiện khác nhau Trực tuyến ở đây có nghĩa người tiến hành phân tích tương tác số liệu (thường là các chuyên viên, hoặc các nhà quản lý không chuyên ngành tin học) cần thao tác nhanh chóng và thuận tiện kho dữ liệu và tìm ra kết quả trong thời gian thực Yêu cầu trực tuyến đạt được khi mỗi thay đổi cấu trúc dữ liệu tổng hợp trong báo cáo tiêu tốn không quá 20 giây
Với những hạn chế ấy, việc nghiên cứu triệt để để xây dựng một công nghệ nền hoàn chỉnh là cần thiết
Một cách tiếp cận được đề xướng bởi B.Inmon vào những năm 90 của thế kỷ trước là một sự kết hợp của một số giải pháp kỹ thuật và được đặt tên là Data Warehoushing - kỹ thuật xây dựng các kho dữ liệu Data Warehouse hay DWH (kho dữ liệu) được định nghĩa như một tập hợp các phương tiện cho phép hình dung dữ liệu một cách tổng thể, hướng đối tượng để giúp cho việc phân tích và ra quyết định
Trang 163 Data warehouse (Nhà kho dữ liệu)
3.1 Nhà kho dữ liệu là gì
Một nhà kho dữ liệu (data warehouse), gọi một cách chính xác hơn là kho thông tin (information warehouse), là một cơ sở dữ liệu hướng đối tượng được thiết kế với việc tiếp cận các ý kiến trong mọi lĩnh vực kinh doanh Nó cung cấp các công cụ để đáp ứng thông tin cần thiết cho các nhà quản trị kinh doanh tại mọi cấp độ tổ chức - không những chỉ là những yêu cầu dữ liệu phức hợp, mà còn là điều kiện thuận tiện nhất để đạt được việc lấy thông tin nhanh, chính xác Một kho dữ liệu được thiết kế để người sử dụng có thể nhận ra thông tin
mà họ muốn có và truy cập đến bằng những công cụ đơn giản
Ở nhiều tài liệu tiếng Việt, „Data warehouse‟ được dịch là nhà kho dữ liệu Thuật ngữ này cũng chính xác nhưng dễ gây nhầm lẫn với khái nhiệm kho dữ liệu nói chung mà chúng ta đã
sử dụng từ trước nên trong một số trường hợp, NLLV sử dụng từ viết tắt là DWH
Công nghệ DWH là một sự pha trộn của nhiều công nghệ, bao gồm các cơ sở dữ liệu đa chiều
và mối quan hệ giữa chúng, kiến trúc chủ khách, giao diện người dùng đồ họa,… Dữ liệu trong DWH không giống dữ liệu của hệ tác nghiệp là loại chỉ có thể đọc nhưng không chỉnh sửa được Hệ tác nghiệp tạo ra, chỉnh sửa và xóa những dữ liệu sản xuất mà những dữ liệu này cung cấp cho DWH Nguyên nhân chính cho sự phát triển một DWH là hoạt động tích hợp dữ liệu từ nhiền nguồn khác nhau vào một kho dữ liệu đơn lẻ và dày đặc mà kho này cung cấp cho việc phân tích và ra quyết định trong công việc kinh doanh
DWH là sự tích hợp các dữ liệu từ các OLPT khác nhau nhằm tập hợp dữ liệu phục vụ quá trình phân tích hoạt động kinh doanh nên dữ liệu trong một hệ thống
Xuất phát từ nhu cầu quản trị, DWH cần thoả mãn một số yêu cầu chính sau :
- Hướng chủ đề: Các hệ thống OLTP có thể chứa hàng trăm Gbyte số liệu, tuy nhiên
những số liệu này có thể hoàn toàn vô ích trong việc phân tích trực tuyến (VD: Địa chỉ, ID khách hàng ) Các dữ liệu kiểu này thường không được đưa vào DWH để hạn chế dữ liệu cần xem xét xuống mức tối thiểu nhưng cũng bảo đảm các thông tin theo từng SA (vùng chủ đề- Subject area) Một vùng chủ đề là một chủ đề được tách ra từ một tập hợp lớn các chủ đề mà người sử dụng quan tâm trong công việc kinh doanh, (Ví dụ khách hàng, thời gian hay sản phẩm)
- Được tổ chức xung quanh các chủ thể : Nhu cầu thông tin quản trị không tập trung
vào các mảnh dữ liệu đơn lẻ mà hướng tới các đối tượng, lớp đối tượng như khách hàng (customer), sản phẩm (product), bán hàng (sales)
- Tập trung vào việc mô hình hóa và phân tích dữ liệu cho các nhà đưa ra quyết định,
mà không tập trung vào các hoạt động hay các xử lý tác nghiệp hàng ngày
Trang 17- Cung cấp một khung nhìn đơn giản và súc tích xung quanh các sự kiện của các chủ
thể
- Số liệu có tính lịch sử: Các hệ OLTP thường bao quát một khoảng thời gian không
lớn và chúng được lưu trữ theo chu kỳ Ngược lại trong DWH, dữ liệu của hàng chục năm được lưu trữ nhằm phát hiện sự liên hệ của các yếu tố có thể ảnh hưởng đến những chỉ tiêu cần quan tâm trong một thời gian dài
- Số liệu chỉ để đọc: Dữ liệu đưa vào DWH chỉ để đọc, việc sửa dữ liệu hầu như không
được tiến hành vì điều này có thể dẫn đến phá vỡ sự toàn vẹn Thông thường người ta không yêu cầu giảm thời gian đưa dữ liệu vào DWH xuống mức tối thiểu, nhưng cần tối ưu hoá DWH sao cho các truy vấn phục vụ cho việc phân tích đạt tốc độ tốt nhất Các sơ đồ quan hệ sẽ tạo ra các Index hợp lý cũng như tạo ra sẵn các dữ liệu kết hợp
Data Time
Trang 18- Là một lưu trữ vật lý của dữ liệu được chuyển đổi từ môi trường tác nghiệp
- Cập nhật tác nghiệp của dữ liệu không xuất hiện trong môi trường kho dữ liệu
Không yêu cầu các cơ chế xử lý toàn tác, phục hồi và điều khiển tương tranh
Chỉ yêu cầu hai thao tác trong truy cập dữ liệu: Nạp dữ liệu và truy cập dữ liệu
- Số liệu không biến động: dữ liệu được lưu trữ lâu dài trong DWH Không biến động
ở đây được hiểu là thời gian tĩnh của DWH là lâu hơn nhiều so với các hệ OLTP 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ị xoá, đ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
- Đóng vai trò kho lưu trữ dữ liệu, thông tin, tri thức, và siêu dữ liệu
Tổng hợp toàn bộ thông tin phục vụ cho phân tích sâu ở mức quản trị
Tách việc phân tích ra khỏi xử lý tác nghiệp trực tuyến
- Chuyển đổi dữ liệu thành thông tin
Thông tin mang tính khái quát hóa cao, liên kết từ nhiều chủ thể theo một quá trình thời gian nhất định
- Thực hiện các phân tích dữ liệu phức tạp, trên kích thước dữ liệu lớn
Trang 19- Các phân tích đặc trưng:
Phân tích định hướng
Phân tích chuỗi thời gian
Phân tích rủi ro
- Đầu vào cho các hệ hỗ trợ quyết định
- Khám phá và đưa ra các yếu tố ẩn thông qua các kĩ thuật khai phá dữ liệu Yếu tố ẩn là yếu tố mà con người chưa biết tới hoặc chưa biết mức độ tác động của nó với các kết quả hoạt động
3.2.1 Ứng dụng công nghệ Data warehouse trong các ngành dịch vụ
Sơ đồ tỷ lệ phân bố DWH trên các ngành
Hiện nay trên thế giới, công nghệ Nhà kho dữ liệu đã được áp dụng cho các lĩnh vực dịch vụ
có số lượng giao dịch lớn như :
Trang 20- Chăm sóc sức khỏe (Health care)
- Đầu tư (Investment)
- Bảo hiểm (Insurance)
o Điểm đặc biệt ở lĩnh vực này nằm ở chỗ dữ liệuđược lưu trữ trong một thời
gian rất dài (có thể từ 50 năm đến 100 năm) Điểm đặc trưng nữa là tính chất
dữ liệu rất đa dạng do các sản phẩm của các công ty bảo hiểm trải rộng qua nhiều lĩnh vực trong đời sống
- Bán lẻ (Retail)
o Tính đa dạng các yếu tố quyết định đến khả năng mua hàng của người tiêu
dùng Từ các tính chất nhân chủng học đến chiến lược giá , vị trí địa lý,…
- Viễn thông
o Điều đặc biệt của các DWH trong lĩnh vực viễn thông so với các DWH khác
là ở chỗ chúng được xác định phần lớn bởi các dữ liệu rất chi tiết, đa dạng,
ví dụ chúng được xác định ở mức độ rất lớn bởi các chi tiết ở mức độ cuộc gọi
- Các ngành công nghiệp (Manufacturers)
- …
3.3.1 So sánh nhà kho dữ liệu với các CSDL tác nghiệp
Sau khi chỉ ra nhu cầu phát sinh cũng như tính chất của DWH, có một số so sánh nhằm có sự phân biệt rõ ràng về các CSDL tác nghiệp thông thường với DWH
Các hệ CSDL tác nghiệp Data Warehouse
Chỉ lưu trữ những dữ liệu mang tính chuyên
môn riêng của một ngành hay tổ chức
Có khả năng lưu trữ dữ liệu rất lớn Là tập hợp từ nhiều nguồn dữ liệu khác nhau
Phục vụ xử lý giao dịch, cập nhật hằng ngày Thường chỉ đọc, phục vụ cho những nhu cầu
báo cáo, phân tích hoạt động, ra quyết định Được chuẩn hóa cao độ và thường dựa trên Dữ liệu dư thừa, bị trùng lặp giúp đơn giản
Trang 21mô hình quan hệ việc truy cập và tìm kiếm
Hướng về xử lý thời gian thực Tức là phải
cập nhật và truy vấn thông tin một cách
nhanh chóng và tức thời, và chi tiết
Hướng về tính ổn định Thông tin được đưa
ra ở mức tổng hợp cấp cao hơn, bao quát hơn
Dữ liệu được cập nhật thường xuyên, có độ
linh hoạt cao với những phần tử dữ liệu có
thể chưa hoàn chỉnh hoặc không xác định ở
thời điểm vào
Dữ liệu lưu trữ, ổn định, các lỗi giao tác đã được điều chỉnh
3.3.2 Mối quan hệ giữa các hệ thống thông tin tác nghiệp và Kho dữ liệu
Những người đầu tiên đưa ra ý tưởng về DWH xác định rằng tiến hành phân tích trực tiếp trên dữ liệu của các hệ xử lý giao dịch và không hiệu quả Các dữ liệu từ một vài OLTP được biến đổi và sau đó đưa vào một nguồn dữ liệu duy nhất là DWH Quá trình này được gọi là đưa dữ liệu vào DWH, gồm các công đoạn chính sau:
- Làm sạch (Bỏ các dữ liệu không cần thiết hoặc quá chuyên dụng)
- Liên kết các số liệu (Tính trước số liệu tích, tổng, trung bình )
- Biến đổi dữ liệu: số liệu được biến đổi thành dạng thích hợp, tổ chức lại phù hợp với DWH
- Tích hợp số liệu từ các nguồn khác nhau
- Đồng bộ hoá số liệu ở một thời điểm xác định DWH là hệ thống dữ liệu đã được chuẩn bị để xây dựng hệ hỗ trợ quyết định (DSS-Decision Support Systems) và hệ phân tích trực tuyến (OLAP-Online Analysis Processing) vì rằng dữ liệu trong DWH thoả mãn tính chất toàn vẹn và có sự liên kết nội tại: Mặc dù dữ liệu được cung cấp từ nhiều OLTP, chúng được liên kết bằng sự thống nhất trong quy tắc đặt tên, đơn vị đo,
hệ thống các thuộc tính chung Điều này có giá trị đặc biệt khi xí nghiệp vận hành một lúc vài hệ thống, trong đó các dữ liệu được biểu diễn bằng những đơn vị khác nhau (ví dụ như các cách biểu diễn ngày, tháng khác nhau hoặc biểu diễn logic khác nhau) Các chỉ số quan trọng có như tổng số, giá trị trung bình trong các giai đoạn khác nhau, trung bình cộng cũng được biểu diễn rất đa dạng ở các hệ khác nhau Khi đưa số liệu vào DWH, mọi chỉ số không tương thích được chuyển đổi, tránh các lỗi tiềm tàng trong hệ thống
Trang 22Tóm lại DTW sử dụng các dữ liệu của các hệ thống thông tin tác nghiệp làm đầu vào, lưu trữ, tổng hợp một cách thống nhất rồi cung cấp dịch vụ thống kê mang tính quản trị
Quá trình dữ liệu được đưa từ các hệ thống nguồn, qua các bước xử lý, rồi chuyển vào DTW gọi là ETL ( Extraction – Transformation- Loading) Quá trình này sẽ được giới thiệu chi tiết trong chương 4
3.4 Trung tâm dữ liệu theo chủ đề (Data Mart)
Data Mart là một dạng thu nhỏ của DWH, nếu kho dữ liệu mô tả thông tin của một tổ chức thương mại thì Data Mart mô tả thông tin cho từng phòng ban của tổ chức đó (như phòng kinh doanh, phòng nhân sự,…) hoặc chứa thông tin cho mỗi chi nhánh của tổ chức
Data mart là nơi các dữ liệu được khoanh vùng theo chủ đề tới một giới hạn nào đó và có thể được thay đổi cho phù hợp với nhu cầu của từng bộ phận người dùng Một DWH có thể được phân tích thành nhiều trung tâm dữ liệu chủ đề và ngược lại một tập hợp các trung tâm
dữ liệu theo chủ đề có thể tạo thành một DWH
Sử dụng trung tâm dữ liệu theo chủ đề cho phép
- thực thi các truy vấn nhanh hơn vì dữ liệu của chúng ít hơn so với kho dữ liệu
- Phân hoạch một DWH khổng lồ thành các thành phần nhằm đơn giản hơn cho việc tiếp cận của người dùng
Trang 233.5 Các bước để xây dựng Nhà kho dữ liệu
Nói chung một dự án xây dựng Nhà kho dữ liệu sẽ được tiến hành tuần tự như sau:
Trang 24
CHƯƠNG II: KIẾN TRÚC NHÀ KHO DỮ LIỆU
Với DWH, chúng ta sẽ xem xét các loại sơ đồ kiến trúc sau:
- Kiến trúc tham chiếu
- Sơ đồ kiến trúc dòng dữ liệu
Kiến trúc hệ thống: mô tả các thành phần, mạng, máy chủ, phần mềm, phương tiện lưu trữ
Bất cứ một hệ thống công nghệ nào phức tạp và có mặt của nhiều nhà phát triển khác nhau kèm theo đó là các chiến lược xử lý vấn đề khác nhau đều cần phải có một kiến trúc tham chiếu Kiến trúc tham chiếu của một DWH cho phép cung cấp góc nhìn tổng quát về các
bộ phận cấu thành nên DWH Từ kiến trúc này chúng ta có thể nắm rõ hơn về cơ cấu, cách thức sử dụng một công cụ trong thực tế
Một kiến trúc tham chiếu điển hình bao gồm các lớp và các khối, trong đó các thành phần của một khối nằm trong một hạ tầng máy tính thống nhất Các lớp cho phép tổ chức việc xây dựng DWH được linh hoạt với đội ngũ nhân viên ở các lĩnh vực hoạt động khác nhau Các khối bao gồm:
- Khối các nguồn dữ liệu
- Khối tạo dựng kho dữ liệu
- Khối tạo dựng trung tâm dữ liệu
- Khối truy nhập và sử dụng
Các lớp được chia thành
- Lớp quản lý dữ liệu
- Lớp quản lý siêu dữ liệu
- Lớp chuyển tải dữ liệu
- Lớp kết cấu hạ tầng
Việc nắm vững cấu trúc khối và lớp cho phép ta linh hoạt trong việc triển khai các hệ thống DWH trên thực tế Tuỳ nhu cầu và khả năng tài chính, chúng ta có thể xuất phát từ việc xây dựng các trung tâm dữ liệu (Data mart) trước để có thể khai thác ngay số liệu theo từng chủ
đề Một cách xây dựng khác là tổ chức kho dữ liệu tổng thể trước, sau đó sẽ tổ chức các Data mart Mỗi phương án đều có những ưu điểm và nhược điểm riêng Trên thực tế, tuỳ điều kiện
cụ thể, chúng ta có thể chọn giải pháp triển khai thích hợp
Trang 25Ngoài ra, các DWH trên từng lĩnh vực khác nhau cũng có nhiều đặc điểm riêng do mỗi lĩnh vực có đặc thù dữ liệu riêng
Hình 2.1 Kiến trúc tham chiếu các thành phần nhà kho dữ liệu [3]
Khối các nguồn dữ liệu:
- Có nhiệm vụ quản lý các nguồn dữ liệu bên trong cũng như bên ngoài tổ chức được xác định là đầu vào cho nhà kho dữ liệu
- Các nguồn dữ liệu có thể là các CSDL từ các hệ thống tác nghiệp, các tệp dữ liệu phi cấu trúc, dữ liệu trên web,
- Quản lý thông tin về các nguồn (siêu dữ liệu)
Khối tạo dựng kho dữ liệu:
- Có chức năng
o lấy dữ liệu được chỉ ra từ Khối các nguồn dữ liệu
o Xử lý dữ liệu như loại bỏ dữ liệu sai, thống nhất đối tượng, chuẩn hóa thuật ngữ,… để tạo ra dữ liệu có chất lượng
Khối tạo dựng trung tâm dữ liệu theo chủ đề:
- Cũng có chức năng như Khối tạo dựng Kho dữ liệu nhưng được hướng vào một chủ đề
đã được chỉ định sẵn
Lớp quản lý dữ liệu
Khối các nguồn
dữ liệu
Khối tạo dựng kho dữ liệu
Khối tạo dựng Trung tâm dữ liệu theo chủ
đề
Khối truy cập
và sử dụng
Lớp quản lý siêu dữ liệu Lớp chuyển tải dữ liệu Lớp kết cấu hạ tầng
Trang 26Lớp quản lý siêu dữ liệu:
- Siêu dữ liệu xuất hiện nhiều chỗ trong DWH: bản kê các nguồn dữ liệu và các thông tin về nguồn dữ liệu, tập các quy định về luật chất lượng dữ liệu,…Lớp này có chức năng đảm bảo tính cập nhật của siêu dữ liệu
Lớp chuyển tải dữ liệu:
- Đảm nhận chức năng chuyển tải dữ liệu giữa các khối Đảm bảo duy trì tính thống nhất, tính hiệu dụng, giải quyết xung đột trong quá trình tải dữ liệu
- Lai ghép: có chức năng và tính chất cả hai loại trên
Nơi lưu trữ dữ liệu chủ thuộc dạng 1 hoặc 3 chứa toàn bộ tập dữ liệu của DWH bao gồm tất
cả các phiên bản và tất cả dữ liệu lịch sử
Dựa trên định dạng dữ liệu, có thể chia nơi lưu trữ dữ liệu DWH thành 4 dạng:
- Trạm trung chuyển: phục vụ chuyển đổi và chuẩn bị dữ liệu xuất phát từ hệ thống nguồn trước khi dữ liệu này được tải vào các vị trí lưu trữ khác trong DWH
- Nơi lưu trữ dữ liệu được chuẩn hóa (NDS): là nơi lưu dữ liệu chính bên trong, có chuẩn một trong hoặc nhiều CSDL quan hệ được chuẩn hóa Mục đích phục vụ cho dữ liệu tích hợp từ nhiều nguồn được nắm bắt trong một trạm trước khi dữ liệu này được tải vào vị trí lưu trữ trực tiếp người dùng
- Nơi lưu trữ dữ liệu điều hành (ODS) thuộc dạng lai, chứa đựng dữ liệu giao tác và phiên bản mới nhất của dữ liệu chính Mục đích hỗ trợ cho các ứng dụng điều hành
- Nơi lưu trữ dữ liệu chiều (DDS): là nơi lưu dữ liệu trực tiếp với người dùng, nằm trong một hoặc nhiều CSDL quan hệ, mục đích phục vụ các truy vấn phân tích
Trang 272.1.1 ETL
Một gói ETL bao gồm nhiều tiến tiến trình ETL Một tiến trình ETL là chương trình lấy dữ liệu từ một hay nhiều nguồn và đẩy đến một bảng đích Tiến trình ETL bao gồm nhiều bước, mỗi bước thực hiện một tác vụ cụ thể Gói ETL trong DTW được quản lý bởi một hệ thống điều khiển, trong đó nó được điều khiển thời gian chạy, tổ chức thứ tự thực thi tiến trình cung cấp khả năng khởi động lại gói từ một điểm lỗi Cơ chế để lưu vết kết quả của mỗi bước của một tiến trình được gọi là ETL audit Ví dụ ETL audit: bao nhiêu bản ghi được chuyển đổi hay tải tại bước đó, thời gian bắt đầu và kết thúc tác vụ
Bản mô tả mỗi tiến trình ETL được lưu trong Metadata, mô tả này bao gồm các thông tin:
- nguồn để trích tách dữ liệu
- đích tải dữ liệu đến
- phép chuyển đổi được áp dụng
- tiến trình cha
- lịch biểu mỗi ETL
Trong DTW, metadata ngoài lưu định nghĩa dữ liệu, cấu trúc dữ liệu của mỗi nơi lưu trữ, cấu trúc dữ liệu của các hệ thống nguồn, mô tả các tiến trình ETL, những mô tả luật chất lượng
dữ liệu, vết của tất cả các tiến trình và hành động của DWH
Tiến trình chất lượng hóa dữ liệu là cơ chế để đảm bảo rằng dữ liệu trong DTW là đúng và hoàn chỉnh, nó bao gồm tất cả các cách để tìm ra dữ liệu hư và sửa lại chúng Tường lửa dữ liệu là chương trình kiểm tra liệu dữ liệu đi vào có tuân thủ các luật chất lượng dữ liệu không Luật chất lượng dữ liệu là ngưỡng mà xác định dữ liệu từ hệ thống nguồn có nằm trong một dãy cho trước và trong định dạng đúng hay không Một CSDL chất lượng dữ liệu là một CSDL chứa dữ liệu đi vào và tuân thủ các luật chất lượng dịch vụ
Hình 2.2 Một kiến trúc dòng dữ liệu với trạm, ODS, DDS, MDB
Trang 28Hình 2.3: Một kiến trúc theo dòng dữ liệu với hệ thống điều khiển,
siêu dữ liệu và tiến trình làm chất lượng dữ liệu
Hình 2.4: Kiến trúc luồng dữ liệu DDS đơn
Trang 30Một FDW chứa nhiều DW với một tầng lấy dữ liệu nằm trên các DW này FDW sẽ lấy dữ liệu từ các DW sau đó đưa vào vào kho lưu dữ liệu theo chiều mới Độ hạt của dữ liệu FDW
là lớn hoặc bằng với độ hạt lớn nhất của các DW Ví dụ G1 là ngày, G2 là tuần và G3 là tháng thì G của FDW sẽ là tháng Điều này cũng dễ hiểu khi ta xét đến quá trình chuyển đổi
dữ liệu
3.1.1 Mô hình kiến trúc chung
3.1.2 Các loại kiểu dáng kiến trúc hệ thống trên thực tế
Hiện này trên thực tế có một số các kiểu dáng kiến trúc DWH được triển khai Người ta vẫn đang tranh luận với nhau xem là kiểu dáng kiến trúc nào là tốt là tối ưu nhất Bản thân Bill
Hình 2.8: Liên hiệp các DWH
Trang 31Inmon và Ralph Kimball, hai nhà khoa học máy tính được coi những nhà tiên phong trong lĩnh vực nghiên cứu DWH cũng chưa thống nhất với nhau về việc này
Theo kết quả khảo sát trên thị trường thì có thể phân chia thành 5 kiểu dáng kiến trúc DWH
- Kiến trúc các trung tâm dữ liệu độc lập (independent data marts): Các trung tâm
dữ liệu độc lập với nhau Ở kiến trúc này, các chiều và đại lượng đo lượng nằm gọn trong từng trung tâm một Nhược điểm là chúng ko cung cấp một góc nhìn thống nhất,
dữ liệu thống nhất qua các trung tâm
- Kiến trúc bus trung tâm dữ liệu với các trung tâm dữ liệu theo chiều được liên
kết với nhau (data mart bus architecture with linked dimesional Data marts): Các
trung tâm dữ liệu được tổ chức sao cho có thể dùng chung các chiều Số chiều dùng chung được tối đa hóa Dữ liệu tổng hợp được duy trì qua nhiều trung tâm dữ liệu Cuối cùng các trung tâm dữ liệu phối hợp với nhau tạo ra dữ liệu đa góc nhìn
- Kiến trúc trục và tay quay (hub and spoke): Các trung tâm dữ liệu phụ thuộc được
tạo ra từ DWH Dữ liệu nguyên tố trong kho dữ liệu được lưu theo chuẩn 3 Trung tâm
dữ liệu được tạo ra phục vụ cho các phòng ban, Chủ yếu các truy vấn sẽ làm việc trên các trung tâm dữ liệu này
- Kiến trúc kho dữ liệu tập trung (ko có các trung tâm dữ liệu phụ thuộc ): Giống kiến
trúc trên ngoại trừ không có các trung tâm dữ liệu phụ thuộc Kho dữ liệu bao gồm dữ liệu nguyên tố, các dữ liệu tổng hợp và các view chiều của dữ liệu
- Kiến trúc liên hợp kho dữ liệu (federated)
Trang 32Theo một khảo sát thì tỷ lệ kiến trúc được áp dụng trong thực tế là
Kiến trúc bus trung tâm dữ liệu với các trung tâm dữ liệu theo
chiều được liên kết với nhau
26%
Trang 33Trung tâm dữ liệu độc lập 12%
3.1.3 Những nhân tố dùng để lựa chọn kiến trúc
- Sự phụ thuộc thông tin lẫn nhau giữa các bộ phận trong tổ chức: Khi sự phụ thuộc là cao thì khả năng chia sẻ thống nhất, thông tin được tích hợp được coi trọng
- Nhu cầu thông tin của người quản lý cấp cao
- Mật độ yêu cầu
- Tính tự nhiên của tác vụ người dùng cuối: Trong khi có những người dùng chỉ cần các phép truy vấn hay thủ tục được cấu trúc hóa thì những người khác lại có nhu cầu phân tích dữ liệu không theo một khuôn nào Đòi hỏi kiến trúc hệ thống đáp ứng ngay những yêu cầu đa dạng này
Để mô tả một cách trực quan kiến trúc hệ thống, chúng ta sử dụng kiến trúc cụ thể như hình trên
[9]
Amadeus Entertainment (http://amadeusentertainment.org/) là một nhà bán lẻ trong lĩnh vực giải trí trong đó bao gồm nhạc, phim và sách audio Amadeus Entertainment có 8 kho điều hành trực tuyens tại Mỹ, Pháp, Đức , Anh, Tây Ban Nha , Úc , Nhật và Ấn độ Chúng có 96 gian hàng offline tại các quốc gia này Khách hàng có thể mua các sản phẩm của công ty này dưới dạng lẻ bài hát, sách audio, phim hoặc có thể đăng ký theo gói ( tải một số lượng nhất định các sản phẩm) Hon có thể nghe trực tuyến với giá giảm 1/10 với giá tải
Hình 2.9 Một ví dụ về kiến trúc hệ thống
Trang 34Công ty có bốn kênh phân phối: Internet, điện thoại di động, TV cáp và bưu điện Có nhiều kiểu thanh toán như thẻ debit hàng năm hay hàng tháng Công ty này đặt hàng hàng mẻ sản phẩm chẳng hạn 10,000 bài hát từ công ty ghi âm Với việc nghe trực tuyến công ty trả cho nhà cung cấp dựa trên số lượng đã dùng (hóa đơn hàng tháng)
Công ty sử dụng WebTower9, một hẹ thống Net phục vụ web động, thương mại multimedia, broadcasting xử lý đơn hàng và quản lý việc đăng ký Hệ thống này chạy với hệ quản trị CSDL là Oracle Back-end của hệ thống là hệ thống ERP Jupiter chay trên DB2 Đây là nơi
mà sản phẩm, đầu tư và tìa chính được quản lý CSDL Jupiter vào khoảng 800 GB với 250 bảng và view
Các hoạt động kinh doanh trong các cửa hàng offline được quản lý bởi Jade, là hệ thống viết trên Java chạy trên Infomix Bao gồm bán hàng, dịch vụ khách hàng và đăng ký WebTower9
và Jade lấy dữ liệu sản phẩm và tài chính từ Jupiter nhưng dữ liệu bán hàng và khách hàng được giữ lại trên chúng
Công ty sử dụng hệ thống SupplyNer để làm việc với các nhà cung cấp Đây là một mạng chuẩn công nghiệp dựa trên web Service trong ngành công nghiệp giải trí trực tuyến bao gồm nhạc và phim WebToweri và Jupiter được host từ trụ sở chính của công ty, Jadee được host tại trụ sở ở Ấn Đội ngũ kiến trúc IT đã quyết định chuẩn hóa lại nền tảng CSDL dựa trên MS SQL Server và dùng dịch vụ web làm nền tảng ứng dụng
Hình 2.10: Kiến trúc Nhà kho dữ liệu của công ty Amadeus Entertainment
Trang 35CHƯƠNG III: MÔ HÌNH DỮ LIỆU THEO CHIỀU
Các nhà quản lý cấp cao có khuynh hướng suy nghĩ theo “nhiều chiều” (multidimensionally) Những thông tin họ mô tả về quá trình hoạt động của doanh nghiệp hay tổ chức thường có dạng như sau:
“Chúng tôi kinh doanh các sản phẩm trong nhiều thị trường khác nhau, và chúng tôi đánh giá hiệu quả thực hiện của chúng tôi qua thời gian”
“Chúng tôi có nhiều gói dịch vụ viễn thông, sản lượng của từng gói trên từng lớp khách hàng (doanh nhân, sinh viên,…) theo thời gian như thế nào”
Với những phát biểu như thế, đội ngũ phát triển DWH sẽ gạch chân dưới những từ mang ý nghĩa chiều đo lường:
“Chúng tôi kinh doanh các sản phẩm trong nhiều thị trường khác nhau, và chúng tôi đánh giá hiệu quả thực hiện của chúng tôi qua thời gian”
“Chúng tôi có nhiều gói dịch vụ viễn thông, sản lượng của từng gói trên từng lớp khách hàng (doanh nhân, sinh viên,…) theo thời gian như thế nào”
Ở đây chúng ta cũng có thể so sánh với quá trình phân tích thiết kế một hệ thống quản
lý thông tin tác nghiệp Khi lấy yêu cầu người sử dụng, đội ngũ tin học khoanh vùng các danh
từ nhằm lấy ra các thực thể nghiệp vụ
Giả sử chúng ta lấy những chiều quy chiếu cho hoạt động ở trên và ghép lại thành một
hệ tọa độ Hệ tọa độ này có thể là phẳng (2 chiều), không gian (3 chiều), hoặc tổng quát n – chiều Một điểm trên không gian được xác định bằng các giá trị trên hệ quy chiếu này Điểm trên không gian chính là kết quả hoạt động của đơn vị tại một bộ giá trị chiều cụ thể Khi giới hạn các đoạn trên từng chiều quy chiếu thì chúng ta có được một khối dữ liệu (theo trực giác thông thường với 3 chiều quy chiếu chúng ta có khối lập phương)
Ví dụ với bài toán doanh nghiệp viễn thông như trên: có 3 chiều quy chiếu là chiều thời gian, chiều gói dịch vụ, chiều lớp đối tượng khách hàng Mỗi một điểm trong không gian
3 chiều là kết quả kinh doanh tại thời điểm nào đó trên một lớp khách hàng của gói dịch vụ nào đó
Trang 362 Các khái niệm
2.1 Sự kiện và bảng sự kiện
Sự kiện gần như là các hoạt động tác nghiệp của doanh nghiệp hay tổ chức Không giống như bảng chiều, bảng sự kiện thường lưu thông tin về bản thân hoạt động tác nghiệp được thực thi Bảng sự kiện bao gồm các đại lượng có thể đo lường, đơn vị đo lường trong hoạt động của doanh nghiệp Mỗi DWH bao gồm một hoặc nhiều bảng sự kiện
Mức độ đơn nguyên (giá trị đo lường nguyên tố) của bảng dữ liệu kiện mô tả cấp độ nhỏ nhất
mà tại đó dữ kiện được định nghĩa Đơn nguyên của một bảng sự kiện SALE có thể là số lượng bán hàng “Hàng ngày/1 Sản phẩm/1 Cửa hàng” Mỗi bản ghi trong bảng này được xác định duy nhất bởi giá trị thuộc tính ngày nào, sản phẩm nào và cửa hàng nào Các chiều khác
có thể là các thành viên của bảng dữ liệu chẳng hạn như khu vực nhưng nó ko dùng để xác định duy nhất bản ghi Các chiều mang tính chất phối hợp này thường cung cấp cấp độ cao cho các phép tính tổng hợp
Tính chất quan trọng nhất của bảng sự kiện là nó chứa các dữ kiện kiểu số, có thể tính tổng hay theo một công thức toán học nào đó để cung cấp thông tin mang tính lịch sử về quá trình tác nghiệp của đơn vị Mỗi bảng sự kiện chứa một chỉ mục nhiều phần, như các khóa ngoài,
là các khóa chính tại các bảng chiều có liên quan và chứa các thuộc tính của những bản ghi sự việc
Khi thiết kế DWH, trong các bảng sự kiện, ta nên tránh đưa vào các trường thông tin mang tính mô tả Chúng không đóng vai trò gì trong môi trường DWH Vì các mô tả này chỉ dùng cho từng tác vụ đơn lẻ, không có ý nghĩa với các phép thống kê trên mẻ dữ liệu
Ví dụ: Bảng dữ kiện Bán hàng sẽ lưu các thông tin dạng như sau
Doanh số bán hàng tại kho Hà Nội trong ngày 15/1/2008 ;à $12,000
Doanh số bán hàng tại Hải Phòng trong ngày 15/1/2008 được $34,000
Hình 3.1: Một hình ảnh về chiều dữ liệu
Thời gian Lớp khách hàng
Gói dịch vụ
Trang 37 Doanh số bán hàng tại Hà Nội vào ngày 16/1/2008 là $22,000
Doanh số bán hàng tại TP HCM trong ngày 16/1/2008 là $40,000
Doanh số trung bình tại cửa hàng Hà Nội là $21,000
Doanh số trung bình tại cửa hàng TP HCM tháng 3 là là $65,000
Bảng sự kiện bán hàng hàng ngày
Khóa ngày Khóa sản phẩm Khóa gian hàng
Số lượng bán Doanh số
Tổng hợp bán hàng tháng là một số liệu đo lường cũng được lưu trữ tại bảng dữ kiện trên Bảng dữ kiện chứa các khóa ngoài từ các bảng chiều: thời gian, người bán, sản phẩm,khu vực,
2.2 Chiều và bảng chiều
2.2.1 Chiều
Chiều là một mặt khía cạnh nghiệp vụ mà đơn vị muốn dựa vào đó để xác định kết quả hoạt động Chiều thường được xác định từ các thực thể kinh doanh có tác động đến kết quả Sau một thời gian, có thể chiều này bị loại bỏ vì mức độ tác động đến sự thay đổi hầu như không
có, chiều mới có thể được phát hiện và ghi nhận
2.2.2 Bảng chiều
Một bảng chiều là bảng chứa các thuộc tính khác nhau có mục đích giải thích cho khóa chiều trong bảng dữ kiện Các thuộc tính này chỉ ra hoàn cảnh của thực thể mà sự kiện nghiệp vụ diễn ra Khác với bảng sự kiện, bảng chiều có chứa các thông tin có tính chất mô tả Giá trị các thuộc tính ở bảng chiều về sau thường được sử dụng để làm nhãn cho cột hay hàng thống
kê
Trang 38Ví dụ bảng chiều Sản phẩm 2.2.3 Phân loại chiều
Chiều được chia làm 2 loại là chiều phẳng hay chiều phân cấp
- Chiều phẳng: các giá trị cùng mức không có giá trị nào đóng vai trò cha con của giá trị khác
- Chiều phân cấp: Các bảng chiều thường mô tả quan hệ ông cha trong nghiệp vụ Ví dụ trong bảng chiều sản phẩm, sản phảm có thể cuộn lên chi nhánh và cuộn thành nhóm Với mỗi hàng trong bảng chiều sản phẩm, lưu chi nhánh và mô tả nhóm ứng với sản phẩm này Ví dụ bảng chiều hàng hóa, mỗi hàng hóa cụ thể có thể là con của nhóm đồ uống có cồn, nhóm không cồn, nhóm hàng điện lạnh,… Như vậy ở đây có dư thừa dữ liệu nhưng nó lại là cần thiết để đảm bảo hiệu năng truy vấn trên DWH
all
Mexico Canada
Spain Germany
Trang 39Một ví dụ về chiều phân cấp (địa điểm) của một tập đoang đa quốc gia Như ở trên chúng ta thấy chiều địa điểm có 4 cấp Một dòng dữ liệu có đơn nguyên là địa chỉ cụ thể, có các trường thông tin tương ứng với các cấp độ
Một chiều có thể có nhiều hệ phân cấp đi kèm với nó Trong Oracle, thì nó không giới hạn số
hệ phân cấp đi kèm với chiều Ví dụ trong chiều địa lý nói trên ngoài cây phân cấp đã mô tả
nó có thể còn được phân cấp theo tính chất khu vực chia theo tính chất địa lý (đồng bằng, miền núi, đảo,…)
Có 3 kiểu phân cấp:
- Phân cấp dựa trên giá trị (value - based): phù hợp với cấu trúc của đơn vị
- Phân cấp cập độ ngắt quãng (skip level): Phù hợp với các môi trường bán lẻ
- Phân cấp rời rạc (Ragged): Phù hợp với các môi trường dịch vụ tài chính
2.2.4 Thời gian và bảng chiều thời gian
Như chúng ta đã biết DWH được thiết kế và xây dựng nhằm đáp ứng thông tin hóa dữ liệu chỉ ra được các phân tích thống kê và xa hơn nữa là đưa ra được các quy luật nội tại Phân tích, thống kê hay quy luật đều xuất hiện yếu tố thời gian Một mặt yếu tố thời gian ảnh hưởng lớn tới kết quả hoạt động, một mặt chúng dùng để gom nhóm tạo ra kết quả phục vụ cho các báo cáo kinh doanh
Cũng như các bảng chiều khác, dữ liệu trong bảng thời gian thường chấp nhận dư thừa, nhằm đáp ứng nhanh chóng các yêu cầu với sự thay đổi khác nhau của yếu tố thời gian Với mỗi đặc thù đơn vị, cấu trúc của bảng dữ liệu chiều thời gian được tạo ra cho phù hợp
Ở đây chúng ta đề cập đến bảng thời gian nhưng hầu hết các bảng chiều thời gian trong thực
tế có đơn nguyên là ngày tháng Việc lưu đơn nguyên cấp độ nhỏ hơn ( như giờ hay phút) là rất hiếm gặp vì 2 lý do: do nhu cầu thống kê và do số lượng dữ liệu cần lưu ở các bảng sự kiện có quan hệ là quá lớn
Bạn có thể bắt gặp trong bảng chiều thời gian các trường thông tin thể hiện thứ tự ngày trong tuần, cột tháng, cột năm, cột thể hiện có phải là ngày nghỉ hay không Điều này không mấy khi gặp trong các hệ thống tác nghiệp, vì giá trị các trường này đều có thể dùng ngôn ngữ lập trình nào đó tính ra được từ giá trị ngày tháng Ở đây cũng là một dạng dư thừa dữ liệu Mục đích của dư thừa dữ liệu này là ưu tiên tối đa cho tốc độ phản hồi truy vấn thống kê Hơn nữa
Trang 40số lượng dư thừa này là không đáng kể so với số lượng dữ liệu có chứa trong các bảng sự kiện
Chiều Thời gian có thể được mô tả bởi các thuộc tính như Năm, Quý, Tháng và Ngày Mặt khác, các thuộc tính của một chiều có thể được tổ chức vào một lưới mà chỉ ra một phần trật
tự của chiều Vì thế, cũng với chiều Thời gian có thể được tổ chức thành Năm, Quý, Tháng, Tuần và Ngày Với sự sắp xếp này, chiều Thời gian không còn phân cấp vì có những tuần trong năm có thể thuộc về nhiều tháng khác nhau
2.2.5 Khối dữ liệu (cube)
Như đã nói ở trên, hệ tọa độ được xây dựng bởi các chiều quy chiếu Mỗi điểm trong không gian này là kết quả hoạt động nào đó của doanh nghiệp, kết quả này được xác định từ một tập giá trị trên các chiều Khi giới hạn các chiều chúng ta có khối dữ liệu
Một khối dữ liệu về cơ bản là có thể có N chiều (N-D) Những cạnh của khối được gọi
là các chiều (dimensions), mà đó là các mặt hoặc các thực thể ứng với những khía cạnh mà tổ chức muốn ghi nhận Mỗi chiều có thể kết hợp với một bảng chiều (dimension table) nhằm
mô tả cho chiều đó Ví dụ, một bảng chiều của Sản phẩm có thể chứa những thuộc tính như
MaSanpham, Mota, Tensanpham, LoaiSP,… mà có thể được chỉ ra bởi nhà quản trị hoặc các
nhà phân tích dữ liệu Với những chiều không được phân loại, như là Thời gian, hệ thống kho
dữ liệu sẽ có thể tự động phát sinh tương ứng với bảng chiều (dimension table) dựa trên loại
dữ liệu Cần nói thêm rằng, chiều Thời gian trên thực tế có ý nghĩa đặc biệt đối với việc hỗ
trợ quyết định cho các khuynh hướng phân tích Thường thì nó được mong muốn có một vài tri thức gắn liền với lịch và những mặt khác của chiều thời gian
Chúng ta có thể hình dung khối dữ liệu được tổ chức xung quanh một chủ đề được thể
hiện bởi một bảng sự kiện (fact table) của nhiều độ đo số học (là các đối tượng của phân
tích) Ví dụ, một bảng sự kiện có thể chứa số mặt hàng bán, thu nhập, tồn kho, ngân sách,…
Mỗi độ đo số học phụ thuộc vào một tập các chiều cung cấp ngữ cảnh cho độ đo đó Vì thế,
các chiều kết hợp với nhau được xem như xác định duy nhất độ đo, là một giá trị trong không gian đa chiều Ví dụ như một kết hợp của Sản phẩm, Thời gian, Thị trường vào 1 thời điểm là
một độ đo duy nhất so với các kết hợp khác
Vì vậy, nếu mỗi chiều chứa nhiều mức trừu tượng, dữ liệu có thể được xem từ nhiều
khung nhìn linh động khác nhau Một số thao tác điển hình của khối dữ liệu như roll-up (tăng mức độ trừu tượng), drill-down (giảm mức độ trừu tượng hoặc tăng mức chi tiết), slice and
dice (chọn và chiếu), và pivot (định hướng lại khung nhìn đa chiều của dữ liệu), cho phép
tương tác truy vấn và phân tích dữ liệu rất tiện lợi Những thao tác đó được biết như Xử lý
phân tích trực tuyến (On-Line Analytical Processing – OLAP) NLLV sẽ mô tả chi tiết các
phép thao tác này ở chương IV
Những nhà ra quyết định thường có những câu hỏi có dạng như “tính toán và xếp hạng tổng
số lượng hàng hoá bán được theo mỗi quốc gia (hoặc theo mỗi năm)” Họ cũng muốn so sánh