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

Oracle GoldenGate 12c Release 3 Thêm Parallel Replicat – Tăng Tốc Độ Tải Dữ Liệu

Parallel Replicat là gì?

Parallel Replicat là một trong những tính năng mới được giới thiệu trong Oracle GoldenGate 12c Release 3 (12.3.0.1). Parallel Replicat được thiết kế để giúp người dùng tải dữ liệu nhanh chóng vào môi trường của họ bằng cách sử dụng nhiều parallel mappers và threads (luồng).

Parallel Replicat là gì?

Parallel Replicat là một apply engine (cơ chế áp dụng) có khả năng mở rộng cao cho Oracle database có thể tự động parallelize (song song hóa) workload apply và tính đến các dependency (phụ thuộc) giữa các transaction. Parallel Replicat cung cấp tất cả lợi ích của Integrated Replicat bằng cách thực hiện dependency computation (tính toán phụ thuộc) và parallelism (song song hóa) bên ngoài database. Nó parallelize việc đọc và mapping trail files và cung cấp khả năng áp dụng các transaction lớn nhanh chóng. Dependency computation, parallelism của mapping và apply được thực hiện bên ngoài database và có thể off-load (chuyển giao) sang server khác. Tính toàn vẹn transaction được duy trì trong quy trình này.

Ngoài ra, tham số SPLIT_TRANS_RECS chia một transaction lớn thành các phần logic nhỏ hơn để áp dụng song song. Các dependency được quản lý và duy trì cũng như vậy.

Kiến trúc Parallel Replication

Hình ảnh minh họa kiến trúc Parallel Replicat
Nguồn: https://bit.ly/2wsPZVv

Kiến trúc bắt đầu bằng cách đọc một trail file đơn lẻ nhưng cung cấp một con đường rộng hơn với nhiều lane (isn) cho đọc (mappers) và ghi (appliers). Parallel Replicat đảm bảo tất cả transaction được sắp xếp dựa trên key dependencies (primary key - PK, foreign key - FK và unique key - UK). Đây là sự khác biệt lớn so với Integrated Replicat, nơi dependency và writing được thực hiện bên trong database.

Ngoài ra, Parallel Replicat có thể được cấu hình để chạy ở một trong các chế độ sau:

  • Integrated mode (Chế độ tích hợp): Tương tự như Integrated Replicat phiên bản trước, trừ việc readers và writers không external đến database với integrated mode của Parallel Replicat. Chế độ này vẫn dùng internal của database để quản lý processes.
  • Non-integrated mode (Chế độ không tích hợp): Trong chế độ này, Replicat vẫn chạy song song. Tuy nhiên, bây giờ nó hoàn toàn bên ngoài database.

Các tính năng chính của Parallel Replicat

  • Nhanh gấp đến 5 lần so với Integrated Replicat.
  • Cung cấp tùy chọn áp dụng một transaction lớn đơn lẻ song song.
  • Có thể parallelize một transaction lớn đơn lẻ. Xử lý transaction lớn nhanh hơn song song và vẫn xem xét dependencies khi parallelize transaction lớn.
  • Có thể kiểm soát xử lý bằng tham số SPLIT_TRANS_RECS, chỉ định transaction split size (theo records). Mặc định là 100,000.

Các tham số cơ bản của Parallel Replicat

Các tham số sau có thể được dùng trong xử lý Parallel Replicat:

  • MAP_PARALLELISM: Cấu hình số lượng mappers. Tham số này kiểm soát số thread dùng để đọc trail file. Giá trị tối thiểu 1, tối đa 100, mặc định 2.
  • APPLY_PARALLELISM: Cấu hình số lượng appliers. Tham số này kiểm soát số kết nối trong target database dùng để áp dụng thay đổi. Giá trị mặc định 4.
  • MIN_APPLY_PARALLELISM và MAX_APPLY_PARALLELISM: Hàm Apply parallelism được auto-tuned (tự điều chỉnh). Bạn có thể đặt giá trị min và max để định nghĩa phạm vi Replicat tự động điều chỉnh parallelism. Không có mặc định. Không dùng tham số này cùng lúc với APPLY_PARALLELISM.
  • SPLIT_TRANS_REC: Chỉ định transaction lớn nên được chia thành các mảnh kích thước cụ thể và áp dụng song song. Dependencies giữa các mảnh vẫn được tôn trọng. Tham số này bị disable mặc định.

Thêm non-integrated Parallel Replicat với adminclient

Thực hiện các bước sau để thêm non-integrated Parallel Replicat với adminclient:

  1. Nhập lệnh sau để mở adminclient:
    $ cd $OGG_HOME/bin
    $ bin> ./adminclient
  2. Nhập lệnh sau để kết nối đến Service Manager deployment source:
    adminclient> connect https://<host>:<port> deployment <deployment> as <security user> password <password>
  3. Nhập lệnh sau để tạo Parallel Replicat process:
    adminclient> add replicat <group name>, integrated, parallel, exttrail <trail name> checkpointtable ggadmin.ggcheckpoint
  4. Nhập lệnh sau để chỉnh sửa parameter file:
    adminclient> edit params <replicat name>
  5. Nhập lệnh sau để khởi động Parallel Replicat process:
    adminclient> start replicat <replicat name>

Sau khi Replicat được tạo, nó tự động hiển thị trong administration service liên kết.

Sau khi Replicat khởi động, số thread bạn chỉ định cho readers (mappers) và writers (appliers) được hiển thị trong report files.

File tham số mẫu (Sample parameter file)

Mã sau là file tham số mẫu cho Parallel Replicat:

replicat REP1
userid ggadmin, password ****
INSERTUPDATES
REPERROR(1, DISCARD)
MAP_PARALLELISM 2
MIN_APPLY_PARALLELISM 2
MAX_APPLY_PARALLELISM 8
SPLIT_TRANS_RECS 100
MAP *.*, TARGET *.*;

Kết luận

GoldenGate đã là một công cụ replication tuyệt vời từ Oracle cung cấp heterogeneous replication giữa các loại database hoặc platform khác nhau. Oracle đã thêm một lợi thế bổ sung cho công nghệ GoldenGate với Parallel Replicat.

Parallel Replicat là một biến thể mới của Replicat áp dụng transaction song song để cải thiện hiệu suất hệ thống. Parallel Replicat cung cấp tất cả lợi ích của Integrated Replicat trong khi thực hiện dependency computation và parallelism bên ngoài database. Nó đọc và map tất cả trail files song song và cung cấp khả năng áp dụng transaction lớn nhanh chóng trong Oracle Database phiên bản 11g (11.2.0.4) và mới hơn.