Cơ chế xử lý, trích lọc dữ liệu của DTS và Datastage khác nhau cơ bản ở phần transform.
DTS sử dụng công cụ Data Transformation Services trên máy trạm (client) để thiết kế, còn Datastage sử dụng công cụ IBM InfoSphere DataStage and QualityStage Designer. Cả hai công cụ trên đều có khả năng thiết kế và lưu lại gói trích lọc, chuyển đổi trên máy chủ ETL. Gói trích lọc, chuyển đổi ETL trên DTS gọi là “package”, trên Datastage gọi là “job”.
Sau đây, luận văn sẽ trình bày việc chuyển đổi các thành phần trong gói (packgage) của DTS dạng [ET][L] sang “job” của Datastage dạng [E][L][T] trên các công cụ thiết kế tương ứng.
Dữ liệu nguồn, đích (Data Connection): là một đối tượng để tạo kết nối đến CSDL nguồn hoặc đích.
DTS DataStage
Đối tượng trên DTS:
Connection (Source/Destination) Cấu hình :
Đối tượng trên Datastage:
Connector Cấu hình:
Trích xuất dữ liệu một bảng đơn:
Ví dụ: Trích xuất một bảng dữ liệu KHACHHANG từ CSDL nguồn đẩy sang bảng tương ứng trên CSDL đích từ câu lệnh truy vấn:
DTS DataStage
Package:
Cấu hình:
Câu lệnh truy vấn lấy dữ liệu được cấu hình trên dây chuyển đổi “transform”.
Job:
Cấu hình:
Về cơ bản, việc trích xuất dữ liệu từ một bảng ở Datastage thiết kế tương tự như DTS, tuy nhiên câu lệnh truy vấn lấy dữ liệu được ghi ở đối tượng kết nối dữ liệu nguồn.
Trích xuất dữ liệu từ nhiều bảng với câu lệnh truy vấn liên kết:
Ví dụ: Trích xuất bảng dữ liệu với thông tin bao gồm MaGD, TenKH, SoTien từ liên kết hai bảng KHACHHANG và GIAODICH:
SELECT MAGD, TENKH, SOTIEN
FROM KHACHHANG INNERJOIN GIAODICH ON KHACHHANG.MAKH=GIAODICH.MAKH
DTS DataStage
Package:
Cấu hình:
Việc trích xuất đơn giản chỉ là một câu lệnh truy vấn liên kết, được thực thi trên CSDL nguồn.
Kết quả được chuyển tải qua máy DTS tới CSDL đích.
Job:
Cấu hình:
Bảng KHACHHANG và GIAODICH được liên kết qua đối tượng liên kết “Join” trong Infosphere Datastage Designer.
Liên kết “Join” 2 bảng KHACHHANG và GIAODICH được thực hiện trên máy chủ Datastage, đẩy vào bảng tạm, cuối cùng kết quả được chuyển tải về CSDL đích.
Câu lệnh truy vấn liên kết được thể hiện dưới dạng đồ họa kéo thả trong thiết kế job Datastage.
Có đầy đủ các đối tượng để xử lý câu lệnh truy vấn trong Datastage, ví dụ đối tượng “Funnel” để dùng kết hợp
“union”…
Trích xuất dữ liệu từ nhiều bảng, trong đó có tính toán dữ liệu với câu lệnh truy vấn liên kết:
Ví dụ: Trích xuất bảng dữ liệu với thông tin bao gồm MaKH, TenKH, tổng số tiền giao dịch của từng khách hàng, từ liên kết hai bảng KHACHHANG và GIAODICH:
SELECT A.MAKH, A.TENKH, SUM(B.SOTIEN) SOTIEN FROM KHACHHANG A INNERJOIN GIAODICH B
ON A.MAKH=B.MAKH GROUPBY A.MAKH, A.TENKH
DTS DataStage Package: Cấu hình: Job: Cấu hình: Bảng KHACHHANG và GIAODICH được liên kết qua đối tượng liên kết “Join” trong Infosphere Datastage Designer, sau đó thông qua đối tượng Aggregator sẽ được tính toán để tính tổng số tiền giao dịch
“SUM(SOTIEN)”.
Câu lệnh truy vấn liên kết và tính tổng được thể hiện dưới dạng đồ họa trong thiết kế job Datastage.
Thực thi một chuỗi SQL trên một CSDL:
Ví dụ: Thực thi một chuỗi SQL để cập nhật và xóa bảng kết quả TTGIAODICH trên CSDL đích, nếu 0 < SoTien < 1 thì SoTien = 1, xóa dữ liệu có SoTien < 0.
UPDATE TTGIAODICH SET SOTIEN=1
WHERE SOTIEN>0 AND SOTIEN<1; DELETE TTGIAODICH
DTS DataStage
Package:
Cấu hình:
Thực thi một chuỗi câu lệnh SQL xử lý dữ liệu được tách ra riêng trên DTS. Việc thực thi này sẽ được thực hiện sau khi việc chuyển đổi kết thúc thành công hay thất bại, tùy theo người sử dụng thiết kế.
Job:
Cấu hình:
Trên mỗi đối tượng kết nối CSDL nguồn hoặc đích, Datastage đều có thể cho phép thực thi một chuỗi các câu lệnh SQL xử lý dữ liệu, trước hoặc sau khi chuyển đổi tùy theo người thiết kế.
Việc chuyển đổi từ một gói trên DTS dạng [ET][L] sang “job” trên Datastage dạng [E][T][L] là hoàn toàn có thể, không ảnh hưởng tới luồng xử lý dữ liệu trên kho dữ liệu.
2.5.3. Xây dựng kho dữ liệu chuyên đề, dữ liệu đa chiều dạng ROLAP a. Kho dữ liệu chuyên đề a. Kho dữ liệu chuyên đề
Bảng 2.5.3.1. Tiêu chuẩn kỹ thuật giữa SQL Server và DB2 [6, 8]
Microsoft SQL Server 2000
IBM DB2 ver 9.7
Kiến trúc Mô hình quan hệ Mô hình quan hệ
Hệ điều hành Windows Windows/Mac OS X/
Unix/Linux/z/OS
Giao diện Đồ họa/ Dòng lệnh Đồ họa/ Dòng lệnh
Đặc điểm
Backup Có Có
Nén dữ liệu Không Có (~50%)
Mã hóa dữ liệu Không Có
Hỗ trợ Java Không Có Transactions Có Có Chỉ mục bitmap Không Có Kiểu dữ liệu Blobs/Clobs Có Có Con trỏ Có Có Thủ tục Có Có Hàm Có Có Trigger Có Có Giới hạn Dữ liệu Blob/Clob tối đa 2 GB 2 GB
Độ dài tên cột tối đa 128 128
Số cột mỗi dòng tối đa 1024 1012 Kích thước CSDL tối đa 1,048,516 TB 512 TB Kích thước dòng tối đa Unlimited 32,677 B Kích thước bảng tối đa 524,258 TB 512 TB
Số kết nối tối đa 32,767 64,000
So sánh các tiêu chuẩn hỗ trợ thì hệ quản trị CSDL DB2 tối ưu hơn SQL Server 2000.
AS/400 được kế thừa từ hệ quản trị CSDL DB2 của IBM. Nếu sử dụng CSDL DB2 thì việc trích xuất từ EDM vào kho dữ liệu chuyên đề không có khó khăn gì trong việc chuyển đổi kiểu dữ liệu.
Sử dụng IBM DB2 là linh hoạt hơn, có thể cài đặt trên nhiều nền tảng như Windows hay Linux...
Mặt khác, nếu sử dụng hệ quản trị CSDL DB2 cho kho dữ liệu chuyên đề thì quá trình xử lý chuẩn bị báo cáo trên DWH sẽ thuận tiện hơn thông qua công cụ IBM Infosphere Datastage.
b. Dữ liệu đa chiều
Trong mỗi bộ sản phẩm hệ quản trị CSDL của các hãng nổi tiếng trên thế giới, thông thường đều bao gồm dữ liệu đa chiều. Ví dụ Microsoft SQL Server 2000 có Analysis Services để lưu và khai thác dữ liệu đa chiều, IBM DB2 có IBM Infosphere Warehouse.
IBM Infosphere Warehouse Cubing Services lưu dữ liệu đa chiều theo mô hình Relational OLAP (ROLAP). Lợi ích của mô hình ROLAP như đã phân tích ở phần 2.2.1.a trước đó.
Cubing Services khai thác các tính năng trong DB2 như tối ưu câu lệnh, sử dụng MQT (Materialized query table) để cải thiện hiệu suất truy vấn. MQT là một bảng mà cấu trúc của nó dựa trên kết quả của một truy vấn. Khi một truy vấn với tần suất truy cập nhiều cần lấy thông tin tổng số dư tiền gửi của khách hàng, một bảng MQT sẽ được tạo ra lưu trữ kết quả tổng số dư của câu truy vấn đó, việc xử lý chỉ còn là tìm số dư trong bảng MQT đó đối với các câu lệnh truy vấn tương tự đến sau [6].
MQT Table Fact Table Dimention Tables Dimention Tables DB2 Optimizor SQL query MQT Base Data