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 โหมด
- Initial load : เป็นการโหลด Data โดยตรงจาก Source Object ซึ่งข้อมูลจะอยู่ในรูป Set of Data
- 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/2P9ZBZO, https://bit.ly/2wlHUPT
Leave a Reply