Công cụ tích hợp dữ liệu, quản lý môi trường kho dữ liệ u

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu giải pháp kho dữ liệu trong Oracle data warehouse 10g và áp dụng trong bài toán xây dựng kho dữ liệu khách hàng, ngân hàng TMCP Tiên Phong (Trang 33 - 37)

2.7.1. Tổng quan về ETL

Quá trình lấy dữ liệu từ nguồn và đưa nó vào kho dữ liệu gọi là ETL. Tùy theo từng yêu cầu nghiệp vụ, trong quá trình chiết xuât, dữ liệu được nhận biết và trích xuất từ một hoặc nhiều nguồn khác nhau và có thể có sự biến đổi trong quá trình trích xuất.

Sau khi trích xuất, dữ liệu được chuyển tới hệ thống đích hoặc một hệ thống trung gian nào đó để xử lý tiếp. Việc biến đổi dữ liệu cũng có thểđược thực hiện ở bước này.

Một công cụ hỗ trợ quá trình ETL là OWB. Tuy nhiên, với những nghiệp vụ

phức tạp ta cần viết các thủ tục, hàm riêng để thực hiện tiến trình ETL trong kho dữ

liệu.

Hình 2-14: Công cụ Oracle Warehouse Builder

2.7.2. Trích xuất dữ liệu

Trích xuất dữ liệu là thao tác lấy dữ liệu từ nguồn để sử dụng cho DWH. Đây là bước đầu tiên của quá trình ETL. Sau khi trích xuất, dữ liệu có thể được biến đổi và

được tải vào trong DWH.

Nguồn dữ liệu cho việc trích xuất có thể rất phức tạp hoặc không được lập tài liệu đầy đủ, do vậy, quá trình xác định dữ liệu nào được trích xuất là khó khăn. Thiết kế tiến trình trích xuất dữ liệu chúng ta quan tâm tới hai vấn đề sau:

1. Thứ nhất: Lựa chọn phương thức trích xuất. Điều này gây ảnh hưởng tới nguồn dữ liệu, tiến trình truyền và thời gian làm tươi DWH.

2. Thứ hai: Cung cấp dữ liệu đã được trích xuất như thế nào để sử dụng trong tương lai. Điều này ảnh hưởng tới phương thức truyền, cũng như nhu cầu làm sạch và biến đổi dữ liệu.

Việc đánh giá lựa chọn phương pháp trích xuất dữ liệu phụ thuộc vào nguồn dữ

liệu và nghiệp vụ cụ thể. Có những phương pháp logic và vật lý giúp cụ thể hơn việc trích xuất dữ liệu từ nguồn.

1. Phương pháp logic:

• Trích xuất đầy đủ: Lấy ra tất cả dữ liệu đang có tại nguồn. Ví dụ như thao tác lấy tất cả dữ liệu ra từ một bảng. Khi trích xuất đầy đủ, sẽ không cần thao tác lần vết theo sự thay đổi kể từ lần trích xuất thành công cuối cùng. Thao tác này được thực hiện với trích xuất tăng.

• Trích xuất tăng: Là trích xuất dữ liệu đã có sự thay đổi kể từ một thời điểm cụ

thể nào đó trong quá khứđược lưu lại, như là thời điểm trích xuất dữ liệu gần nhất, hay là ngày đặt hàng cuối cùng của một kỳ tài chính.

Để nhận biết được những thay đổi này cần có một cơ chếđể đánh dấu dữ liệu đã có sự thay đổi sau thời điểm đó (thời điểm trích xuất dữ liệu trước đó).

Nhiều DWH không sử dụng phương pháp bắt những dữ liệu đã có sự thay đổi, thay vào đó là kỹ thuật so sánh toàn bộ các bảng được trích xuất với bảng đã được trích xuất trước đó từ nguồn để nhận dạng dữ liệu có sự thay đổi. Tuy nhiên, với bảng lớn thì phép toán này sẽ rất tốn tài nguyên hệ thống. Oracle hỗ trợ cơ chế Oracle's Change Data Capture (CDC) giúp ghi nhận và bảo trì những thay đổi của dữ liệu.

2. Phương pháp vật lý:

• Trích xuất trực tuyến: Dữ liệu được trích xuất trực tiếp từ nguồn. Tiến trình trích xuất có thể kết nối trực tiếp tới nguồn để lấy dữ liệu hoặc qua một hệ

thông trung gian nào đó đã lưu sẵn dữ liệu theo cách tổ chức đã được cấu hình từ trước.

• Trích xuất ngoại tuyến: Dữ liệu được lấy từ nguồn lưu trữ dạng ngoại tuyến như các tệp tin phẳng hay các tệp tin kết xuất, các không gian lưu trữ dữ liệu có thể trao đổi.

2.7.3. Trao đổi dữ liệu

Vận chuyển là thao tác chuyển dữ liệu từ một hệ thống sang hệ thống khác. Có thể là thao tác chuyển dữ liệu từ hệ thống nguồn tới cơ sở dữ liệu trung gian hoặc cơ

sở dữ liệu DWH, từ cơ sở dữ liệu trung gian tới cơ sở dữ liệu DWH, từ cơ sở dữ liệu DWH tới vùng lưu trữ siêu dữ liệu.

Các cơ chế vận chuyển dữ liệu trong DWH:

1. Vận chuyển sử dụng các tập tin dữ liệu: Dữ liệu nguồn có thể được kết xuất ra dạng tệp tin dữ liệu, được truyền tới máy đích thông qua giao thức FTP, sau đó các tập tin dữ liệu này có thể được đưa vào DWH. Đây là cơ chế đơn giản và hiệu quả để thực hiện việc vận chuyển dữ liệu ngoại tuyên ngay cả khi nguồn và DWH không cùng hệđiều hành hoặc không cùng database.

2. Vận chuyển thông qua các thao tác phân tán: Thông qua các truy vấn phân tán, cơ chế này thực hiện chuyển dữ liệu trực tiếp tới hệ thống đích, do vậy nó hỗ

trợ đồng thời cả trích xuất và vận chuyển dữ liệu. Kết quả vận chuyển dữ liệu

được biết ngay sau khi thực hiện các truy vấn hoặc giao dịch phân tán.

3. Vận chuyển sử dụng các không gian lưu trữ dự liệu có thể trao đổi: Cơ chế này phù hợp khi vận chuyển lượng lớn dữ liệu. Các không gian lưu trữ dự liệu này có thể trao đổi hỗ trợ vận chuyển đồng thời cả dữ liệu và siêu dữ liệu. Các tệp tin dữ liệu bao gồm hầu hết các đối tượng trong CSDL đều được vận chuyển từ

CSDL này tới CSDL khác. Hạn chế của cơ chế này là chỉ chạy trên cùng hệ điều hành, chỉ có từ phiên bản Oracle 8i trở lên, phải cùng bộđịnh dạng kí tự.

Ứng dụng các không gian lưu trữ dữ liệu có thể trao đổi trong DWH là khi vận chuyển dữ liệu từ nguồn dữ liệu trung gian sang DWH hoặc từ DWH sang vùng lưu trữ siêu dữ liệu. Các không gian lưu trữ dữ liệu có thể trao đổi phải được thiết lập dạng READ ONLY để có thể vận chuyển được.

2.7.4. Tải dữ liệu

Biến đổi dữ liệu là một công việc phức tạp đòi hỏi người làm phải có kỹ năng cao

đểđáp ứng các yêu cầu nghiệp vụđề ra, ởđây, kinh nghiệm về PLSQL và am hiểu về

nghiệp vụđóng vai trò quan trọng. Ngoài các thao tác biến đổi dữ liệu bên trong cơ sở

1. Cơ chế tải dữ liệu: Có thể sử dụng SQL*Loader, bảng ngoài để tải dữ liệu từ

các tệp tin dữ liệu hoặc bảng ngoài vào trong cơ sở dữ liệu DWH.

2. Cơ chế biến đổi dữ liệu: Khi dữ liệu đã được chuyển vào database, có thể biến

đổi dữ liệu sử dụng SQL hoặc PL/SQL. Khi sử dụng SQL, có thể sử dụng các câu lệnh INSERT, UPDATE, MERGE để biến đổi dữ liệu. Sử dụng ngôn ngữ

thủ tục PL/SQL để thực hiện các thao tác biến đổi dữ liệu phức tạp.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu giải pháp kho dữ liệu trong Oracle data warehouse 10g và áp dụng trong bài toán xây dựng kho dữ liệu khách hàng, ngân hàng TMCP Tiên Phong (Trang 33 - 37)

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

(81 trang)