Parallel Replicat เป็นหนึ่งในคุณสมบัติใหม่ที่นำมาใช้ใน Oracle ®GoldenGate 12c Release 3 (12.3.0.1) Parallel Replicat ได้รับการออกแบบมาเพื่อช่วยให้ผู้ใช้โหลดข้อมูลในสภาพแวดล้อมของตนได้อย่างรวดเร็วโดยใช้ mappers และ thread แบบขนานหลายชุด
การจำลองแบบขนานคืออะไร
Parallel Replicat เป็นเครื่องมือประยุกต์ที่ปรับขนาดได้สูงสำหรับฐานข้อมูล Oracle ที่สามารถโหลดปริมาณงานที่ใช้ขนานกันโดยอัตโนมัติและพิจารณาการขึ้นต่อกันระหว่างธุรกรรมต่างๆ Parallel Replicat ให้ประโยชน์ทั้งหมดของIntegrated Replicat โดยดำเนินการคำนวณการพึ่งพาและความขนานกันนอกฐานข้อมูล มันขนานกับการอ่านและการทำแผนที่ของไฟล์เส้นทางและให้ความสามารถในการใช้ธุรกรรมขนาดใหญ่ได้อย่างรวดเร็ว การคำนวณการขึ้นต่อกัน การเทียบเคียงของการทำแผนที่ และการใช้งานนั้นดำเนินการนอกฐานข้อมูลและสามารถปิดการโหลดไปยังเซิร์ฟเวอร์อื่นได้ ความสมบูรณ์ของธุรกรรมยังคงอยู่ในกระบวนการนี้
นอกจากนี้ SPLIT_TRANS_RECS
พารามิเตอร์แยกทรานแซกชันขนาดใหญ่ออกเป็นชิ้นเล็ก ๆ ตามตรรกะเพื่อใช้คู่ขนาน การพึ่งพาได้รับการจัดการและบำรุงรักษาเช่นกัน
สถาปัตยกรรมการจำลองแบบคู่ขนาน
รูปภาพต่อไปนี้แสดงสถาปัตยกรรมการจำลองแบบคู่ขนาน:
แสดงรายการผลลัพธ์ของคำสั่งในเซลล์ที่มาของภาพ:https://bit.ly/2wsPZVv
สถาปัตยกรรมเริ่มต้นด้วยการอ่านไฟล์เส้นทางเดียว แต่ให้ถนนกว้างขึ้นพร้อมเลนหลายช่องทางสำหรับการอ่าน (ผู้ทำแผนที่) และการเขียน (ผู้ยื่นคำร้อง) การจำลองแบบคู่ขนานทำให้มั่นใจว่าธุรกรรมทั้งหมดได้รับการจัดลำดับตามการขึ้นต่อกันของคีย์ (คีย์หลัก (PK) คีย์ภายนอก (FK) และคีย์เฉพาะ (UK)) นี่คือความแตกต่างอย่างมากจาก Integrated Replicat ซึ่งการขึ้นต่อกันและการเขียนเกิดขึ้นภายในฐานข้อมูล
นอกจากนี้ การจำลองแบบขนานสามารถกำหนดค่าให้ทำงานในโหมดใดโหมดหนึ่งต่อไปนี้:
-
โหมดบูรณาการ: ซึ่งคล้ายกับ IntegratedReplicat ของเวอร์ชันก่อนหน้า ยกเว้นว่าผู้อ่านและผู้เขียนไม่ได้อยู่ภายนอกฐานข้อมูลด้วยโหมดรวมของ Parallel Replicat โหมดนี้ยังคงใช้ภายในของฐานข้อมูลเพื่อจัดการกระบวนการ
-
โหมดไม่ผสานรวม: ในโหมดนี้ Replicat ยังคงทำงานแบบคู่ขนาน แต่ตอนนี้มันอยู่นอกฐานข้อมูลโดยสมบูรณ์
คุณลักษณะคีย์การจำลองแบบขนาน
คุณลักษณะต่อไปนี้เป็นกุญแจสำคัญสำหรับการจำลองแบบคู่ขนาน:
- เร็วกว่าการจำลองแบบรวมสูงสุด 5 เท่า
- ให้ตัวเลือกในการใช้ธุรกรรมขนาดใหญ่รายการเดียวพร้อมกัน
- สามารถทำธุรกรรมขนาดใหญ่แบบขนานได้ ประมวลผลธุรกรรมขนาดใหญ่ได้เร็วกว่าแบบคู่ขนานและยังคงพิจารณาการพึ่งพาในขณะที่ทำธุรกรรมขนาดใหญ่ขนานกัน
- สามารถควบคุมการประมวลผลโดยใช้
SPLIT_TRANS_RECS
พารามิเตอร์ ซึ่งระบุขนาดการแยกธุรกรรม (ในบันทึก) ค่าเริ่มต้นคือ 100,000
พารามิเตอร์การจำลองคู่ขนานพื้นฐาน
คุณสามารถใช้พารามิเตอร์ต่อไปนี้ในการประมวลผลการจำลองแบบคู่ขนาน:
MAP_PARALLELISM
:กำหนดจำนวนผู้ทำแผนที่ พารามิเตอร์นี้ควบคุมจำนวนเธรดที่ใช้สำหรับอ่านไฟล์เส้นทาง ค่าต่ำสุดคือ1
, ค่าสูงสุดคือ 100
และค่าเริ่มต้นคือ 2
.
APPLY_PARALLELISM
:กำหนดจำนวนผู้ใช้งาน พารามิเตอร์นี้ควบคุมจำนวนการเชื่อมต่อในฐานข้อมูลเป้าหมายที่ใช้สำหรับการเปลี่ยนแปลง ค่าเริ่มต้นคือ 4
.
MIN_APPLY_PARALLELISM and MAX_APPLY_PARALLELISM
:ฟังก์ชัน Apply parallelism จะถูกปรับอัตโนมัติ คุณสามารถตั้งค่าต่ำสุดและสูงสุดเพื่อกำหนดช่วงที่ตัวจำลองจะปรับการขนานกันโดยอัตโนมัติ ไม่มีค่าเริ่มต้น อย่าใช้พารามิเตอร์นี้พร้อมกับ APPLY_PARALLELISM
พารามิเตอร์
SPLIT_TRANS_REC
:ระบุว่าธุรกรรมขนาดใหญ่ควรแบ่งออกเป็นชิ้นขนาดเฉพาะและนำไปใช้ควบคู่กัน การพึ่งพาอาศัยกันระหว่างชิ้นส่วนยังคงได้รับเกียรติ พารามิเตอร์นี้ถูกปิดใช้งานโดยค่าเริ่มต้น
เพิ่ม Parallel Replicat ที่ไม่ได้รวมเข้ากับ adminclient
ทำตามขั้นตอนต่อไปนี้เพื่อเพิ่ม Parallel Replicat ที่ไม่ได้ผสานรวมกับ theadminclient:
-
ป้อนคำสั่งต่อไปนี้เพื่อเปิด adminclient:
$ cd $OGG_HOME/bin $ bin> ./adminclient
-
ป้อนคำสั่งต่อไปนี้เพื่อเชื่อมต่อกับต้นทางการปรับใช้ Service Manager:
adminclient> connect https://<host>:<port> deployment <deploment> as <security user> password <password>
-
ป้อนคำสั่งต่อไปนี้เพื่อสร้างกระบวนการจำลองแบบคู่ขนาน:
adminclient> add replicat <group name>, integrated, parallel, exttrail <trail name> checkpointtable ggadmin.ggcheckpoint
-
ป้อนคำสั่งต่อไปนี้เพื่อแก้ไขไฟล์พารามิเตอร์:
adminclient> edit params <replicat name>
-
ป้อนคำสั่งต่อไปนี้เพื่อเริ่มกระบวนการการจำลองแบบคู่ขนาน:
adminclient> start replicat <replicat name>
หลังจากสร้างแบบจำลองแล้ว แบบจำลองนั้นจะแสดงขึ้นโดยอัตโนมัติในบริการการดูแลระบบที่เกี่ยวข้อง
หลังจากที่การจำลองเริ่มต้น จำนวนเธรดที่คุณระบุสำหรับผู้อ่าน (ผู้แมป) และผู้เขียน (ผู้สมัคร) จะแสดงในไฟล์รายงาน
ไฟล์พารามิเตอร์ตัวอย่าง
โค้ดต่อไปนี้คือไฟล์พารามิเตอร์ตัวอย่างสำหรับ 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 *.*;
บทสรุป
GoldenGate เป็นเครื่องมือการจำลองแบบที่ยอดเยี่ยมอยู่แล้วจาก Oracle ที่ให้การจำลองแบบที่แตกต่างกันระหว่างฐานข้อมูลหรือแพลตฟอร์มประเภทต่างๆ Oracle ได้เพิ่มข้อได้เปรียบพิเศษให้กับเทคโนโลยี GoldenGate ด้วย ParallelReplicat
Parallel Replicat เป็นตัวแปรใหม่ของ Replicat ที่ใช้ธุรกรรมแบบคู่ขนานเพื่อปรับปรุงประสิทธิภาพของระบบ Parallel Replicat ให้ประโยชน์ทั้งหมดของ Integrated Replicat ในขณะที่ทำการคำนวณการพึ่งพาและความขนานนอกฐานข้อมูล จะอ่านและแมปไฟล์เทรลทั้งหมดในแบบคู่ขนานและช่วยให้สามารถใช้ธุรกรรมขนาดใหญ่ได้อย่างรวดเร็วใน Oracle Databaseversions 11g (11.2.0.4) ขึ้นไป