Está en la página 1de 12

Rplica de datos en Oracle. Integracin con la arquitectura GRID Data Replication in Oracle.

Integration with the architecture GRID Jofman Prez Tarancn Universidad de las Ciencias Informticas jperezt@uci.cu

Resumen El constante cambio tecnolgico dirigido por el auge de nuevas tecnologas de la informacin ( I! se "a convertido en uno de los elementos fundamentales en el desarrollo actual. Es un reto para los ingenieros # especialistas de "o# el montaje # ajuste de estas tecnologas a las necesidades reales de los negocios. En este sentido$ las bases de datos (%&!$ consideradas como el n'cleo de la persistencia # gestin de la informacin$ tambi(n "an pasado a una nueva generacin incorporando nuevas tecnologas$ t(cnicas # utilidades. El presente trabajo e)pone un novedoso mecanismo de r(plica de informacin para servidores de %& *racle +,g # su integracin con otras "erramientas de gestin # soporte de servicios de I. -a reduccin de los costos$ la disponibilidad de la informacin en otros ambientes # la complementacin de diferentes ar.uitecturas de %&$ tanto centralizadas con distribuidas$ son algunos de los objetivos fundamentales reflejados en este trabajo. Palabras cla e/ 0dvanced .ueue$ grid computing$ minera de logs$ oracle$ r(plica de datos Abstract The technological change led by the rise of new information technologies (IT) has become one of the key elements in the current development. It is a challenge for engineers and specialists today assembling and adjustment of these technologies to the real needs of business. In this sense, databases (D ), regarded as the core of the persistence and information management, have also become a new generation incorporating new technologies, techni!ues and utilities. This paper describes a mechanism for data replication for D servers "racle #$g and its integration with other management tools and support of IT services. %educe costs, obtain the availability of the information in other environments and complementation of different D architectures, centrali&ed and distributed, are among the fundamental objectives e'posed in this paper. Key words( )dvanced !ueue, grid computing, log miner, oracle, replication Introduccin -a r(plica de datos "a sido un tema ampliamente discutido por compa1as de desarrollo de soft2are. 3e entiende como r(plica de datos al proceso de copiar # mantener objetos # datos entre dos o varios servidores de %& en un sistema de bases de datos de tipo distribuido o centralizado. (*racle Corporation$ +445!. 6uc"os de los gestores de %& e)istentes en el mercado de soft2are comercializan o distribu#en soluciones de r(plica de informacin$ algunas incluidas dentro del soft2are de %& # otras como opciones .ue se pueden licenciar de forma independiente. 7artiendo de esto$ la implementacin de una solucin de r(plica de informacin .ue satisfaga las propias necesidades del ambiente influ#e sustancialmente en la reduccin de los costos por concepto de licencia # soporte. Conociendo .ue el escenario base para la implementacin de este mecanismo est formado principalmente por servidores *racle +,g 89 3tandard Edition *ne surge el problema principal de replicar informacin entre estas %& partiendo de .ue las soluciones propuestas por *racle ("racle )dvanced %eplication y "racle *tream %eplication! no estn disponibles en esta versin del gestor. -a implementacin de estos mecanismos en este ambiente desencadena un costo por licencia mu# alto por lo .ue el desarrollo de

una propia solucin se "ace necesario. En este sentido$ lograr una or.uestacin de las propias utilidades del gestor de %& dara la ventaja de contar con el soporte necesario$ siendo esto un factor importante en el tratamiento de posibles problemas funcionales o vulnerabilidades en la solucin a implementar. 7aralelamente$ el desarrollo de (sta solucin de r(plica re.uiere integracin con los propios componentes de *racle$ como por ejemplo el "racle +nterprise ,anager$ con el objetivo fundamental de mejorar la gestin # el monitoreo de los procesos de r(plica de informacin. Esto dara la posibilidad de mantener una gestin centralizada # lograr la insercin de los servicios de r(plica de informacin en los procesos de soporte # resolucin de problemas de I a trav(s de la "erramienta -nicenter *ervice Desk. !ateriales " !todos &urante el desarrollo de este trabajo se realizaron las siguientes tareas/

Estudio de los conceptos fundamentales de la teora de las bases de datos .ue sustentan la investigacin. Implementacin de laboratorios de prueba con el objetivo de probar la efectividad de la solucin. 7ruebas de carga # estr(s.

Rplica de datos basada en miner#a de logs $rquitectura de rplica. Oracle %tream como base de la solucin -a ar.uitectura de r(plica implementada est basada en la solucin avanzada de r(plica de informacin "racle *tream %eplication # principalmente en sus : procesos fundamentales$ captura (.apture!$ propagacin (*taging!$ # aplicacin (.onsumption!$ aplicados a la informacin. ;igura +.

;ig. +/ 0cciones aplicadas a la informacin en "racle *treams %eplication

"racle *treams es una tecnologa para compartir informacin # tambi(n es una forma de r(plica avanzada. Est vigente a partir de la versin 4.9 de *racle # "a sido mejorada en las versiones +,.+$ +,.9 # ++.+. 7ara la replicacin$ la captura se relaciona con un mecanismo .ue toma los cambios del 8edo -og. El almacenamiento o propagacin se realiza cuando los cambios capturados son enviados al rea de almacenamiento # estos a su vez$ son propagados a las reas de almacenamiento de los e.uipos remotos con r(plicas. El consumo es el proceso .ue se encarga de aplicar los cambios almacenados a la %& en cada e.uipo con r(plicas. -as tablas replicadas pueden ser diferentes$ "racle *treams provee la facilidad de poder transformar la informacin para ajustarla a la %& de cada sitio replicado. En el ambiente de replicacin *treams$ la %& donde se originan los cambios se denomina D /uente$ # la %& donde se aplican los cambios se denomina D Destino. "racle *treams es capaz de replicar tanto los cambios descritos con el lenguaje de manipulacin de cambios (&6-! como los descritos con el lenguaje de definicin de datos (&&-!. Descripcin de la solucin de rplica de la informacin puesta en pr&ctica Como resultado de un mecanismo basado en reglas .ue determinan el comportamiento de cada uno de los subprocesos es necesario definir cmo debe funcionar$ desde el inicio "asta el fin$ el proceso de r(plica de informacin # cmo se debe comportar la informacin en cada uno de sus ciclos.

El proceso de replicacin de informacin se inicia con el notificador de cambios$ configurado con anterioridad # .ue es el encargado de notificar cuando "a ocurrido un cambio sobre una tabla marcada para notificacin producto de una transaccin de negocio en la %& fuente. El proceso de notificacin de cambios se realiza utilizando la "erramienta "racle Database .hange 0otificacion (*&C<! # se configura "aciendo un anlisis transaccional de las operaciones .ue se realizan sobre la %& de captura$ para notificar slo las tablas necesarias # as ganar en rendimiento. En el proceso de notificacin de cambios se obtiene el I& de la transaccin (=I&! # el rango de n'mero de cambio del sistema (3C<!. -a configuracin de notificaciones es un proceso delicado puesto .ue determina el carcter transaccional de la r(plica de datos. -a ;igura 9 a#uda a comprender cmo realizar la configuracin de notificaciones en una base de datos donde se realizan : transacciones de negocios ( +$ 9$ :! en las cuales estn involucradas las tablas (0$ %$ C$ &$ E$ ;$ >!. 8ealizando un anlisis algebraico del modelo .uedara de la siguiente forma + ? @0$ %$ CA$ 9 ? @&$ CA # : ? @E$ ;$ >$ CA. -a configuracin resultante corresponde con el conjunto mnimo de tablas .ue cumplen con la condicin de .ue cada conjunto posee al menos un elemento en el conjunto resultante$ dando prioridad a a.uellos elementos .ue cumplen .ue la interseccin de los conjuntos +$ 9 # : sea diferente de nulo en este caso @ + B 9 B :A C D ? C.

;ig. 9/ Configuracin de notificacin de cambios

-uego de obtenida la informacin de la notificacin de cambios comienza el proceso de minera de 1ogs utilizando "racle 1ogminer. En este proceso se e)trae de los 8edo -ogs la informacin de la transaccin realizada en formato 3E- # se analizan un conjunto de precondiciones o reglas .ue debe cumplir la informacin para poder ser propagada "acia la %& de destino. -os posibles errores ocurridos son notificados en el subsistema de monitoreo al administrador de r(plica$ el cual tomar una decisin para darle solucin al problema. Una vez capturada la transaccin # comprobadas las precondiciones$ las operaciones$ #a en forma de mensaje$ entran en la fase de propagacin de la informacin$ lo cual se "ace utilizando la tecnologa "racle *treams )dvanced 2ueuing. -as colas configuradas con anterioridad tienen la responsabilidad de mover los mensajes de un servidor a otro. -as operaciones son recibidas en el servidor remoto$ comenzando a.u el proceso de aplicacin de la informacin. -a base del proceso de aplicacin lo componen una tarea programada en el servidor (F*%! # un conjunto de procedimientos almacenados de alta complejidad algortmica. 3i durante el proceso de aplicacin$ la transaccin .ue se est ejecutando produce un error$

originado por alguna inconsistencia de datos$ se registra un conflicto$ el cual tendr .ue ser resuelto por el administrador de r(plica de forma manual.

;ig. :/ &isposicin de los subprocesos dentro del sistema de r(plica

Replicar Informacin
Sevidor Oficina Servidor Centro de Datos

Inicio

Notificar Transaccin

Capturar Transaccin

No

Cumple Precondiciones ?

Si

Fin

Propagar Transacciones

Completar Transacciones

Aplicar Transacciones

No

Conflicto Aplicando?

Si

Fin

Registrar Conflicto

Fin

;ig. G/ ;lujo del proceso replicar informacin en sus dos ambientes

3e entiende como conflicto cual.uier irregularidad originada en el proceso de aplicacin de la informacin .ue impide .ue la transaccin pueda ser aplicada. -os conflictos normalmente son asociados a inconsistencia en la informacin e)istente en un ambiente con relacin al otro. (Fofman 7(rez arancn$ 9,,H!. En ambientes .ue permitan operaciones &6- a los mismos datos en diferentes %& pueden ocurrir conflictos/ Conflictos de actualizacin. Conflictos de unicidad. Conflictos de borrado. Conflictos de llaves forneas.

E)isten varios modelos .ue contribu#en a evitar los conflictos/ 6odelo 7rimar# &atabase *2ners"ip/ permite evitar la posibilidad de conflictos limitando el n'mero de %& en el sistema .ue tendrn acceso a las actualizaciones simultneas de las tablas con datos compartidos. Este modelo previene los conflictos por.ue solo una %& permite las actualizaciones a un conjunto de datos compartidos a la vez.

6odelo 3"ared &atabase *2ners"ip/ se recomienda utilizar cuando el modelo anterior sea mu# restrictivo para los re.uerimientos de la aplicacin. Este modelo presupone .ue pueden ocurrir conflictos # asociado a (l se recomienda aplicar estrategias .ue eviten los conflictos como las .ue se relacionan a continuacin/

Evitar conflictos de unicidad/ se pueden evitar los conflictos de unicidad asegurando .ue cada %& usa identificadores
'nicos para los datos compartidos.

Evitar conflictos de borrado/ en general las aplicaciones .ue operan con el modelo *hared Database "wnership no
deben borrar registros usando la sentencia &E-E E. En su lugar deberan marcar los registros .ue se deben borrar # configurar el sistema para purgarlos peridicamente.

Evitar conflictos de actualizacin/ en un modelo *hared Database "wnership no es posible evitar este tipo de
conflictos en su totalidad. 7or eso se deben identificar los tipos de conflicto posibles # configurar el sistema para .ue los resuelva si estos ocurren. -os rasgos de seguridad # confiabilidad de la informacin en la r(plica de datos se basan fundamentalmente en las propias caractersticas del *racle # se manifiestan de la siguiente forma/ 7ara poder acceder a la configuracin de la r(plica # a los datos .ue se generan en el propio proceso de r(plica se re.uiere credenciales del 3>%& (usuario 8E7-IC0 o 3I3!. E)isten dos formas de almacenamiento de la informacin durante el proceso de notificacin de cambio$ (persistente # no persistente!. 3e decide utilizar la forma persistente con el objetivo de poder recuperarse ante fallos del servidor en el proceso de captura.

oda transaccin puede ser reprocesada siempre .ue e)ista el fic"ero log asociado a la transaccin. 3i se re.uiere "acer esto con frecuencia$ debe establecerse una poltica de respaldo de los )rchivelog.

-a propagacin de la informacin se "ace de forma persistente con el objetivo de poder recuperarse ante fallos del 3>%&.

-a propagacin de la informacin re.uiere autenticacin de *racle # se realiza bajo las especificaciones del protocolo <3$ lo cual impide .ue un usuario no autorizado pueda poner informacin en cola o pueda retransmitir en el canal de comunicacin una informacin alterada.

!onitoreo " gestin de losprocesos de rplica de datos. Integracin con Oracle Enterprise Manager GRID Control 'a arquitectura GRID -a ar.uitectura de computadoras >8I& es una nueva ar.uitectura de I .ue produce ms fle)ibilidad a un menor costo en una solucin empresarial. 6ediante la ar.uitectura >8I& un conjunto independiente de recursos$ dgase "ard2are # soft2are$ pueden estar conectados # unidos en respuesta a las demandas del negocio. -a ar.uitectura >8I& de computadoras "a sido considerada como la .uinta generacin de computadoras despu(s de la clienteJservidor # la multiJtier (*racle Corporation$ 9,,K!. $plicacin de la arquitectura GRID Comparado con otros modelos$ el estilo >8I& produce ma#or calidad en los servicios # ma#or fle)ibilidad a un menor costo. -a calidad en los servicios es el resultado de eliminar los puntos de fallos$ establecer una fuerte seguridad en la infraestructura # mantener una poltica de manejo de los recursos de forma centralizada. -a implementacin de la ar.uitectura >8I& permitir manejar los recursos asociados a/

Infraestructura/ "ard2are # soft2are para el almacenamiento de informacin # ambiente para la ejecucin de aplicaciones. Estos recursos pueden ser/ almacenamiento$ memoria$ 3istema *perativo (3*! # 3>%&$ entre otros. 0plicaciones/ lgica de negocio # flujo .ue definen aspectos especficos del negocio. Informacin/ es el resultado in"erente a todos los diferentes datos usados para conducir el sistema$ transacciones de datos$ solicitudes de informacin$ actualizaciones de informacin$ entre muc"os otros.

En este sentido$ e)isten un conjunto de software # hardware destinados a la gestin de los recursos. -a combinacin de componentes tales como "racle ,anagement *erver (*63!$ "racle )pplication *erver (03!$ "racle ,anagement )gent (*60! # "racle +nterprise ,anager (*E6!$ conforman un solo elemento conocido como "racle +nterprise ,anager 3rid .ontrol (*>C! encargado de la gestin # monitoreo de los recursos$ procesos # servicios en cada uno de los servidores .ue componen el >8I& como se muestra en la ;igura K.

Oficina Remota

Centro de Datos dulo de Servidores ORAC#! RAC

!staciones de oficina Recoleccin de informacin "estin de los procesos Servidor de oficina Recoleccin de informacin "estin de los procesos

O"C Oficina Remota Recoleccin de informacin "estin de los procesos onitoreo de la Informacin "estin de los procesos

Sala de !staciones de oficina

onitoreo del Sistema

Servidor de oficina !staciones de onitoreo

;ig. K/ Integracin con *>C para la gestin # monitoreo de los recursos de I Integracin de la rplica de datos al OG( Como parte del proceso de integracin es necesario transitar por un conjunto de fases .ue definen cmo se va a gestionar el proceso a integrar. -uego de complementadas las fases de desarrollo # despliegue se organizan los destinos en el *>C$ en grupos$ sistemas # servicios para poder ser monitoreados # gestionados en conjunto. -a gestin da la posibilidad de crear interfaces en el *>C .ue son ms accesibles para el usuario puesto .ue detallan mejor la informacin # as se podr interpretar mejor los resultados.

;ig. H/ Interfaz de monitoreo de los subsistemas de r(plica de informacin

-a interfaz mostrada en la ;igura H da la posibilidad de .ue cada componente del sistema$ en su conjunto$ pueda ser monitoreado de forma centralizada a trav(s de grficos # tablas .ue muestran el comportamiento cuantitativo de las m(tricas definidas. -os grficos dan una vista dinmica del comportamiento de los componentes lo cual permite tener una perspectiva ms acertada del funcionamiento del sistema como se muestra en la ;igura 5.

;ig. 5/ >rficos .ue muestran el comportamiento general de la r(plica de informacin

-a creacin de una topologa a#uda a comprender como se comunican los componentes entre si # cuales son las caractersticas principales de cada uno de ellos. (;igura L!

;ig. L/ opologa para la r(plica de datos

Insercin de la gestin de la rplica de informacin dentro del flu)o organizacional para la solucin de problemas de TI a tra s del OG( -a gestin centralizada de los recursos dentro de una organizacin de gran magnitud no puede ser posible sin la interaccin de todas las partes involucradas en las reas de I. En este sentido la integracin de cada uno de los sistemas .ue proveen servicios$ la comunicacin entre ellos # la e)istencia de una "erramienta para el soporte$ son factores importantes para el buen desempe1o de los ejecutivos # funcionarios .ue supervisan # administran los recursos .ue soportan el funcionamiento de la empresa. 7artiendo del planteamiento anterior es de vital importancia el manejo de las alertas .ue se reflejan en el *>C # su constante seguimiento por los especialistas involucrados en las reas correspondientes$ tomando como premisa .ue mediante la definicin de las m(tricas del proceso se establecieron mrgenes$ .ue de ser violadas$ implican una interrupcin en el servicio o disminucin en la calidad de los servicios$ lo cual es considerado por I I- como un incidente. (3anta 6onica Consulting$ 9,,9! omando como ejemplo un proceso de negocio$ donde se realizan diferentes trmites como son c"e.ueo de informacin e impresin de documentos de forma centralizada$ continuidad del proceso en otras sedes$ entrega de documentos # obtencin de reportes$ se "ace un anlisis de riesgo asociado a la r(plica de informacin$ lo cual evidencia .ue se pueden ver afectados los procesos de negocio a mediano o largo plazo producto de un mal funcionamiento o una mala administracin de (sta. -a matriz de riesgo .ue se muestra en la tabla + a#uda a comprender cmo se puede ver afectada la organizacin en caso de fallos en el servicio de r(plica de informacin. -a matriz de riesgo se elabora teniendo en cuenta la afectacin del servicio en el indicador especificado con relacin al tiempo$ obteniendo los siguientes calificadores en cuanto al nivel de afectacin/

%ajo/ El problema no debe persistir por ms de : "oras. 3e debe resolver de forma automtica. 7uede afectar a oficinas de formas aislada. Indica retraso en el proceso de negocio pero no produce paralizacin ni desinformacin.

6edio/ El problema no debe persistir por ms de 9 "oras. &ebe ser detectado por el sistema de monitoreo # resuelto al momento. 7uede afectar a oficinas de formas aislada. Indica retraso en el proceso de negocio # de no ser atendido correctamente$ paralizacin de un bajo n'mero de trmites. >enera desinformacin.

0lto/ El problema no debe persistir por ms de + "ora. &ebe ser detectado por el sistema de monitoreo # resuelto al momento. 0fecta a todas las oficinas. Indica paralizacin generalizada del proceso de negocio si no es atendido a tiempo. >enera alta desinformacin.

Como resultado del anlisis de riesgo se "ace necesario la integracin entre la forma de monitoreo de los servicios # los m(todos de la organizacin para la solucin de problemas. &e a.u$ .ue por cada alerta .ue produce la r(plica de datos se desencadene un flujo con el fin de dar solucin inmediata # profesional al problema # alimentar la base de datos de conocimiento de la organizacin para futuros anlisis. 7rocesos de <egocio. 8(plica de datos. &etencin del proceso de captura. 3obrecarga en el proceso de captura. Errores en el proceso de captura. 3obrecarga en el proceso de propagacin. 7erdida de la cone)in con la cola remota. Error en el proceso de aplicacin de transacciones (conflictos!. 3obrecarga en el proceso de aplicacin. &etencin del proceso de aplicacin. C"e.ueo de informacin Impresin de Continuidad del proceso Entrega de documentos. *btencin de reportes.

centralizada. documentos. otras sedes. 6edio %ajo 6edio %ajo %ajo 6edio %ajo 6edio %ajo %ajo 6edio %ajo 6edio %ajo %ajo 6edio %ajo 6edio %ajo %ajo 6edio 6edio 6edio 6edio 6edio

6edio

6edio

6edio

6edio

6edio

%ajo 0lto

%ajo 0lto

%ajo 0lto

%ajo 0lto

6edio 0lto

abla +/ 6atriz de riesgo obtenida como resultado de la vinculacin de la r(plica de datos a los procesos de negocio

$isuali%a alerta del sistema Agrega comentario a la alerta

Alerta !

onitor del Sistema

"enera

! crea incidente

Agrega comentario al incidente

Service Des'

Replica de Datos
(ase de datos de conocimiento

Incidente

Soluciona el pro&lema

Notifica nuevo incidente

Incorpora la solucion

Almacena solucin

Administrador del sistema

;ig. 4/ Interaccin entre los componentes en el soporte del servicio de r(plica

Como muestra la ;igura 4$ la r(plica de datos genera una alerta "acia el "racle +nterprise ,anager (E6! # al mismo tiempo este 'ltimo crea un incidente en el *ervice Desk. Esta alerta es visualizada de inmediato por el usuario encargado de monitoreo del sistema$ el cual puede agregar informacin en forma de comentario a la alerta # el E6$ a su vez$ agrega esta informacin el incidente. Ia creado el incidente este es reportado de inmediato al administrador del sistema$ el cual soluciona el problema e incorpora la solucin$ la .ue es almacenada en la base de datos de conocimientos del *ervice Desk. (;iguras +, # ++!.

;ig. +,/ 0lerta asociada a un incidente en el E6

Este mismo flujo puede ser utilizado para resolver cual.uier problema relacionado con los recursos gestionados a trav(s del *>C # as dar soporte a los sistemas # servicios .ue sustentan el buen funcionamiento de la empresa.

;ig. ++/ Incidente relacionado con la alerta en el 3ervice &esM

(onclusiones Con la realizacin de este trabajo fue materializado un importante a"orro por concepto de licencia$ al facilitarse una solucin integrada .ue evita el licenciamiento de productos incluidos en otras versiones ms costosas del gestor de %& *racle o de soluciones comerciales propuestas por terceros. 7or otra parte$ se logr cumplir la e)pectativa de integracin de la solucin con otros productos #a instalados # en e)plotacin como lo son *>C # -nicenter *ervice Desk. El resultado de esta investigacin est siendo e)plotado en un ambiente productivo$ como parte de una solucin ms amplia .ue comprende procesos de negocios de ma#or complejidad. Referencias *ibliogr&ficas *racle Corporation. &atabase 8eplication. *racleL Concepts. NEn lneaO +445. "ttp/PP222.pitt.eduP0;3"omeP"PoP"offmanPpublicP"tmlPoradocPserver.L,GPaKL995Pc"Qrepli."tm. *racle Corporation. >rid Computing 2it" *racle$ 9,,K. 3anta 6onica Consulting$ ;undamentos de I I-$ 0rgentina$ 9,,9$ Captulo : pgina G. Fofman 7(rez arancn. 8(plica entre 3ervidores *racle. 0lternativas de solucin. Ciudad Rabana $ 9,,H.

También podría gustarte