Despliegue de una carga de trabajo migrada de MongoDB en Oracle Database Appliance

Migre una carga de trabajo existente que utilice una base de datos de documentos, en este caso MongoDB, a Oracle Database 23ai en Oracle Database Appliance para un desarrollo simplificado de aplicaciones centradas en JSON mediante una base de datos convergente de varios modelos.

Las cargas de trabajo y las aplicaciones que utilizan documentos y bases de datos de documentos para desarrollar esquemas y aplicaciones de datos son populares debido a la flexibilidad que ofrecen a los desarrolladores. La flexibilidad del esquema, el desarrollo rápido y la escalabilidad permiten acelerar la creación de prototipos de funciones de aplicaciones, facilitar la evolución de las aplicaciones y la capacidad de crear aplicaciones y funciones iterativamente más pequeñas que los desarrolladores pueden escalar para abordar una gran base de usuarios. Sin embargo, estos tipos de cargas de trabajo tienen sus desafíos, como garantías transaccionales más débiles, versatilidad de consultas de datos y la incapacidad de soportar otras cargas de trabajo en documentos, como análisis o aprendizaje automático.

¿Y si estas cargas de trabajo pueden beneficiarse de las ventajas de las bases de datos de documentos tradicionales y aprovechar las ventajas de las bases de datos relacionales? Por ejemplo, tienen garantías transaccionales más sólidas y funcionalidades agregadas, como análisis y aprendizaje automático, sin la necesidad de replicar datos en otra base de datos o sistema.

Oracle Database 23ai, diseñada para simplificar el desarrollo de aplicaciones de IA, microservicios, gráficos, documentos, espaciales y relacionales, es una plataforma de base de datos convergente que ofrece todo lo que se necesita en una solución potente.

Oracle Database Appliance es un sistema de ingeniería que optimiza el despliegue, la gestión y el soporte de soluciones de Oracle Database de alta disponibilidad. Al integrar software, recursos informáticos, almacenamiento y redes, ofrece un rendimiento fiable para una amplia variedad de aplicaciones de procesamiento de transacciones en línea (OLTP), análisis, almacenamiento de datos e IA.

Arquitectura funcional

Esta arquitectura de referencia asume que una carga de trabajo compuesta por una aplicación y una base de datos MongoDB existe localmente y se migrará para utilizar Oracle Database 23ai como base de datos. Describe la arquitectura de estado futura, sus ventajas, cómo se puede desplegar y qué funciones adicionales se pueden utilizar para aumentar la carga de trabajo existente.

Esta arquitectura de referencia se centra en desplegar la carga de trabajo migrada y no en el proceso de migración. Para obtener más información sobre el proceso de migración, consulte la sección Explorar más.

Una de las funciones clave utilizadas en esta arquitectura es la API de Oracle Database para MongoDB, que permite a las aplicaciones interactuar con recopilaciones de documentos JSON en Oracle Database mediante los comandos MongoDB. Esto permite que el código de aplicación existente funcione con los datos almacenados en Oracle Database 23ai, sin necesidad de refactorizar el código.

El siguiente diagrama ilustra una aplicación típica compuesta por una base de datos, un nivel de backend y un nivel de front-end.



mongodb-logical-arch-migration.zip

Una pila popular utilizada para implementar este patrón es la pila MEAN:

  • MongoDB: base de datos de documentos
  • Express: marco de backend
  • Angular: Marco frontal
  • Node.js: servidor backend

Esta arquitectura utiliza una pila MEAN como ejemplo de un despliegue existente para migrar a Oracle Database 23ai. La migración de esta carga de trabajo a Oracle Database 23ai consta de los siguientes pasos de alto nivel:

  1. Desplegar y configurar Oracle Database Appliance.
  2. Cree una instancia de Oracle Database 23ai en Oracle Database Appliance.
  3. Migre metadatos y datos de MongoDB a Oracle Database.
  4. Cree máquinas virtuales en Oracle Database Appliance para ejecutar el nivel de backend y Oracle REST Data Services.
  5. Despliegue y configure el nivel de backend y Oracle REST Data Services en las máquinas virtuales de Oracle Database Appliance.
  6. Configure Oracle REST Data Services para activar la API MongoDB, para que la aplicación se pueda comunicar con la base de datos mediante los controladores MongoDB.
  7. Configure la aplicación para utilizar la nueva cadena de conexión a la base de datos.
  8. Conecte la aplicación backend a Oracle Database mediante las mismas herramientas y controladores MongoDB que se utilizan en la aplicación.

Después de migrar la carga de trabajo a Oracle Database, puede mejorar la funcionalidad al activar funciones adicionales, como seguridad mejorada, informes operativos, análisis y aprendizaje automático, sin copiar datos de la base de datos. Oracle Database 23ai es una plataforma multimodelo de carga de trabajo múltiple, que le permite integrar fácilmente funciones que utilizan tipos de datos relacionales, espaciales, gráficos o vectoriales junto con su aplicación existente.

Para mejorar la escalabilidad de la carga de trabajo, asigne más recursos informáticos y memoria a la base de datos mediante el ajuste de los núcleos de CPU asignados a las máquinas virtuales de la base de datos y las aplicaciones.

Para mejorar la disponibilidad, Oracle Database Appliance tiene un sistema de alta disponibilidad totalmente redundante, Oracle Database Appliance de alta disponibilidad, que utiliza dos nodos de cálculo para desplegar la base de datos y el nivel de backend. Si se utiliza con Oracle Database 23ai Real Application Clusters, se consigue una alta disponibilidad.

Arquitectura Física

La arquitectura física para esta carga de trabajo migrada a Oracle Database 23ai soporta lo siguiente:

Nivel de frontend

  • Se utiliza el despliegue actual.
  • Los usuarios pueden conectarse desde Internet o desde la red corporativa.
  • Existe la capacidad de DNS, configurada para enrutar solicitudes al centro de datos en espera en caso de failover.

Nivel de backend

  • Las aplicaciones existentes se despliegan en máquinas virtuales de Oracle Database Appliance para permitir la consolidación de la carga de trabajo y reducir los costos generales.
  • Los Oracle REST Data Services gestionados por el cliente se colocan y despliegan en las máquinas virtuales de Oracle Database Appliance de los servidores de aplicaciones, por lo que el código de la aplicación puede conectarse a Oracle Database 23ai a través de Oracle REST Data Services.
  • La escalabilidad del nivel de backend se logra agregando más máquinas virtuales de Oracle Database Appliance cuando es necesario, escalando implícitamente Oracle REST Data Services, instaladas en cada máquina virtual del servidor de aplicaciones.

Nivel de base de datos

  • Oracle Database 23ai se despliega en Oracle Database Appliance en una configuración de nodo único, que se utiliza para almacenar y servir documentos JSON en el nivel de backend.
  • La API de Oracle Database para MongoDB se activa mediante Oracle REST Data Services, que permite utilizar el código de aplicación existente sin cambios en el código.

Continuidad del negocio

  • Se utiliza una estrategia de recuperación ante desastres basada en copia de seguridad.
  • Para garantizar que se mantengan los mismos objetivos de nivel de servicio (SLO) de la aplicación al ejecutar la carga de trabajo desde el centro de datos en espera, ejecute una infraestructura comparable de Oracle Database Appliance en esa ubicación.

El siguiente diagrama ilustra esta arquitectura de referencia.



mongodb-oda-physical-arch.zip

El diseño para la arquitectura física:

Continuidad del negocio

  • Hay dos centros de datos con despliegues idénticos: uno activo y el otro en espera.
  • Las copias de seguridad se almacenan en el almacenamiento de archivos de red (NFS) y se replican en la ubicación en espera.
  • En caso de fallo en el centro de datos activo, la última copia de seguridad permite iniciar rápidamente las cargas de trabajo en el centro en espera.
  • La dirección de tráfico DNS dirige las solicitudes de los usuarios al centro de datos activo. Si los sondeos de comprobación del sistema de DNS ejecutados en el nivel de aplicación fallan de forma recurrente, el DNS se vuelve a configurar para enrutar el tráfico a la carga de trabajo del centro de datos en espera.
  • Un equilibrador de carga distribuye las solicitudes entrantes entre varias máquinas virtuales de nivel backend, lo que evita un único punto de fallo.
  • Oracle REST Data Services gestionado por el cliente se despliega y configura en las máquinas virtuales de nivel backend. Cada vez que se agrega una máquina virtual, tanto el servidor de aplicaciones como Oracle REST Data Services se escalan según corresponda.
  • El objetivo de tiempo de recuperación (RTO) depende del despliegue de todos los componentes de carga de trabajo en el centro de datos en espera, incluida la restauración de la base de datos a partir de la última copia de seguridad replicada.
  • El objetivo de punto de recuperación (RPO) depende de la copia de seguridad replicada más reciente.

Red

  • Hay una subred pública que recibe solicitudes de usuario entrantes desde Internet.
  • La tarjeta de interfaz de red pública (NIC) de Oracle Database Appliance está asociada a la subred privada de la carga de trabajo.
  • Las solicitudes del equilibrador de carga se direccionan a las máquinas virtuales de nivel de backend de Oracle Database Appliance que atienden las solicitudes del usuario.

Base de Datos

  • Oracle Database 23ai se implementa en Oracle Database Appliance.
  • Los datos se almacenan de forma redundante, ya sea con duplicación doble o triple, para aumentar la resiliencia de los datos.
  • Las copias de seguridad automatizadas de la base de datos se configuran para realizar copias de seguridad en NFS, y esas copias de seguridad se replican en el NFS del centro de datos en espera mediante el uso de las capacidades de replicación de NFS existentes.

Seguridad

  • Las capacidades de control de acceso basado en roles (RBAC) de la base de datos se utilizan para proteger la carga de trabajo.
  • Los datos almacenados en la base de datos se pueden cifrar mediante cifrado de datos transparente (TDE), si se utiliza la opción de seguridad avanzada de Oracle Database Enterprise Edition.

Las posibles mejoras de diseño que no se muestran en este despliegue por simplicidad incluyen:

  • Aproveche un sistema de alta disponibilidad (HA) de Oracle Database Appliance compuesto por dos nodos de cálculo para garantizar una alta disponibilidad de la carga de trabajo backend. Despliegue máquinas virtuales con reinicio automático y failover en ambos nodos.
  • Utilice Oracle Database Appliance HA con Oracle Database Enterprise Edition y Oracle Real Application Clusters (Oracle RAC) para proporcionar alta disponibilidad para el nivel de base de datos.

Recomendaciones

Utilice las siguientes recomendaciones como punto de partida para mejorar y desarrollar aún más la carga de trabajo. Sus requisitos pueden diferir de la arquitectura que se describe aquí.
  • Despliegue de Aplicación

    Aproveche varias máquinas virtuales de nivel de backend para aumentar la resiliencia. Active la gestión de recursos de CPU de Oracle Database Appliance para asignar la cantidad adecuada de recursos informáticos de máquinas virtuales, garantizando la calidad del servicio necesario para la aplicación.

  • Seguridad

    Considere el uso de las funciones de la opción de seguridad avanzada de Oracle Database para cifrar datos estáticos y activar la ocultación dinámica de datos, se necesita una licencia de Oracle Database Enterprise Edition para utilizar la opción de seguridad avanzada de Oracle Database.

  • Observabilidad

    Considere el uso de Oracle Data Safe para aumentar aún más la estrategia de seguridad de la carga de trabajo y poder realizar auditorías de la base de datos.

  • Eficiencia operativa

    Considere el uso de la infraestructura como código, es decir, Terraform, junto con el SDK de Oracle Database Appliance, para automatizar el despliegue de máquinas virtuales y bases de datos.

  • Evolución de la aplicación
    • Considera la posibilidad de desplegar análisis operativos e informes en tiempo real en Oracle Database 23ai utilizando SQL y una interfaz como Oracle APEX, manteniendo los datos dentro de la base de datos para un análisis confiable y en tiempo real.
    • Considera el uso de Oracle Database 23ai para el aprendizaje automático mediante Oracle Machine Learning for SQL, para crear y entrenar modelos con datos JSON sin necesidad de movimiento de datos y desplegar los modelos junto con la carga de trabajo existente para realizar inferencias eficientes.
    • Considere el uso de la base de datos para almacenar tipos de datos adicionales (relacionales, vectoriales, espaciales o gráficos) para agregar funcionalidad y flexibilidad a la carga de trabajo.
    • Considera el uso de Oracle Database Appliance y Oracle Database 23ai para la analítica más allá de la analítica operativa, beneficiándote de la compresión de columnas híbridas, un formato de columnas eficiente adaptado a la analítica de datos, que aumenta el rendimiento de la analítica al tiempo que reduce el espacio necesario para almacenar datos. La compresión de columnas híbridas está soportada en Oracle Database Appliance y se incluye con una licencia de Oracle Database Enterprise Edition.

Explorar más

Obtenga más información sobre la implementación de cargas de trabajo migradas de MongoDB a Oracle Database Appliance.

Revise estos recursos adicionales:

Acuses de recibo

  • Author: José Cruz
  • Contributors: Massimo Castelli, Simon Griffiths, Matt DeMarco, Julian Dontcheff