Arquitectura de BD con sistemas distribuidos
En un ambiente instancia simple, una instancia abre una Base de Datos.
En un ambiente distribuido hay varias posibilidades para agrupar instancias y bases de datos:
- RAC: Donde múltiples instancias abren una Base de Datos.
- STREAMS: Donde múltiples servidores de Oracle propagan transacciónes entre ellos.
- DATA GUARD: Donde una Base de Datos primaria actualiza una Base de Datos de reserva.
REAL APPLICATION CLUSTERS (RAC): Una Base de Datos RAC puede ser configurado para funcionar el 100 por 100 del tiempo. Una instancia puede caerse y la Base de Datos permanecerá accesible por otra instancia que este en otra máquina.
Las sesiones contra la instancia fallada pueden ser restablecidas contra otra instancia sin que el usuario final se dé cuenta de la interrupción. La escalabilidad transparente viene de la capacidad de añadir instancias, corriendo en diferentes maquinas, a un RAC dinámicamente. Ellos tomaran automáticamente un poco de la carga de trabajo sin que el usuario sea consciente de que ahora hay más instancias disponibles.
STREAMS: Hay varias circunstancias que hacen deseable transferir datos de una Base de Datos a otra Base de Datos. La tolerancia de fallo es una:
- Si una organización tiene dos o más bases de datos en países diferentes, ambos deben tener datos idénticos y siempre tienen que estar disponibles para que el usuario siga trabajando, y si una falla la otra debe seguir funcionando sin que se produzca interrupción en el trabajo.
- Otra razón puede ser: dos bases de datos pueden ser configuradas para diferentes tipos de trabajo, como una Base de Datos de procesamiento de transacciónes y un depósito de datos.
- En las bases de datos sincronizadas, los cambios hechos en una de ellas tiene que ser actualizadas en la otra Base de Datos en tiempo real.
- En un depósito de datos, el conjunto de datos mantenido por una Base de Datos OLTP (Online Transaction Processing) tendrán que ser propagados a la Base de Datos de depósito y estas copias serán periódicamente refrescadas con cambios.
- El STREAMS es una instalación para capturar cambios hechos en una tabla y aplicarlos a unas copias de las tablas que son remotas.
- El STREAMS puede ser bidireccional idénticas tablas en dos o más sitios, con todas las transacciónes de usuario ejecutadas en cada sitio y aplicando también en las otras tablas. Este es el modelo necesario para la falta de tolerancia.
DATA GUARD: q Los sistemas de Data Guard tienen una Base de Datos primaria contra la cual las transacciónes son ejecutadas, y una o más bases de datos de reserva usadas por falta de tolerancia o por procesamiento de query.
Standbys (ordenadores de reserva) vienen de dos formas:
- Un standby físico es byte por byte idéntico con la memoria, para la perdida a cero de los datos. Incluso si la primaria es totalmente destruida, todos los datos están disponibles en el standby. Los ventores de cambio aplicados a la primaria son propagados al standby físico en la forma de rehacer registros, y aplicado como una restauración de backup de Base de Datos como si fuera restaurada.
- Un standby lógico contiene los mismos datos que la primaria, pero posiblemente con diferentes estructuras de datos. Esto es para procesamiento de query: la Base de Datos primaria tiene estructuras de datos optimizados para procesamiento de transacciónes, el Standby lógico tiene estructuras optimizadas para trabajar con depósitos de datos. Las diferencias estarían en la indexación. Los vectores de cambio son propagados en la forma de estamentos de SQL, usando mecanismo de Streams.
instancia sistemas distribuidos