GoldenGate Architecture

GoldenGate เป็นชุด Software Package สำหรับการทำ Data Integration and Replication แบบ Real-Time ในสภาพแวดล้อมที่หลากหลาย ( Heterogeneous Environment ) และใช้งานได้กับฐานข้อมูลเจ้าต่าง ๆ ( Variety of Database Platform ) เช่น Oracle, DB2, SQL Server, Ingres, MySQL


Topology

GoldenGate สามารถ Extract & Replicate Data ได้หลากหลายรูปแบบ ( Variety of Topology ) ไม่ว่าจะเป็นการทำงานแบบ Active-Passive หรือ Active-Active นอกจากนั้นก็ยังสามารถทำงานในรูปแบบ Load Balancing ให้พร้อมใช้งานอยู่เสมอ ( High Availability ), Broadcast กระจายข้อมูลไปยัง Region ต่าง ๆ, Consolidation การนำข้อมูลจากหลาย ๆ สาขามาไว้ที่สำนักงานใหญ่ และ Cascading หรือ Tiering ในการรองรับการ Scalability

Architecture

Extract Process เป็นการ Capture Data ซึ่งจะทำงานอยู่บน Source ฝั่งต้นทาง หรืออยู่บน Downstream Database หรือทั้งสอง ขึ้นอยู่กับการนำไป Implement จะแบ่งได้เป็น 2 โหมด

  1. Initial load : เป็นการโหลด Data โดยตรงจาก Source Object ซึ่งข้อมูลจะอยู่ในรูป Set of Data
  2. Change Synchronization : เป็นการเก็บ Source Object จากแหล่งอื่น ๆ พวก DML & DLL

Process

Manager

Manager Process จะถูกรันทั้งฝั่ง Source Site และ Target Site ซึ่งจะต้องถูกเรียกก่อน Extract & Replicat Process ถึงจะเริ่มทำงาน ซึ่งจะทำหน้าที่ในการ Monitoring, Managing Trail File & Reporting และรัน Goldengate Process อื่น ๆ

Extract

Extract Process จะถูกรันอยู่บน Source Site โดยปกติจะหมายถึง Primary Extract มันจะอ่านจาก Transaction Log ซึ่งจะบอกถึงการเปลี่ยนแปลงของ Database และเขียนลงใน Trail File ทั้ง Local และ Remote ถ้ามันถูกเขียนอยู่บน Local มันจะต้องการ Secondary Extract ซึ่งจะถูกอ่านและถุกสร้างโดย Primary Extract และส่งไปยัง Target Site

Replicat

Replicat Process จะถูกรันอยู่บน Target Site ทำหน้าที่ในการ Read Transaction ของ Data ที่มีการเปลี่ยนแปลง DDL แลำทำการ Receive จาก Source Site พร้อมทั้ง Apply การเปลี่ยนแปลงไปยัง Target Database

Collector

เป็น Background Process ที่รันอยู่บน Target Site จะเริ่มทำงานแบบ Auto โดย Manager ( Dynamic Collector ) แต่สามารถตั้งค่า start ให้รันแบบ Manual ( Static Collector )

ทำหน้าที่ในการรับ Extract Data ที่มีการเปลี่ยนแปลงจาก Source Site ผ่านทาง TCP / IP และเขียนลงใน Trail File ด้วย Replicat Process บน Target Site โดยไม่สนว่าถูกส่งมาจาก Primary Extract หรือ Extract Data Pump

Trail

เป็น  Series ของไฟล์ GoldenGate จะถูกเก็บไว้บนดิสก์ชั่วคราว ไฟล์นี้จะถูก Read / Write จาก Extract & Replicat Process สามารถอยู่บน Source Site หรือ Target Site ก็ได้ ถ้าอยู่บน Source Site จะเรียกว่า Extract Trail แต่ถ้าอยู่บน Target Site จะเรียกว่า Remote Trail

Data Pump

เป็น Secondary Extract จะถูกรันอยู่บน Source Site ถ้า Data Pump ไม่ได้ถูกใช้งาน Primary Extract จะต้องส่ง Capture Data Operation ไปยัง Remote Trail บน Target Site ถ้าเปิดใช้งาน Primary Extract จะเขียนไฟล์ Local Trail บน Source Site ให้ Data Pump มาอ่านและส่งไปยัง Remote Trail บน Target Site แทน

ในกรณีที่ไม่มี Data Pump ข้อมูลจะถูก Extract Process เก็บอยู่ใน Memory เพียงอย่างเดียว จะไม่มีการเก็บไว้บน Storage บน Source Site ในกรณีที่ Netowork ของ Target Site เกิด Failure ทำงานผิดพลาด Primary Extract Process ก็จำทำการแจ้งเตือน Abort หรือ Abend

Data Source

เมื่อ Transaction ของข้อมูลมีการเปลี่ยนแปลง Extract Process สามารถรับข้อมูลได้โดยตรงจาก Transaction Log ไม่ว่าจะเป็น ( Oracle, DB2, SQL Server, MySQL ) หรือจาก GoldenGate Vendor Access Module ( VAM ) เช่น Teradata ซึ่งจะ Provide Component ที่ต้องการมาให้

Group

เพื่อแยกความแตกต่างระหว่างจำนวนกลุ่มของ Extract และ Replicat สามารถกำหนด Processing Group สำหรับ Instance เช่น ถ้าต้องการ Replicate Set of Data ที่แตกต่างกันแบบ Parallel ก็สามารถสร้างได้ 2 Group

Processing Group จะประกอบไปด้วยไฟล์ที่เกี่ยวข้องกับ Extract & Replicat Process ได้แก่ Parameter File, Checkpoint File หรือ Checkpoint Table ( for Replicat ) และไฟล์อื่น ๆ

Checkpoint

จะถูกทำงานเมื่อมีการ Extract / Replicat เสร็จสิ้น ในกรณีที่ Database หยุดทำงาน จะถุกแบ่งเป็น การหยุดแบบปกติ ( Manually ) และ การหยุดโดยไม่ได้ตั้งใจ ( Inadvertently ) ซึ่งจะรวมถึงการยกเลิก ( Aborted ) ใน GoldenGate จะหมายถึงการทำงานที่ผิดปกติ ( Abnormal ) คือ end, abend

อ่านเพิ่มเติม : https://bit.ly/2P9ZBZOhttps://bit.ly/2wlHUPT

Leave a Reply

Your email address will not be published. Required fields are marked *