4.1.1 Tổ chức hệ thống
Kho dữ liệu thương mại điện tử có đầu vào là dữ liệu từ các hoạt động tác nghiệp (CSDL của hệ thống trang web thương mại điện tử, CSDL của các nhà cung cấp, các hoá đơn giao hàng,...) và đầu ra sẽ sử dụng công cụ OLAP tạo ra các báo cáo phân tích thông tin dồi dào và phong phú được tạo lập nhanh chóng và hiển thị một cách trực quan, linh hoạt. Các báo cáo này sẽ giúp ích cho các nhà quản lý có đầy đủ thông tin cần thiết để có thể đưa ra những quyết định chiến lược kịp thời. Dưới đây là sơ đồ kiến trúc của kho dữ liệu thương mại điện tử:
Hình 4.1 Sơ đồ kiến trúc kho dữ liệu TMĐT
Hệ thống kho dữ liệu TMĐT được cài đặt tập trung vào những phần chính là các khối chức năng quan trọng sau:
+ Trích chọn, chuyển tải và nạp dữ liệu vào kho + Tạo lập các khối dữ liệu đa chiều
+ Phân tích, hiển thị dữ liệu và tạo lập báo cáo. Hệ thống
tác nghiệp
Trích chọn, chuyển tải và nạp dữ liệu
Kho dữ liệu Hệ thống quản trị CSDL đa chiều
Bộ phân tích dữ liệu
Người sử dụng
4.1.2 Thu thập và tạo lập dữ liệu cho kho dữ liệu 4.1.2.1 Trích chọn, chuyển tải và nạp dữ liệu 4.1.2.1 Trích chọn, chuyển tải và nạp dữ liệu * Trích chọn dữ liệu
Trích chọn dữ liệu là một phép xử lí để lấy các dữ liệu đã được xác định trước ra khỏi các hệ thống tác nghiệp và các nguồn dữ liệu bên ngoài [1]. Các dữ liệu thường di chuyển từ các hệ thống OLTP tới kho dữ liệu. Quá trình trích chọn dữ liệu có thể gặp phải một số vấn đề:
- Không có đủ thông tin chi tiết về hệ thống
- Hoặc người sử dụng yêu cầu thông tin ở mức thấp hơn thông tin của hệ thống hoạt động có thể lưu trữ
- Dữ liệu được trích như thế nào (đọc dữ liệu từ đâu), khi nào (thời gian và tần số trích chọn)?
Một nhiệm vụ quan trọng của bước này là phải lập ra kế hoặch và tần suất tiến trình trích chọn. Mục đích của bước này là phải tối thiểu hoá các tác động lên các hệ thống và thi hành các tác vụ này trong một cửa sổ xử lý theo lô. Đối với các bảng khác nhau thì tần suất trích dữ liệu sẽ khác nhau. Việc trích dữ liệu cũng phụ thuộc vào ảnh hưởng của hệ thống nguồn và loại dữ liệu được trích.
Đối với kho dữ liệu thương mại điện tử, dữ liệu bán hàng, dữ liệu về hoạt động đặt vé máy bay, về các tour du lịch hay đặt phòng khách sạn sẽ có thể được cập nhật hàng ngày. Tuy nhiên, dữ liệu về sản phẩm, về các nhà cung cấp hàng hoá, về các khách sạn,v.v.. chỉ cần trích dữ liệu hàng tuần.
Các dữ liệu trích chọn đầu tiên được chuyển tải vào kho dữ liệu tạm thời. Quá trình thực thi có thể thực hiện bằng các thủ tục T-SQL, dịch vụ chuyển đổi dữ liệu (DTS).
4.1.2.2 Lọc, tinh chế dữ liệu
Quá trình lọc, làm sạch dữ liệu kiểm tra và sưả chữa các lỗi có thể có của dữ liệu để đảm bảo tính đúng đắn của dữ liệu [1].
Công việc này bao gồm các thao tác:
- Đưa ra và hợp nhất các bản ghi trùng nhau
- Thu nhặt, sắp xếp các bản ghi giống nhau mà bị thiếu các khoá từ các hệ thống khác nhau.
Quá trình làm sạch cần được lặp đi lặp lại các bước sửa lỗi cho hệ thống thi hành hoặc thực hiện quá trình làm sạch khác với một số dữ liệu vừa được làm sạch.
4.1.2.3 Thẩm định và chuyển đổi dữ liệu
Mục đích của bước này là chuyển dữ liệu thành thông tin có thể hiểu được và sử dụng được đối với người sử dụng. Việc chuyển đổi có thể gồm các chức năng sau:
- Chuyển dữ liệu từ trường này sang trường khác
- Xây dựng lại và định dạng lại các trường dữ liệu, có thể chỉ chuyển một phần hoặc phải gộp cả các trường lại với nhau tạo thành một trưòng mới.
- Chuyển hoá từ nhiều trường nguồn để tạo ra một trường mới
4.1.2.4 Tích hợp dữ liệu
Khi có nhiều nguồn dữ liệu thì chúng cần thiết phải được tích hợp lại để hợp nhất và tổ chức lại dữ liệu cho phù hợp với kiến trúc và nhu cầu sử dụng. Tích hợp thông tin từ hệ thống này sang hệ thống khác bao gồm:
- Sắp xếp và hợp nhất khi một bảng dữ liệu đích được tạo nên từ nhiều nguồn dữ liệu.
- Chia cắt dữ liệu nếu như từ một dữ liệu nguồn cần tạo ra nhiều dữ liệu đích, hoặc một thuộc tính lại nhiều trường chứa dữ liệu cho nó.
- Đưa ra và giải quyết các vi phạm về tính nguyên vẹn của dữ liệu. Một giải pháp là lưu trữ dữ liệu như là dữ liệu giả.
- Tạo ra các khoá tổng hợp (nhân tạo) có khả năng tách biệt và bảo vệ khỏi các biến động trong hệ thống nguồn.
4.1.2.5 Tải dữ liệu vào kho
Quá trình tải dữ liệu sẽ tập hợp các dữ liệu đưa vào kho dữ liệu, kiểm tra tính toàn vẹn của dữ liệu và thiết lập các bảng chỉ số.
Kho dữ liệu thường được cập nhật một cách định kỳ (có thể hàng ngày, hàng tuần, hay hàng tháng,..) và số lượng bản ghi chuyển tải lớn từ nhiều bảng tới một bảng đơn.
4.2 XÂY DỰNG CÁC KHỐI VÀ CHIỀU CHO GIẢI PHÁP OLAP 4.2.1 Tiến trình trợ giúp quyết định dựa vào dữ liệu 4.2.1 Tiến trình trợ giúp quyết định dựa vào dữ liệu
Để ứng dụng OLAP, chúng ta cần xây dựng một mô hình phục vụ cho phân tích OLAP dựa trên tình huống của bài toán, các vấn đề và các mục tiêu đã xem xét. Đó chính là quá trình xác định các khối định tổ chức, định nghĩa cấu trúc các chiều và định nghĩa các công thức/ luật cần thiết cho tính toán. Trên cơ sở mô hình OLAP, CSDL OLAP đã được thiết lập, người khai thác hệ thống sẽ uốn nắn việc tìm kiếm thông tin của mình bằng cách liên tục đặt ra những yêu cầu truy vấn, thực hiện rồi nhận xét kết quả nhằm tìm hiểu dần những thông tin tiềm ẩn của dữ liệu nguồn (thu thập những vấn đề quan tâm), để tiến tới chỗ có đủ cơ sở nhận định, từ đó đưa ra những quyết định đúng đắn, mang tính chiến lược.
Tiến trình trợ giúp quyết định dựa vào dữ liệu cho bài toán cụ thể có thể được minh hoạ như sơ đồ sau [12]:
Hình 4.2 Tiến trình trợ giúp quyết định dựa vào dữ liệu
4.2.2 Xây dựng các khối OLAP 4.2.2.1 Khối (cube) 4.2.2.1 Khối (cube)
Đối tượng chính của OLAP là khối, một sự biểu diễn đa chiều của dữ liệu chi tiết và tổng thể. Khối là phần tử chính trong xử lý phân tích trực tuyến, cung cấp cơ chế truy vấn dữ liệu với thời gian trả lời nhanh và không phụ thuộc vào số lượng dữ liệu trong khối hoặc sự phức tạp của câu truy vấn.
Công việc tạo một khối gồm ba bước sau: (1). Xác định các khối
(2). Thiết kế các khối kết hợp (các thành phần dữ liệu được tính toán trước)
1. Xác định yêu cầu bài toán
1.1 Xác định các vấn đề gặp phải 1.2 Xác định các mục tiêu cần đạt đến
2. Xây dựng mô hình OLAP cho bài toán
2.1 Xác định các khối dữ liệu cơ sở
2.2 Định nghĩa cấu trúc các chiều 2.3 Định nghĩa các công thức/ luật
cần thiết cho tính toán
3. Phân tích dữ liệu - Ra quyết định
3.1 Đưa ra yêu cầu truy vấn
3.2 Nhận xét kết quả truy vấn
(3). Xử lý khối
* Xác định các khối
Một khối bao gồm: một bảng sự kiện, một hoặc nhiều bảng chiều, các đơn vị đo và các phân hoạch. Việc xác định các khối dựa trên yêu cầu phân tích của người sử dụng.
Ví dụ, kho dữ liệu thương mại điện tử có thể tạo lập nhiều khối khác nhau:
+ Khối thống kê số lượng hàng bán theo khu vực, theo thời gian.
+ Khối thống kê số lượng hàng bán theo sản phẩm của từng nhà cung cấp, theo thời gian.
+ Khối thống kê số lượt phòng đã đặt, số tiền đã thu được theo từng loại phòng của từng khách sạn theo thời gian
+ Khối thống kê số ghế đã đặt theo từng hãng bay, theo thời gian ...
Để xác định một khối, ta chọn một bảng sự kiện và các đơn vị đo lường đồng nhất (các cột theo sự quan tâm của người dùng khối) trong bảng sự kiện. Sau đó, chọn các chiều, mỗi chiều gồm một hay nhiều bảng liên quan khác. Các chiều cung cấp sự mô tả rõ ràng các đơn vị đo lường được chỉ ra bởi người dùng khối.
Ví dụ, khối phân tích, thống kê lượng hàng bán, số tiền thu được theo từng sản phẩm của từng nhà cung cấp theo thời gian bao gồm các cột chứa các đơn vị đo lường số lượng, thành tiền từ bảng BANHANG_FACT và các chiều nhà cung cấp, sản phẩm, thời gian. Khối này cho phép ngưòi dùng phân tích số lượng bán đựơc và tổng số tiền thu được thành các nhóm khác nhau theo sản phẩm, theo nhà cung cấp và theo thời gian.
Mỗi chiều có thể chứa các cấp độ để chỉ sự phân chia rõ ràng của người dùng. Mỗi cấp độ con trong chiều thường chi tiết hơn mức cha nó.
Ví dụ, chiều thời gian là một chiều phân cấp chuẩn với các cấp độ năm, quý, tháng, tuần, ngày. Chiều sản phẩm cũng có thể chia thành các cấp độ: loại
Cấp độ chiều là một công cụ mạnh để phân tích dữ liệu. Chúng cho phép người sử dụng có thể đưa ra yêu cầu về thông tin ở mức độ khái quát cao, sau đó có thể mở rộng để tìm hiểu chi tiết hơn.
* Tạo khối
Như vậy, để tạo một khối, chúng ta cần thực hiện các công việc sau: 1. Chọn bảng sự kiện cho khối cần tạo
2. Tạo các đơn vị đo (measures): Chọn các cột (có kiểu dữ liệu là kiểu số) trong bảng sự kiện để làm các đơn vị đo, đồng thời gán công thức tính toán cho từng đơn vị đo (sum, average, max, min,...)
3. Tạo lập các chiều dữ liệu: mỗi chiều tương ứng với một bảng (bảng chiều) trong sơ đồ hình sao mà bảng sự kiện ở trên là bảng trung tâm. Trong mỗi bảng chiều chọn các cột làm mức (level) của chiều đó. Chúng ta cần chọn các mức sao cho có thể đáp ứng được việc tham chiếu cuốn lên và khoan sâu theo các mức khác nhau.
4. Xử lý khối
* Xử lý khối
Quá trình xử lý khối bao gồm viêc đọc dữ liệu các bảng chiều để xác định cấp độ dữ liệu hiện tại, đọc các bảng sự kiện, tính toán các dữ liệu đặc biệt và lưu trữ dữ liệu trong khối đa chiều.
Xử lý khối là thuật ngữ dùng để chỉ sự tải trọn vẹn dữ liệu của khối. Tất cả các chiều, dữ liệu bảng sự kiện được đọc và tất cả các khối liên kết đặc biệt được tính toán.
Sau khi được xử lý, khối sẽ được cung cấp cho yêu cầu của người sử dụng.
4.2.2.2 Chiều (dimension)
Để xác định một chiều, chọn một hoặc nhiều cột trong các bảng chiều. Nếu ta chọn các cột phức tạp thì tất cả các cột này cần phải có quan hệ với nhau, chẳng hạn giá trị của chúng có thể được tổ chức theo hệ thống phân cấp đơn. Để xác định hệ thống phân cấp, sắp xếp các cột từ chung nhất tới cụ thể nhất.
Mỗi cột trong chiều góp phần vào một cấp độ cho chiều. Các cấp độ được sắp đặt theo nét riêng biệt và được tổ chức trong hệ thống cấp bậc hợp logic cho việc đào sâu (drill down). Ví dụ, chiều thời gian miêu tả ở trên cho phép người dùng khối đào sâu từ năm tới quý, từ quý tới tháng và từ tháng tới ngày.
* Chiều có phân cấp
Phân cấp làm cột sống của việc gộp dữ liệu hay nói một cách khác là dựa vào các phân cấp mà việc gộp dữ liệu mới có thể thực hiện được. Phần lớn các chiều đều có một cấu trúc đa mức hay phân cấp.
Chẳng hạn, nếu cần đưa ra những quyết định về việc bán hàng gì vào thời gian nào,... để nâng cao hiệu quả của việc kinh doanh thì chúng ta cần quan sát và phân tích dữ liệu về việc bán hàng được gộp theo nhà cung cấp, theo sản phẩm và theo thời gian, tức là chúng ta đã thực hiện một phép gộp. Khi cần đưa ra các quyết định khác thì chúng ta cần thực hiện những phép gộp tương ứng khác. Nghĩa là có nhiều tiến trình gộp. Vậy nên, các tiến trình gộp này phải được thực hiện một cách dễ dàng linh hoạt để có thể hỗ trợ những phân tích không hoạch định trước. Điều này có thể được giải quyết trên cơ sở có sự trợ giúp của những phân cấp rộng và sâu.
4.2.2.3 Các đơn vị đo lƣờng (measure)
Các trường đơn vị đo là các trường số liệu đặc thù của các bảng sự kiện. Đó chính là số liệu tổng hợp hoặc chi tiết theo các chiều khác nhau. Trong các khối phân tích, thống kê về quản lý bán hàng, có các trường sau đây thường được sử dụng làm đơn vị đo:
Bảng sự kiện Trƣờng đơn vị đo
BanHang_Fact
Đơn gia Thành Tiền Số lượng Giá trị hoá đơn
4.2.2.4 Các phân hoạch (partition)
Các phân hoạch đóng vai trò quan trọng trong các bảng khai thác khi khối lượng dữ liệu lớn. Nó cho phép phân chia dữ liệu theo một số tiêu thức nào đó.
Trong các khối dữ liệu của hệ thống thương mại điện tử, chúng ta có thể thiết kế các partition dựa vào chiều thời gian. Cụ thể, một khối có thể chứa trong mỗi phân hoạch dữ liệu của mỗi năm trước đó và các phân hoạch cho mỗi quý của năm hiện tại. Cuối năm các bảng phân hoạch của bốn quý có thể được hợp nhất trong một phân hoạch đơn cho năm đó.
4.2.2.5 Khối ảo
Có thể tạo liên kết các khối trong một khối ảo, tương tự như các bảng có thể liên kết tạo thành các khung nhìn trong một cơ sở dữ liệu quan hệ. Một khối ảo cung cấp sự truy cập tới dữ liệu trong các khối kết hợp không đòi hỏi xây dựng một khối mới, trong khi nó cho phép ta duy trì thiết kế tốt nhất cho mỗi khối riêng biệt.
Chúng ta có thể tạo ra một khối mới từ các khối đã có bằng cách sử dụng các đơn vị đo và các chiều của các khối đã có mà không cần tốn kém không gian nhớ.
Các bước để tạo một khối ảo:
1. Chọn các khối cần tạo khối ảo từ nó 2. Chọn các đơn vị đo cho khối ảo 3. Chọn các chiều cho khối ảo 4. Xử lý khối
4.3 PHÂN TÍCH VÀ HIỂN THỊ DỮ LIỆU 4.3.1 Hiển thị dữ liệu của khối 4.3.1 Hiển thị dữ liệu của khối
Sau khi khối đã được tạo và xử lý, người sử dụng có thể xem kết quả phân tích một cách dễ dàng bằng việc thực hiện các thao tác "cuốn lên" và "trải xuống" theo các mức trên mỗi chiều của khối đã chọn.
- Cắt lát các khối đa chiều theo các mức, các chiều tuỳ chọn - Khoan sâu xuống các mức dữ liệu chi tiết nếu cần
- Cuộn lên các mức dữ liệu tổng hợp hơn (theo phân cấp chiều)
- Cho phép thay đổi yêu cầu phân tích dữ liệu bằng cách kéo thả các chiều ở các vị trí khác nhau
- Kết quả phân tích được hiển thị một cách rõ ràng, linh hoạt và tiện ích, dễ dàng sử dụng.
Ngoài công cụ Analysis Services của HQT CSDL SQL Servers, khối còn có thể được hiển thị bằng công cụ chuyên dụng OLAPBrowser Pro, cho phép hiển thị khối bằng hình ảnh đồ hoạ trực quan, sinh động, trợ giúp đắc lực cho các nhà lãnh đạo phân tích, tìm kiếm thông tin để đưa ra các quyết định đúng đắn, chính xác. Cả hai cách hiển thị khối này sẽ được trình bày cụ thể trong phần cài đặt minh hoạ.
4.3.2 Truy vấn dữ liệu
Microsoft SQL Server OLAP cung cấp trình ứng dụng mẫu (MDX