viernes, 17 de agosto de 2012

Oracle Golden Gate (Introducción)


Oracle Golden Gate (en adelante OGG) es un sistema de integración en tiempo real de datos, permite la sincronizacion de datos a través de entornos heterogéneos, con un impacto bajo en los sistemas indicados.
Las claves diferenciadoras de este sistema son :

·         Rendimiento: Es no intrusivo, bajo impacto, poca latencia (por debajo del segundo)
·         Extensible y flexible: Abierto, tiene una arquitectura modular, soporta orígenes y destinos heterogéneos, en nuestro caso puede trabajar con:
o        SQL Server, MySQL, IBM DB2 vs Oracle
o        Oracle vs Oracle (diferentes versiones)
·         Seguridad: Mantiene la integridad transaccional,  cifrada, resistente a fallos y errores.


La solución de la replicación de datos desde los esquemas de aeropuertos, en tiempo real a sus esquemas históricos, se llevará acabo mediante la instalación en cada máquina (Origen / destino) del software de OGG.

Oracle Golden Gate lee de los ficheros archivelog y redo log las operaciones transaccionales que se van ejecutando en la base de datos, este proceso se llama capture/extract (estos datos también pueden ser filtrados). Una vez que captura los datos, los escribe en un fichero (trail file) de formato universal para cualquier fuente de datos. Los encola a nivel de disco y los manda a la red mediante un proceso llamado pump. Solo transacciones a las que se han realizado un commit son encoladas y ademas en el mismo orden como se han consolidado en la base origen. Por lo que la integridad transaccional está asegurada aun cuando haya un fallo de red, dado que los cambios permanecerán en el fichero trail y se aplicarán en cuanto la conexión se reinicie.
Este proceso como otros de carácter administrativo está gobernado por un proceso general llamado Manager, este proceso lee de un fichero de parámetros el número de reintentos y la preriodicidad de estos, asi como otros parámetros de Oracle Golden Gate para su correcto funcionamiento.


Figura:  Proceso de extracción de datos de OGG


La transmisión de datos puede ser comprimida, por si las comunicaciones tienen un medio lento y cifradas para descartar ataques de snuffing de las líneas.

En el host de destino, existirá otro fichero (trail file) que irá recibiendo los datos, el proceso llamado delivery/replicat  aplica las transacciones en el mismo orden que se consolidaron en la base de datos de origen. El proceso de replica se puede basar en el API nativa de la base de datos, en ODBC, …


Figura: Proceso de replicación de datos de OGG



OGG puede capturar transacciones que modifican tanto datos DML, como transacciones que modfican la definicion de los datos (DDL).
Todos estros procesos pueden administrarse mediante al consola de OGG: invocando al comando: ggsci, esta ejecución abrirá una consola en la que podremos empezar a configurar los diferentes procesos de extracción, envío y replicación de la máquina.