Trích tách dữ liệu (Extraction)

Một phần của tài liệu Data warehouse lý thuyết và thực tiễn (Trang 49)

Là một phần của tiến trình ETL. Mọi dự án Kho dữ liệu thực hiện hợp nhất dữ liệu từ các hệ thống nguồn khác nhau. Các hệ thống nguồn riêng rẽ có thể dùng các tổ chức, định dạng dữ liệu khác nhau từ các CSDL quan hệ , dữ liệu có cấu trúc nhưng không nằm ở dạng quan hệ như IMS, VSAM, ISAM, đến các tệp dữ liệu phẳng. Thậm chí dữ liệu có thể từ các hệ thống bên ngoài tổ chức như từ các hệ thống duyệt web hay thu thập thông tin khác. Tiến trình trích tách dữ liệu thực hiện chuyển đổi dữ liệu vào một định dạng sẵn sàng cho quá trình chuyển đổi

Một nhiệm vụ bên trong của quá trình này là Phân tích các dữ liệu trích tách được. Quá trình này kiểm tra xem liệu dữ liệu lấy được có đáp ứng theo một kiểu mẫu hay kiến trúc cho trước không, nếu không thì dữ liệu bị loại bỏ. Đây có thể hiểu như là một bộ lọc để đảm bảo chất lượng dữ liệu cho bước tiếp theo.

Các chiến lược trích tách dữ liệu :

- Lấy toàn bộ bảng dữ liệu (trích tách đầy đủ) - trích tách tăng dần

- Phân dãy

- Đẩy

a. Lấy toàn bộ bảng dữ liệu:

Áp dụng với bảng nhỏ (khoảng 3 trường và số ít hàng). Lý do lớn nhất để lấy toàn bộ bảng là bảng nguồn ko có cột nhãn thời gian để trích tách dữ liệu hoặc chúng ko cho chúng ta quyền để thêm các cột này.

Sao nguyên toàn bộ bảng dữ liệu có ưu điểm là không phải sử dụng các kỹ thuật phức tạp và cần có các giám sát ngoài.

b. Trích tách tăng dần:

Là kỹ thuật chỉ lấy những hàng dữ liệu thay đổi

Bảng trên có cột nhãn thời gian. Chúng ta phải xem xét xem các cột nhãn thời gian có thực sự tin cậy: bất cứ khi nào dòng dữ liệu được thay đổi thì giá trị tại cột này cần phải được cập

nhật. Nói chung có nhiều mẹo kiểm tra dựa vào ý nghĩa tương quan của các cột, thậm chí của các dòng dữ liệu với nhau

LSET: Last successful Extrachtion time CET: Current extrachtion time

Các bước thực hiện như sau:

- lấy từ CSDL metadata giá trị LSET

- thực hiện câu lệnh select có điều kiện giá trị Cretae >=LSET và < CET - Khi thực hiện lấy dữ liệu thành công thì gán lại LSET bằng CET

Trong trường hợp cột nhãn thời gian ko có giá trị đáng tin cậy thì bạn có thể sử dụng cột thời gian thực hiện giao tác ( Order date), nhưng trong trường hợp này có một tình huống là có những hóa đơn từ trước nhưng mãi tới 3 tuần sau mới được cập nhật vào hệ thống.

Sử dụng cột ID

- lấy LSEI: Last successful extraction ID - lấy Max(OrderID) rồi gán cho CEI

- lấy những hàng có ID nằm giữa LSEI và CEI - gán lại LSEI

Theo cách này thì có những đơn hàng vẫn đang tiếp tục mà có ID nhỏ hơn LSEI sẽ bị bỏ qua. Chúng ta có thể sử dụng tham số đơn hàng quá khứ để khắc phục.

Đối với những hàng bị xóa thì sao? Bị xóa ở đây thuộc về 2 dạng: xóa mềm và xóa vật lý. Xóa mềm có nghĩa là hàng đó được đánh dấu là hủy bởi một cột nào đó còn xóa vật lý thì đơn thuàn là xóa ra khỏi bảng. Với xóa vật lý thì chúng ta có thể có 2 cách để phát hiện

- So sánh khóa của 2 bảng tại 2 nơi - sử dụng trigger xóa tại hệ thống nguồn

Về mặt vật lý phân chia thành các cách thức

- Trích tách trực tuyến (online) - Trích tách ko trực tuyến (offline)

a. Trích tách trực tuyến

Dữ liệu được trích tách trực tiếp từ hệ thống nguồn. Quá trình trích tách có thể liên kết trực tiếp tới hệ thống nguồn để truy cập các bảng dữ liệu. Quá trình này có thể truy cập tới hệ thống tức thời đang lưu giữ giữ liệu theo cách thức được cấu hình trước (ví dụ như các ảnh chụp log hay các bảng thay đổi) Ở phương pháp này, bạn cần phải xem xét kiệu ác giao tác đang dùng các đối tượng nguồn gốc hay các đối tượng đã được chuẩn bị.

b. Trích tách offline

Dữ liệu ko được trích tách trực tiếp từ hệ thống nguồn mà được để tại một trạm tạm ngoài hệ thống nguồn.

Một phần của tài liệu Data warehouse lý thuyết và thực tiễn (Trang 49)

Tải bản đầy đủ (PDF)

(126 trang)