- 29/09/2018
- Posted by: Đào Nhật Minh
- Category: Công nghệ
1. Bài toán về đồng bộ
Với những doanh nghiệp có nhiều hệ thống ứng dụng, thông thường dữ liệu sẽ được lưu trữ trên các máy chủ khác nhau, các loại CSDL khác nhau, khi có các nhu cầu cần tổng hợp thông tin từ nhiều nguồn dữ liệu để phân tích hoặc chia sẽ dữ liệu giữa các ứng dụng với nhau sẽ phát sinh bài toán đồng bộ dữ liệu.
Ví dụ, một doanh nghiệp có hệ thống CRM cần thông tin của khách hàng từ hệ thống SALES để chăm sóc khách hàng, lúc này sẽ phát sinh bài toán đồng bộ dữ liệu từ hệ thống SALES sang hệ thống CRM.
Trong một số trường hợp, việc đồng bộ dữ liệu không chỉ được sử dụng để phục vụ các bài toán nghiệp vụ thông thường cần tới chia sẻ dữ liệu, mà nó còn được sử dụng để thực hiện chức năng dự phòng thảm họa ở lớp cơ sở dữ liệu.
Để giải quyết bài toán đồng bộ dữ liệu, thông thường sử dụng những cách sau:
– Phát triển một ứng dụng để đồng bộ dữ liệu (1)
– Chia sẻ dữ liệu trực tiếp qua database link (2)
– Sử dụng ứng dụng đồng bộ dữ liệu giữa các CSDL (3)
Với cách (1) doanh nghiệp sẽ tốn nhiều công sức để nghiên cứu để xây dựng một ứng dụng đồng bộ, mất thời gian sửa ứng dụng khi nghiệp vụ thay đổi, và cũng không chắc chắn đảm bảo được hiệu năng tốt khi xử lý lượng dữ liệu lớn.
Với cách (2) có nhược điểm là có khả năng ảnh hưởng đến hoạt động của các CSDL chia sẻ dữ liệu nhất là khi thực hiện với lượng dữ liệu lớn. Ngoài ra phải quan tâm đến vấn đề phân quyền và bảo mật và không phải loại CSDL nào cũng hỗ trợ kết nối qua database link.
Với cách (3) là lựa chọn hợp lý nhất, vậy ta sẽ sử dụng công cụ nào? Sau đây tôi xin giới thiệu về ứng dụng Oracle GoldenGate đang được sử dụng rất phổ biến cho các bài toán đồng bộ dữ liệu.
2. Oracle GoldenGate là gì và tại sao lại sử dụng GoldenGate cho bài toán đồng bộ
Oracle GoldenGate được Oracle mua lại từ GoldenGate Software Inc vào năm 2009 và được phát triển lại, phiên bản hiện tại là Oracle GoldenGate 12.3 hay còn gọi lại 12c.
Những lợi ích mà GoldenGate mang lại:
• Duy trì các hoạt động liên tục cho các ứng dụng
• Giảm thiểu chi phí thông qua hỗ trợ các môi trường không đồng nhất
• Hiệu suất cao, có khả năng mở rộng
• Giảm thiểu rủi ro sai lệch dữ liệu, đảm bảo được tính toàn vẹn và độ tin cậy dữ liệu
• Vượt qua rào cản về việc chia sẻ dữ liệu
Oracle Goldengate hoạt động dựa trên cơ phân tích transaction log của CSDL, hỗ trợ nhiều tính năng nổi bật như:
• Hỗ trợ trợ nhiều loại CSDL như Oracle, SQL Server, DB2, MySQL, BigData
• Có khả năng chạy được trên nhiều hệ điều hành như Solaris, Linux, AIX, Window
• Có khả năng đồng bộ dữ liệu với độ trễ thấp với hàng nghìn transaction/s và chiếm ít tải của hệ thống CSDL,
• Hỗ trợ kết nối bảo mật, mã hóa dữ liệu khi truyền tải dữ liệu;
• Có cơ chế đảm bảo tính toàn vẹn dữ liệu đồng bộ và khả năng tự khôi phục tiến trình đồng bộ sau khi mất kết nối giữa CSDL nguồn và CSDL đích;
Oracle GoldenGate có thể sử dụng nhiều mô hình đồng bộ như từ một nguồn sang nhiều đích, từ nhiều nguồn về một đích, hoặc đồng bộ 2 chiều…
3. Một số giải pháp thường sử dụng Oracle GoldenGate
• Xây dựng CSDL dạng Active-Active (cho những ứng dụng đồng bộ 2 chiều, lưu trữ phân tán)
• Nâng cấp, chuyển đổi phiên bản CSDL với Zero Downtime (không dừng hệ thống)
• Xây dựng hệ thống dự phòng phòng ngừa thảm họa
• Xây dựng các hệ thống chạy báo cáo
• Xây dựng hệ thống Real-Time Data Warehousing (được tích hợp với ODI)
4. Các sản phẩm khác trong dòng sản phẩm Oracle GoldenGate
Oracle GoldenGate Veridata
Oracle GoldenGate Veridata hỗ trợ so sách dữ liệu giữa các CSDL (cùng loại hoặc không cùng loại) với tốc độ cao và ít ảnh hưởng đến hệ thống. Nó đưa ra báo cáo về sự khác biệt dữ liệu giữa các CSDL mà không làm gián đoạn hoạt động của hệ thống ứng dụng. Oracle GoldenGate Veridata điển hình được sử dụng khi nâng cấp hoặc chuyển đổi hệ thống sang hệ thống mới cần kiểm tra sự đồng nhất về dữ liệu.
Management Pack for Oracle GoldenGate
Sản phẩm này bao gồm Oracle GoldenGate Monitor, Oracle GoldenGate Director và Oracle Enterprise Manager Plug-in.
- Oracle GoldenGate Monitor: hỗ trợ giám sát các hoạt động của các tiến trình đồng bộ Oracle GoldenGate, đưa ra cảnh báo khi tiến trình đồng bộ phát sinh lỗi.
- Oracle Enterprise Manager Plug-in: hỗ trợ tích hợp Oracle GoldenGate với cho Oracle Enterprise Manager Cloud Control để giám sát và cảnh báo
- Oracle GoldenGate Director: hỗ trợ khai báo, tạo và thay đổi cấu hình, báo cáo về trạng thái đồng bộ dữ liệu của các tiến trình.