Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Cơ Sở Dữ Liệu

Thành thạo Oracle GoldenGate: Khái niệm Cốt lõi & Ứng dụng Thực tế

Bài viết blog này khám phá các kiến thức cơ bản của Oracle® GoldenGate® và các chức năng của nó. Bởi vì nó được tách rời khỏi kiến trúc cơ sở dữ liệu, GoldenGate tạo điều kiện cho việc bắt capturing thay đổi dữ liệu giao dịch (transactional change data capture) và tích hợp thời gian thực đồng nhất (homogeneous) và dị chất (heterogeneous).

Giới thiệu Oracle GoldenGate

Oracle GoldenGate là một sản phẩm phần mềm cho phép bạn sao chép (replicate), lọc (filter) và chuyển đổi (transform) dữ liệu từ cơ sở dữ liệu này sang cơ sở dữ liệu khác.

Nó cho phép sao chép dữ liệu giữa các cơ sở dữ liệu Oracle và các cơ sở dữ liệu dị chất được hỗ trợ khác.

Tại sao sử dụng GoldenGate?

Một số lý do để sử dụng GoldenGate bao gồm các mục sau:

  • Di chuyển dữ liệu theo thời gian thực và giảm độ trễ.
  • Chỉ các giao dịch đã cam kết (committed) được di chuyển, cho phép tính nhất quán và cải thiện hiệu suất.
  • Các phiên bản và bản phát hành khác nhau của cơ sở dữ liệu Oracle được hỗ trợ, cùng với nhiều loại cơ sở dữ liệu dị chất chạy trên các hệ điều hành khác nhau.
  • Nó sử dụng kiến trúc đơn giản và có cấu hình dễ dàng.
  • Nó có hiệu suất cao với chi phí bổ sung tối thiểu cho các cơ sở dữ liệu và cơ sở hạ tầng bên dưới.

Yêu cầu kinh doanh mà GoldenGate hỗ trợ

Sử dụng GoldenGate để đáp ứng các yêu cầu kinh doanh sau:

  • Tiếp tục kinh doanh và sẵn sàng cao (Business continuity and high availability)
  • Tải ban đầu và di chuyển/nâng cấp cơ sở dữ liệu với thời gian ngừng hoạt động bằng không (zero downtime)
  • Tích hợp dữ liệu (Data integration)
  • Báo cáo trực tiếp (Live reporting)

Cách sử dụng GoldenGate

Có nhiều kiến trúc khác nhau có thể được cấu hình, từ một kiến trúc đơn hướng (unidirectional) đơn giản đến một kiến trúc peer-to-peer phức tạp hơn. Tham khảo hình ảnh sau để xem các topology được GoldenGate hỗ trợ.

Thành thạo Oracle GoldenGate: Khái niệm Cốt lõi & Ứng dụng Thực tế

Nguồn hình ảnh: https://www.vitalsofttech.com/goldengate-replication-topologies/

Kiến trúc logic của GoldenGate

Hình ảnh sau hiển thị các thành phần, hoặc quy trình, của kiến trúc GoldenGate, được mô tả trong phần này:

Thành thạo Oracle GoldenGate: Khái niệm Cốt lõi & Ứng dụng Thực tế

Nguồn hình ảnh: https://www.vitalsofttech.com/wp-content/uploads/2013/06/GoldenGate-Replication.jpg

Manager (Quản lý)

Manager là quy trình khởi động các quy trình GoldenGate khác. Quy trình này phải chạy trên cả hệ thống nguồn và đích cho cấu hình và phải khởi tạo tất cả các quy trình GoldenGate khác. Quy trình manager cũng phân bổ không gian đĩa bằng cách xóa (purge) các trail hoặc file trích xuất cũ. Một quy trình manager được yêu cầu cho mỗi cài đặt GoldenGate.

Extract (Trích xuất)

Quy trình extract liên quan đến trích xuất dữ liệu, được gọi là data capture (bắt capturing dữ liệu) trong GoldenGate. Extract là quy trình được cấu hình để chạy đối với cơ sở dữ liệu nguồn mining.

Extract chịu trách nhiệm bắt capturing các giao dịch ngôn ngữ mô hình dữ liệu (DML) đã cam kết và ngôn ngữ định nghĩa dữ liệu (DDL) từ nhật ký redo của Oracle. Extract ghi các thay đổi dữ liệu này vào trail hoặc file trích xuất.

Trail (Dấu vết)

Trail là một loạt các file trên đĩa nơi GoldenGate lưu trữ các thay đổi đã bắt capturing, hỗ trợ trích xuất và sao chép liên tục các thay đổi cơ sở dữ liệu. Đây là các file nhị phân độc lập nền tảng (platform-independent) ở cấp độ OS.

Replicat (Sao chép)

Replicat là quy trình giao dữ liệu đến cơ sở dữ liệu đích. Nó đọc trail trên cơ sở dữ liệu đích, tái tạo các hoạt động DML hoặc DDL và áp dụng chúng vào cơ sở dữ liệu đích.

Pump (Bơm)

Quy trình pump, cũng là một quy trình extract, là tùy chọn trong thiết lập GoldenGate. Quy trình này sao chép các file trail chứa dữ liệu đến hệ thống đích.

Checkpoint (Điểm kiểm tra)

Các quy trình extract pump và Replicat sử dụng checkpoint để theo dõi tiến độ tương ứng của chúng. Cơ chế này đánh dấu vị trí của các thay đổi dữ liệu đã được truy xuất hoặc áp dụng từ các file trail. Điều này hữu ích khi các quy trình cần khôi phục mà không mất dữ liệu hoặc cần biết điểm bắt đầu sau một sự cố.

Collector (Thu thập)

Quy trình collector chạy trên hệ thống đích và ghi các thay đổi dữ liệu từ cơ sở dữ liệu nguồn vào file trail đích, được gọi là RMTTRAIL. Trước khi sao chép nó vào RMTTRAIL, collector lắp ráp lại các file.

Các chế độ bắt capturing (capture modes) của GoldenGate

Oracle GoldenGate hỗ trợ các loại bắt capturing sau, được mô tả trong phần này:

  • Classic capture (Bắt capturing cổ điển)
  • Integrated capture (Bắt capturing tích hợp)

Chế độ Classic capture

Classic capture là cơ chế bắt capturing gốc của GoldenGate, đọc dữ liệu trực tiếp từ nhật ký redo online và nhật ký redo đã lưu trữ (archived redo logs) khi có thể. Dữ liệu bổ sung có thể được lấy từ file cơ sở dữ liệu khi cần thiết.

Chế độ Integrated capture

Integrated capture (IC), được giới thiệu trong Oracle GoldenGate phiên bản 11.2.1, ban đầu có sẵn cho Oracle 11.2.0.3 với bản vá bundle database-specific 11.2.0.3 cho Integrated Extract 11.2.x (MOS Note 1411356.1). IC sử dụng log-mining server trên hệ thống nguồn hoặc trong cơ sở dữ liệu Oracle downstream, tương tự như DataGuard logical standby hoặc Oracle streams.

IC là một dạng mới của quy trình extract, đã di chuyển vào bên trong cơ sở dữ liệu nguồn. Trong quy trình classic extract truyền thống, extract hoạt động trên nhật ký redo bên ngoài miền của cơ sở dữ liệu thực tế. Trong IC, một quy trình server log miner được khởi động, trích xuất tất cả dữ liệu DML và câu lệnh DDL (create, alter, drop, v.v.) và tạo logical change records (LCR). Các bản ghi này sau đó được chuyển cho các quy trình bộ nhớ GoldenGate, ghi LCR vào các file trail cục bộ.

Các chế độ Replicat của GoldenGate

Trước bản phát hành phiên bản 12.1, Replicat áp dụng các giao dịch vào cơ sở dữ liệu đích theo thứ tự tuần tự (serially). Để đạt được song song hóa (parallelism), các bảng phải được chia tách trên nhiều replicates để áp dụng dữ liệu nhanh hơn và giảm độ trễ. Nhược điểm của phương pháp này bao gồm cấu hình thủ công nhiều replicates và file trail và sự hạn chế không thể chia tách các bảng có mối quan hệ khóa ngoại (foreign key relationships) trên các replicates.

Các chế độ Replicat phối hợp (coordinated) và tích hợp (integrated) mới giúp bạn áp dụng các giao dịch song song trên cơ sở dữ liệu đích mà không cần phải chia tách thủ công các bảng thành nhiều replicates.

Các phần sau mô tả các chế độ Replicat khác nhau.

Classic Replicat

Với classic Replicat, một checkpoint cơ sở dữ liệu đích cho hệ thống biết giao dịch nào đã được cam kết và giao dịch nào chưa. Đây là khía cạnh then chốt của sao chép giao dịch.

Classic Replicat có các đặc điểm sau:

  • Áp dụng SQL theo thứ tự tuần tự.
  • Phải được sử dụng nếu phiên bản cơ sở dữ liệu nhỏ hơn 11.2.0.4

Hình ảnh sau minh họa classic Replicat:

Thành thạo Oracle GoldenGate: Khái niệm Cốt lõi & Ứng dụng Thực tế

Nguồn hình ảnh: https://docs.oracle.com/GoldenGate/1212/gg-winux/GIORA/img/integratedapply.jpg

Coordinated Replicat

Một Replicat được cấu hình được gọi là coordinator (điều phối viên). Quy trình này khởi động các replicates bổ sung dựa trên số lượng thread được chỉ định. Tên Replicat bị giới hạn ở năm ký tự, và các replicates có thread có tên này được nối thêm với số ba chữ số (ví dụ: RGGMA, RGGMA001, RGGMA002, v.v.). Coordinator gửi SQL đến các thread, có thể được áp dụng song song và theo thứ tự cam kết.

Hình ảnh sau minh họa coordinated Replicat:

Thành thạo Oracle GoldenGate: Khái niệm Cốt lõi & Ứng dụng Thực tế

Nguồn hình ảnh: https://www.red-gate.com/simple-talk/sql/oracle/oracle-GoldenGate-12c-new-features-part-2/

Integrated Replicat

Integrated Replicat có các đặc điểm sau:

  • Xây dựng LCR đại diện cho giao dịch DML cơ sở dữ liệu nguồn (theo thứ tự cam kết). DDL được áp dụng trực tiếp bởi Replicat. Các giao dịch này có thể được áp dụng song song.
  • Đính kèm vào một quy trình nền trong cơ sở dữ liệu đích, được gọi là database inbound server, thông qua một giao diện streaming nhẹ.
  • Truyền LCR đến inbound server, áp dụng dữ liệu vào cơ sở dữ liệu đích.

Hình ảnh sau minh họa integrated Replicat:

Thành thạo Oracle GoldenGate: Khái niệm Cốt lõi & Ứng dụng Thực tế

Nguồn hình ảnh: https://docs.oracle.com/GoldenGate/1212/gg-winux/GIORA/process_mode.htm#GIORA212

Kết luận

Bài viết này đã mô tả cách và lý do sử dụng GoldenGate và thảo luận về kiến trúc và các thành phần của nó. Nó cũng chi tiết các chế độ bắt capturing và chế độ Replicat được kết hợp trong công cụ.

Sử dụng tab Feedback để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi nào.