Thứ Năm, 9 tháng 5, 2013

Oracle Streams – Một giải pháp tích hợp dữ liệu có thể áp dụng tại EVNCPC

http://www.cpc.vn/cpc/home/TTuc_Detail.aspx?pm=ttuc&sj=KHKTCN&id=8680#.UYtpLEpyHTo
Oracle Streams – Một giải pháp tích hợp dữ liệu có thể áp dụng tại EVNCPC
Cập nhật ngày 16/11/2012,10:54:12





Oracle Streams là giải pháp phù hợp với mô hình đơn vị có hệ thống database phân tán, cần quá trình đồng bộ (hay gọi là tích hợp dữ liệu). Một database trung tâm sẽ nhận các cập nhật dữ liệu ở các database theo hình thức real_time. Trên thực tế thì Oracle Streams không thể đáp ứng real_time, nhưng độ trễ có thể nói là thấp nhất về mặt đồng bộ.

Đối với Oracle Streams thì các database tham gia trong môi trường đồng bộ đều hoàn toàn độc lập nhau; các database sẽ đồng bộ dữ liệu của nhau dựa trên DML, DDL capture và apply procedure của hệ thống.

Oracle Streams có ba giai đoạn để hoàn thành một quá trình đồng bộ gồm: capture (nắm bắt), propagation (lan truyền), và apply (áp dụng). Quá trình capture xảy ra ở database chuyển dữ liệu đồng bộ. Oracle Streams capture các DML hay DDL, đưa vào một hàng đợi và bộ phận propagation chịu trách nhiệm chuyển các DML và DDL này đến cơ sở dữ liệu đích. Ở cơ sở dữ liệu đích, các thay đổi được đưa vào một hàng đợi (streams_queue), từ đây quá trình apply sẽ thực thi các thay đổi trên cơ sở dữ liệu đích.

Ngoài ra Oracle Streams còn có thể thực hiện đồng bộ hai chiều. Điều này có nghĩa là nếu một trong các database có thay đổi dữ liệu thì các thay đổi này đều được đồng bộ với các database còn lại trong môi trường đồng bộ.

Mô hình đồng bộ dữ liệu Downstream Capture trong Oracle Streams

Downstream capture có nghĩa là tiến trình capture chạy trên một remote database thay vì trên source database. Dùng Downstream capture sẽ loại trừ việc capture trên database hoạt động. Downstream Capture là cơ chế đồng bộ một chiều.

Hình minh họa trên thể hiện một môi trường đồng bộ dùng Oracle Streams giữa 2 database Oracle là

- src.example.com

- dest.example.com

Database src.example.com lưu redo log cho database local. Redo log này ghi lại các thay đổi đến schema hr. Redo log này được gửi đến database dest.example.com bởi Redo Transport Services.

Database dest.example.com đã được cấu hình các thành phần Oracle Streams sau:

- Hàng đợi streams_queue

- Một tiến trình nắm bắt có tên capture_hns sẽ nắm bắt các thay đổi DML xảy ra đối với các bảng trong schema hr từ redo log của src.example.com. Tiến trình nắm bắt đẩy các thay đổi này vào trong hàng đợi streams_queue.

- Một tiến trình áp dụng có tên apply sẽ lấy các thay đổi xảy ra tại src.example.com từ hàng đợi streams_queue, và áp dụng các thay đổi này đến các bảng trong schema hr.

Giải pháp tích hợp dữ liệu kinh doanh điện năng tại EVNCPC dùng Oracle Streams

Từ mô hình đồng bộ dữ liệu Downstream Capture của Oracle Streams, với hiện trạng phân tán cơ sở dữ liệu kinh doanh điện năng CMIS2, và yêu cầu tập trung dữ liệu tại EVNCPC, đề xuất một mô hình tích hợp dữ liệu từ các công ty điện lực về EVNCPC như sau:

- Database CMIS2 tại các công ty điện lực sẽ gửi các redo log về một database tại CPC.

- Database tại CPC thực hiện nắm bắt các thay đổi đã xảy ra tại các database công ty điện lực (thể hiện trong redo log đã nhận được).

- Database tại CPC thực hiện áp dụng các thay đổi, đã xảy ra tại các database công ty điện lực, vào các bảng tại database CPC.

Dữ liệu chỉ được đồng bộ một chiều từ các công ty điện lực về EVNCPC.

Dữ liệu tại EVNCPC là dữ liệu chỉ đọc (read only).

Mô hình tích hợp dữ liệu tại EVNCPC với 2 công ty điện lực

Hoàng Xuân Dũng (Phòng CNTT – CPC IT)

Tài liệu tham khảo

- Website: www.oravn.com
- Oracle® Database High Availability Overview 11g Release 1 (11.1)
- Oracle® Streams Concepts and Administration 11g Release 1 (11.1)
- Oracle® Database 2 Day + Data Replication and Integration Guide 11g Release 1 (11.1)

Không có nhận xét nào:

Đăng nhận xét

(Chơi cho vui) AIRDROP CHAINGE FINANCE - dự án xây dựng ứng dụng ngân hàng số cho mọi người

 Không hiểu lắm về cái này, tuy nhiên thấy quảng cáo khá nhiều, lại chỉ cung cấp vài thông tin cá nhân (mà mấy ông lớn như facebook với goog...