En computación de bases de datos , Oracle Real Application Clusters ( RAC ), una opción [1] para el software Oracle Database producido por Oracle Corporation e introducido en 2001 con Oracle9i , proporciona software para agrupación en clústeres y alta disponibilidad en entornos de bases de datos Oracle . Oracle Corporation incluye RAC con Enterprise Edition, siempre que los nodos estén agrupados mediante Oracle Clusterware . [2]
Funcionalidad
Oracle RAC permite que varias computadoras ejecuten el software Oracle RDBMS simultáneamente mientras acceden a una sola base de datos , lo que proporciona agrupación en clústeres .
En una base de datos de Oracle que no es RAC, una sola instancia accede a una sola base de datos. La base de datos consta de una colección de archivos de datos , archivos de control y registros de rehacer ubicados en el disco . La instancia comprende la colección de procesos en segundo plano y de memoria relacionados con Oracle que se ejecutan en un sistema informático.
En un entorno de Oracle RAC, 2 o más instancias acceden simultáneamente a una única base de datos. Esto permite que una aplicación o un usuario se conecte a cualquier computadora y tenga acceso a un único conjunto coordinado de datos. Las instancias están conectadas entre sí a través de una "interconexión" que permite que todas las instancias estén sincronizadas para acceder a los datos.
Objetivos
El objetivo principal de Oracle RAC es implementar una base de datos en clúster para proporcionar rendimiento, escalabilidad , resiliencia y alta disponibilidad de datos a nivel de instancia.
Implementación
Oracle RAC depende del componente de infraestructura Oracle Clusterware para coordinar varios servidores y compartir el almacenamiento de datos. [3] La tecnología FAN (Notificación rápida de aplicaciones) detecta estados inactivos. [4] Los administradores de RAC pueden usar la srvctl
herramienta para administrar las configuraciones de RAC, [5]
Fusión de caché
Antes de Oracle 9, las bases de datos de Oracle agrupadas en red usaban un dispositivo de almacenamiento como medio de transferencia de datos (lo que significa que un nodo escribiría un bloque de datos en el disco y otro nodo leería esos datos del mismo disco), lo que tenía la desventaja inherente de desempeño mediocre. Oracle 9i abordó este problema: RAC utiliza una conexión de red dedicada para las comunicaciones internas del clúster.
Dado que todas las computadoras / instancias en un RAC acceden a la misma base de datos, el sistema general debe garantizar la coordinación de los cambios de datos en diferentes computadoras, de modo que cada vez que una computadora consulta datos, recibe la versión actual, incluso si otra computadora modificó recientemente esos datos. Oracle RAC se refiere a esta funcionalidad como Cache Fusion . Cache Fusion implica la capacidad de Oracle RAC para "fusionar" los datos en memoria almacenados en caché físicamente por separado en cada computadora en una única caché global.
Redes
Oracle Grid Naming Service (GNS) maneja la resolución de nombres en el registro del clúster. [6]
Diagnósticos
Trace File Analyzer (TFA) ayuda a recopilar datos de diagnóstico de RAC. [7]
Versiones
Evolución
En relación con la base de datos Oracle de instancia única, Oracle RAC agrega complejidad adicional. Si bien la automatización de bases de datos tiene sentido para las bases de datos de instancia única, se vuelve aún más necesaria para las bases de datos agrupadas debido a su mayor complejidad.
Oracle Real Application Clusters (RAC), introducido con Oracle 9i en 2001, reemplaza la opción de base de datos Oracle Parallel Server (OPS). Mientras que Oracle9i requería un clusterware externo (conocido como clusterware de proveedor como TruCluster Veritas Cluster Server o Sun Cluster ) para la mayoría de los sabores de Unix (excepto para Linux y Windows donde Oracle proporcionó clusterware gratuito llamado Cluster Ready Services o CRS ), a partir de Oracle 10g, El producto clusterware de Oracle estaba disponible para todos los sistemas operativos. Con el lanzamiento de Oracle Database 10g Release 2 (10.2), Cluster Ready Services pasó a llamarse Oracle Clusterware. Cuando se utiliza Oracle 10g o superior, Oracle Clusterware es el único clusterware que necesita para la mayoría de las plataformas en las que opera Oracle RAC (excepto Tru cluster, en cuyo caso necesita el clusterware del proveedor). Aún puede usar clusterware de otros proveedores, si el clusterware está certificado para Oracle RAC.
En RAC, la transacción de escritura debe tomar posesión del área relevante de la base de datos: generalmente, esto implica una solicitud a través de la interconexión del clúster (red IP local) para transferir la propiedad del bloque de datos de otro nodo al que desea realizar la operación. escribir. Esto lleva un tiempo relativamente largo (de unos pocos a decenas de milisegundos ) en comparación con un solo nodo de base de datos que utiliza operaciones en memoria. Para muchos tipos de aplicaciones, el tiempo dedicado a coordinar el acceso a bloques entre sistemas es bajo en relación con las muchas operaciones en el sistema, y el RAC se escalará de manera comparable a un solo sistema. [ cita requerida ] Además, las bases de datos transaccionales de alta lectura (como las aplicaciones de almacenamiento de datos ) funcionan muy bien bajo RAC, ya que no existe la necesidad de transferencia de propiedad. (Oracle 11g ha realizado muchas mejoras en esta área y funciona mucho mejor que las versiones anteriores para cargas de trabajo de solo lectura. [ Cita requerida ] )
La sobrecarga en el dominio de recursos (o transferencia de propiedad) es mínima para menos de tres nodos, ya que la solicitud de cualquier recurso en el clúster se puede obtener en un máximo de tres saltos (propietario-maestro-solicitante). [ cita requerida ] Esto hace que Oracle RAC sea escalable horizontalmente con muchos nodos. Los proveedores de aplicaciones (como SAP ) utilizan Oracle RAC para demostrar la escalabilidad de su aplicación. La mayoría de los puntos de referencia OLTP más importantes se encuentran en Oracle RAC. Oracle RAC 11g admite hasta 100 nodos. [10]
Para algunos [ ¿cuál? ] aplicaciones, RAC puede requerir una cuidadosa partición de aplicaciones para mejorar el rendimiento . Una aplicación que escala linealmente en una máquina SMP puede escalar linealmente bajo RAC. Sin embargo, si la aplicación no puede escalar linealmente en SMP, no escalará cuando se transfiera a RAC. En resumen, la escalabilidad de la aplicación se basa en qué tan bien escala la aplicación en una sola instancia .
Contexto competitivo
Las arquitecturas Shared-Nothing y Shared-Everything tienen ventajas sobre la otra. Los proveedores de DBMS y los analistas de la industria debaten regularmente el asunto; por ejemplo, Microsoft promociona una comparación de su SQL Server 2005 con Oracle 10g RAC. [11]
Oracle Corporation ofreció un RDBMS de arquitectura Shared Nothing con la llegada de IBM SP y SP2 con el lanzamiento de las ediciones 7.x MPP, en las que se utilizaron unidades virtuales compartidas (VSD) para crear una implementación Shared Everything en una arquitectura Shared Nothing.
Las arquitecturas de todo compartido comparten tanto los datos en el disco como los datos en la memoria entre los nodos del clúster. Esto contrasta con las arquitecturas de "nada compartido" que no comparten ninguno de ellos.
Algunas bases de datos disponibles comercialmente ofrecen una arquitectura de "todo compartido". IBM DB2 para z / OS (el sistema operativo de mainframe de IBM ) ha proporcionado una opción de intercambio de datos de alto rendimiento desde mediados de la década de 1990, cuando IBM lanzó su infraestructura de agrupación de hardware y software de mainframe. A finales de 2009, IBM anunció DB2 pureScale, un esquema de agrupación en clústeres de disco compartido para DB2 9.8 en AIX que imita la implementación paralela del sysplex detrás del intercambio de datos de DB2 en el mainframe.
En febrero de 2008, Sybase lanzó su Adaptive Server Enterprise , Cluster Edition. Se parece a Oracle RAC en su diseño de todo compartido. [12]
Aunque técnicamente no se comparte todo, Sybase también proporciona una base de datos relacional basada en columnas centrada en aplicaciones analíticas y de almacenamiento de datos llamadas Sybase IQ que se puede configurar para ejecutarse en un modo de disco compartido.
Las bases de datos nativas de la nube, como Amazon Aurora y POLARDB de Alibaba Cloud , se implementan con una arquitectura de "todo compartido" sobre un sistema de archivos distribuido basado en la nube. [13] [14]
Las arquitecturas de nada compartido no comparten ni los datos en el disco ni los datos en la memoria entre los nodos del clúster. Esto contrasta con las arquitecturas de "todo compartido", que comparten ambas.
Los productos competitivos que ofrecen arquitecturas sin compartir incluyen:
- MySQL Cluster (Oracle Corporation es propietario de MySQL desde 2009) [15]
- ScaleBase [16]
- Clustrix
- HP NonStop
- Ediciones de IBM InfoSphere Warehouse que incluyen la función de partición de base de datos (anteriormente conocida como DB2 Extended Enterprise Edition)
- MarkLogic
- Ciruela verde
- Base de datos Oracle NoSQL
- Paraccel
- Netezza (también conocido como Netezza Performance Server)
- Teradata
- Vertica
- Apache Cassandra , base de datos NoSQL de almacenamiento de columna ancha.
- Apache HBase
- MongoDB , base de datos orientada a documentos.
- Servidor Couchbase
- Riak
- SAP HANA
- CUBRID
Ver también
- Guardia de datos de Oracle
- Protección de datos activa de Oracle
- Escalabilidad de la base de datos
Referencias
- ^ Opciones y paquetes
- ^ Ediciones de base de datos Oracle
- ^ Introducción a los clústeres de aplicaciones reales de Oracle
- ^ Mensah, Kuassi (2006). Programación de bases de datos Oracle utilizando Java y servicios web . Prensa digital. pag. 400; 1087. ISBN 978-1-55558-329-3. Consultado el 11 de septiembre de 2011 .
El mecanismo de Notificación Rápida de Aplicación (FAN) permite la [...] detección rápida de eventos "
Instance DOWN
" o "Node DOWN
[...] - ^ Stoever, Edward (2006). Clústeres personales de Oracle RAC: cree Oracle 10g Grid Computing en casa . Serie Oracle In-focus. TechPress desenfrenado. pag. 119. ISBN 9780976157380. Consultado el 30 de mayo de 2013 .
Una configuración de base de datos RAC requiere herramientas adicionales para administrar el software y sus instancias. Una de estas herramientas es srvctl , que se utiliza para iniciar, apagar y comprobar el estado [de] una base de datos de RAC.
- ^ Prusinski, Ben; Hussain, Syed Jaffer (2011). Conceptos básicos de Oracle 11g R1 / R2 Real Application Clusters . Birmingham: Packt Publishing Ltd. ISBN 9781849682671. Consultado el 23 de marzo de 2018 .
Oracle 11g R2 RAC introdujo varios procesos de fondo de clusterware nuevos. [...] Oracle Grid Naming Service (GNS) funciona como una puerta de enlace entre el mDNS del clúster y los servidores DNS externos. El proceso GNS realiza la resolución de nombres dentro de la arquitectura de registro de Oracle Cluster para Oracle 11g RAC.
- ^ Farooq, Tariq; Kim, Charles; Vengurlekar, Nitin; Avantsa, Sridhar; Harrison, Guy; Hussain, Syed Jaffar (2015). "Solución de problemas y ajuste de RAC". Manual del experto de Oracle Exadata . Addison-Wesley Professional. ISBN 9780133780987. Consultado el 29 de junio de 2017 .
Lanzada con v11.2.0.4, la utilidad de recopilación Trace File Analyzer (TFA) es la nueva utilidad integral que simplifica la recopilación de información de diagnóstico de RAC.
- ^ "Oracle 12c RAC: nuevas funciones" . Encuentre libros blancos . 2015-07-24 . Consultado el 24 de julio de 2015 .
Entre las más de 500 nuevas funciones lanzadas con Oracle 12c Database, una serie de funciones muy útiles son específicas de Oracle RAC. Vea las principales nuevas funciones de 12c RAC, que incluyen Oracle ASM Flex, depuración de disco ASM, punto de control de resincronización de disco más rápido, límite de potencia de resincronización más alto y más.
- ^ "Oracle Real Application Clusters One Node: Mejor virtualización para bases de datos" . Encuentre libros blancos . 2009-12-09 . Consultado el 19 de abril de 2010 .
Oracle RAC One Node proporciona:. Siempre en servicios de base de datos de instancia única. Mejor consolidación para servidores de bases de datos. Virtualización de servidores mejorada. [,,,] si surgiera la necesidad, actualice a una base de datos Oracle RAC completa de múltiples nodos sin tiempo de inactividad ni interrupciones. [...] Oracle Real Application Clusters (RAC) One Node es una nueva opción para Oracle Database 11g Release 2 Enterprise Edition. Proporciona una alta disponibilidad mejorada para bases de datos de instancia única,
- ^ "agrupación" (PDF) . Oracle.com . Consultado el 7 de noviembre de 2012 .
- ^ Thomas, Bryan (30 de mayo de 2006). "Soluciones para aplicaciones de bases de datos altamente escalables: un análisis de arquitecturas y tecnologías" (PDF) . Microsoft . Consultado el 9 de septiembre de 2007 .
- ^ "Sybase.com" . Sybase.com . Consultado el 7 de noviembre de 2012 .
- ^ https://docs.amazonaws.cn/en_us/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.StorageReliability.html
- ^ "PolarFS: un sistema de archivos distribuido resistente a fallas y latencia ultrabaja para la base de datos en la nube de almacenamiento compartido" . BIBLIOTECA DIGITAL ACM .
- ^ "Oracle compra desarrollador de código abierto finlandés" . InfoWorld. 7 de octubre de 2005."Oracle compra SUN; MySQL está bifurcado" . Revista Linux. 20 de abril de 2009.
- ^ http://www.scalebase.com/products/product-architecture/
enlaces externos
- Documentación de Oracle RAC
- Oracle Real Application Clusters (sitio web oficial de Oracle Corporation )
- Una guía de proyectos paso a paso para implementar Oracle RAC
- Clústeres de aplicaciones reales de Oracle y tendencias de la industria en el paralelismo y la disponibilidad de clústeres