Thu nhận dữ liệu thay đổi ( Change Data Captur e)

Một phần của tài liệu giải pháp kho dữ liệu thời gian thực cho hệ thống siêu thị (Trang 61)

Để thu nhận các thay đổi được tạo ra trong AP OLTP, trước tiên phân tích cách thức các AP tạo ra các thay đổi đối với nguồn dữ liệu. AP gồm một bảng chính được phổ biến mỗi lần khi việc ghi chép theo dõi được tiến hành hoặc kết thúc, tức là chỉ gồm các thay đổi cần được thu nhận từ quá trình chèn và cập nhật, không bao gồm quá trình xóa bỏ. AP OLTP là nguồn dữ liệu dựa trên cơ sở dữ liệu MySQL đối với lôgic hợp nhất để điều khiển các hoạt động và thực hiện các trigger.. Không thể thực hiện mã bất kỳ dựa trên các hoạt động trigger. Kết quả là hướng tiếp cận cơ bản hơn được thực hiện. Một trigger được chèn vào sẽ xuất hiện trong bảng chính

Hình 3.3.2 : Giản đồ của bảng thực tế

Địa chỉ TB kết nối Tên địa điểm Thời gian đến

Thời gian đi Hiện tại

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Mục đích của bảng mới này là để tạo ra một bảng mà tại đó Real time ETL có thể trích dữ liệu của nó từ đó. Sau khi trích dòng, nếu nó được đẩy thành công vào hàng Biến thế thì dòng đó có thể được loại bỏ từ bảng thực tế. Phần đầu của bảng bổ sung này theo hình thức của 3 thông báo SQL kèm theo phục vụ cho việc xử lý dữ liệu: thao tác chèn được gọi tên theo trigger, thao tác chọn lọc được tiến hành khi Real time ETL trích dữ liệu và thao tác xóa được tiến hành khi dữ liệu đã được đẩy thành công vào máy chuyển đổi. Tuy nhiên bảng bổ sung này cần đảm bảo Real time ETL có thể hoạt động ngay cả khi xảy ra lỗi hệ thống. Real time ETL cho biết được trạng thái và biết được vị trí để khôi phục lại sau khi xảy ra sự cố miễn là các ghi chép được thực hiện dựa trên việc tăng thời gian nhập. Tuy nhiên bản chất của OLTP này lại làm giảm khả năng thực hiện việc thu giữ dữ liệu thời gian thực. Thay vào đó, chúng ta có thể thực hiện việc thu giữ dữ liệu thời gian thực gần hơn. Thậm chí nếu CDC thu cơ sở dữ liệu một vài lần/giây trong các lần thay đổi thì việc thu nhận vẫn sẽ tiếp tục diễn ra dựa trên hoặc không dựa trên các bước hoạt động.

Trigger tương tự cần được tạo ra để kiểm soát quá trình cập nhật, tức là đóng các ghi chép. Trigger cập nhật này thúc đẩy hệ thống đóng các ghi chép thực tế và theo đó sẽ điều khiển chúng.

Để có được dữ liệu thời gian thực, đề xuất hệ thống sẽ thay đổi OLTP để sử dụng nguồn dữ liệu khác. MSSQL được lựa chọn để sử dụng. MSSQL thúc đẩy trigger tiến hành quy trình lưu trữ. Quy trình lưu trữ có thể thực hiện bất kỳ mã nào thông qua thời gian vận hành ngôn ngữ chung SQL (SQLCLR). Mã có thể được viết theo cách mà mỗi thao tác chèn tự động vào cơ sở dữ liệu MSSQL đều đưa thông tin tới máy chuyển đổi. Lựa chọn khác giúp sử dụng cơ sở dữ liệu hướng dẫn để thúc đẩy việc điều khiển dữ liệu thời gian thực. Cơ sở dữ liệu hướng dẫn mới hơn dựa trên cấu trúc CDC của chúng trên mô

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

hình của nhà quản lí/người đăng ký, được biết đến phổ biến hơn bởi nhà quan sát chi tiết thiết kế. Nhà quản lí thu nhận dữ liệu thay đổi và biến nó trở thành nguồn sẵn có đối với người đăng ký.

Khi trích xuất dữ liệu, cần tiến hành quá trình làm sạch cơ bản. Các ghi chép được lưu trữ trong OLTP chứa dữ liệu sai lệch, ví dụ: ở đây có thể là các ghi chép theo dõi không chứa thời gian đăng nhập hay ghi chép mà tại đó thời gian đăng nhập muộn hơn thời gian tồn tại. Quá trình làm sạch dữ liệu này được thực hiện trước khi dữ liệu được đưa vào hàng mà từ đó chuyển tới hệ thống chuyển đổi. Quá trình làm sạch dữ liệu cũng có thể được thực hiện trong máy biến thế tuy nhiên để tạo điều kiện thuận lợi cho tải trọng làm việc của hệ thống chuyển đổi thì quá trình này được tiến hành trong CDC.

Một phần của tài liệu giải pháp kho dữ liệu thời gian thực cho hệ thống siêu thị (Trang 61)