Migración de los datos a una cuenta de Azure Cosmos DB for NoSQL mediante Striim

SE APLICA A: NoSQL

La imagen de Striim en Azure Marketplace ofrece un movimiento de datos continuo en tiempo real desde almacenes de datos y bases de datos a Azure. Durante el movimiento de los datos, puede realizar una desnormalización en línea, trasformar los datos y habilitar análisis en tiempo real y escenarios de creación de informes de datos. Es fácil empezar a trabajar con Striim para mover datos empresariales continuamente a Azure Cosmos DB for NoSQL. Azure proporciona una oferta de Marketplace que facilita la implementación de Striim y la migración de los datos a Azure Cosmos DB.

En este artículo se muestra cómo usar Striim para migrar datos desde una instancia de Oracle Database a una cuenta de Azure Cosmos DB for NoSQL.

Requisitos previos

Implementación de la solución de Marketplace de Striim

  1. Inicie sesión en Azure Portal.

  2. Seleccione Crear un recurso y busque Striim en Azure Marketplace. Seleccione la primera opción y Crear.

    Búsqueda del elemento de Marketplace de Striim

  3. A continuación, escriba las propiedades de configuración de la instancia de Striim. El entorno de Striim se implementa en una máquina virtual. En el panel Básico, escriba el nombre de usuario de máquina virtual, Contraseña de máquina virtual (esta contraseña se usa para SSH en la máquina virtual). Seleccione su Suscripción, Grupo de recursos y Detalles de ubicación allí donde desee implementar Striim. Cuando haya terminado, seleccione Aceptar.

    Configuración de las opciones básicas para Striim

  4. En el panel Striim Cluster settings (Configuración del clúster de Striim), elija el tipo de implementación de Striim y el tamaño de la máquina virtual.

    Configuración Value Descripción
    Tipo de implementación de Striim Independiente Striim se puede ejecutar en un tipo de implementación independiente o de clúster. El modo independiente implementará el servidor Striim en una sola máquina virtual, y lepermite seleccionar el tamaño de las máquinas virtuales dependiendo de su volumen de datos. El modo de clúster implementará el servidor Striim en dos o más máquinas virtuales con el tamaño seleccionado. Los entornos de clúster con más de dos nodos ofrecen conmutación por error y alta disponibilidad automáticas.

    En este tutorial, puede seleccionar la opción Independiente. Use el tamaño "Standard_F4s" predeterminado de la máquina virtual.
    Nombre del clúster de Striim <Nombre_clúster_Striim> Nombre del clúster de Striim.
    Contraseña del clúster de Striim <Contraseña_clúster_Striim> Contraseña para el clúster.

    Una vez que rellene el formulario, seleccione Aceptar para continuar.

  5. En el panel Striim access settings (Configuración de acceso de Striim), configure la Dirección IP pública (elija los valores predeterminados), Domain name for Striim (Nombre de dominio para Striim) y la Contraseña de administrador que desea usar para iniciar sesión en la interfaz de usuario de Striim. Configure una red virtual y una subred (elija los valores predeterminados). Tras rellenar los detalles, seleccione Aceptar para continuar.

    Configuración de acceso de Striim

  6. Azure validará la implementación y se asegurará de que todo esté bien; la validación tarda algunos minutos en completarse. Una vez completada la validación, seleccione Aceptar.

  7. Por último, revise las condiciones de uso y seleccione Crear para crear su instancia de Striim.

Configuración de la base de datos de origen

En esta sección, va a configurar la instancia de Oracle Database como origen del movimiento de datos. El servidor Striim viene con el controlador JDBC de Oracle que se usa para conectarse a Oracle. Para leer los cambios en su instancia de Oracle Database de origen, puede usar LogMiner o las API XStream. El controlador JDBC de Oracle tiene que estar presente en classpath de Java de Striim para leer, escribir o conservar datos de la instancia de Oracle Database.

Configuración de la base de datos de destino

En esta sección, va a configurar la cuenta de Azure Cosmos DB for NoSQL como destino del movimiento de datos.

  1. Cree una cuenta de Azure Cosmos DB for NoSQL mediante Azure Portal.

  2. Vaya al panel Explorador de datos en su cuenta de Azure Cosmos DB. Seleccione Nuevo contenedor para crear un nuevo contenedor. Supongamos que migra productos y datos de pedidos desde la instancia de Oracle Database a Azure Cosmos DB. Cree una nueva base de datos denominada StriimDemo con un contenedor de nombre Orders. Aprovisione el contenedor con 1000 RU (en este ejemplo se usan 1000 RU, pero debe usar el rendimiento estimado para su carga de trabajo) y /ORDER_ID como clave de partición. Estos valores variarán dependiendo de sus datos de origen.

    Creación de una API para una cuenta NoSQL

Configuración de Oracle para el flujo de datos de Azure Cosmos DB

  1. Vaya a la instancia de Striim que implementó en Azure Portal. Seleccione el botón Conectar en la barra de menús superior y, en la pestaña SSH, copie la dirección URL en el campo Iniciar sesión con la cuenta local de VM.

    Obtención de la dirección URL de SSH

  2. Abra una nueva ventana de terminal y ejecute el comando SSH que copió desde Azure Portal. En este artículo, se usa el terminal en MacOS. Puede seguir las instrucciones similares mediante un cliente SSH en una máquina Windows. Cuando se le solicite, escriba para continuar y la contraseña que ha establecido para la máquina virtual en el paso anterior.

    Conexión a la máquina virtual de Striim

  3. En la misma ventana de terminal, reinicie el servidor Striim ejecutando los siguientes comandos:

    systemctl stop striim-node
    systemctl stop striim-dbms
    systemctl start striim-dbms
    systemctl start striim-node
    
  4. Striim tardará un minuto en iniciarse. Si desea ver el estado, ejecute el siguiente comando:

    tail -f /opt/striim/logs/striim-node.log
    
  5. Ahora, vuelva a Azure y copie la dirección IP pública de su máquina virtual de Striim.

    Copia de la dirección IP de la máquina virtual de Striim

  6. Para ir a la interfaz de usuario web de Striim, abra una nueva pestaña en un explorador y copie la IP pública seguida de: 9080. Inicie sesión con el nombre de usuario administrador, junto con la contraseña de administrador que especificó en Azure Portal.

    Inicio de sesión en Striim

  7. Ahora llegará a la página principal de Striim. Hay tres paneles diferentes: Dashboards, Apps y SourcePreview. El panel Dashboards le permite mover datos en tiempo real y visualizarlos. En el panel Apps se incluyen sus canalizaciones de streaming de datos o flujos de datos. En el lado derecho de la página se encuentra SourcePreview, donde puede obtener una versión preliminar de sus datos antes de moverlos.

  8. Seleccione el panel Apps, por ahora nos centraremos en este panel. Existen numerosas aplicaciones de ejemplo que puede usar para aprender sobre Striim. De todas formas, en este artículo creará las suyas propias. Seleccione el botón Agregar aplicación en la esquina superior derecha.

    Incorporación de la aplicación Striim

  9. Hay diversas formas de crear aplicaciones Striim. Seleccione Iniciar con una plantilla para empezar con una plantilla existente.

    Inicio de la aplicación con la plantilla

  10. En el campo Buscar plantillas escriba "Cosmos" y seleccione Destino: Azure Cosmos DB y, a continuación, seleccione Oracle CDC a Azure Cosmos DB.

    Selección de Oracle CDC a Azure Cosmos DB

  11. En la página siguiente, dele un nombre a la aplicación. Puede proporcionar un nombre como oraToCosmosDB, después seleccione Guardar.

  12. A continuación, escriba la configuración de origen de la instancia de origen de Oracle. Escriba un valor para el Nombre de origen. El nombre de origen es simplemente una convención de nomenclatura para la aplicación Striim. Puede usar un nombre como src_onPremOracle. Escriba los valores para el resto de los parámetros de origen URL, Nombre de usuario y Contraseña, elija LogMiner como lector para leer los datos de Oracle. Seleccione Next (Siguiente) para continuar.

    Configuración de parámetros de origen

  13. Striim comprobará el entorno y se asegurará de que puede conectarse a la instancia de Oracle de origen, que tiene los privilegios correctos y que CDC se haya configurado correctamente. Una vez que se validan todos los valores seleccione Siguiente.

    Validación de los parámetros de origen

  14. Seleccione las tablas de Oracle Database que desea migrar. Por ejemplo, vamos a elegir la tabla Orders y seleccionar Siguiente.

    Selección de las tablas de origen

  15. Después de seleccionar la tabla de origen, puede realizar operaciones más complicadas, como la asignación y el filtrado. En este caso, solo se creará una réplica de la tabla de origen en Azure Cosmos DB. Seleccione Siguiente para configurar el destino

  16. Ahora, vamos a configurar el destino:

    • Target Name (Nombre de destino): proporcione un nombre descriptivo para el destino.
    • Input From (Origen de la entrada): en la lista desplegable, seleccione el flujo de entrada de la que ha creado en la configuración de origen de Oracle.
    • Collections (Colecciones): especifique las propiedades de configuración de Azure Cosmos DB de destino. La sintaxis de las colecciones es SourceSchema.SourceTable, TargetDatabase.TargetContainer. En este ejemplo, el valor sería "SYSTEM.ORDERS, StriimDemo.Orders".
    • AccessKey: el valor PrimaryKey de la cuenta de Azure Cosmos DB.
    • ServiceEndpoint: el URI de la cuenta de Azure Cosmos DB, que puede encontrarse en la sección Claves de Azure Portal.

    Seleccione Guardar y Siguiente.

    Configuración de los parámetros de destino

  17. A continuación llegará al diseñador de flujos, donde puede arrastrar y colocar conectores listos para usar para crear las aplicaciones de streaming. No realizará ninguna modificación en el flujo en este momento. Continúe e implemente la aplicación seleccionando el botón Implementar aplicación.

    Implementación de la aplicación

  18. En la ventana de implementación, puede especificar si desea ejecutar determinadas partes de su aplicación en partes específicas de su topología de implementación. Puesto que estamos realizando la ejecución en una topología de implementación simple mediante Azure, usaremos la opción predeterminada.

    Uso de la opción predeterminada

  19. Tras la implementación, puede obtener la versión preliminar del flujo para ver todo el flujo de datos. Seleccione el icono de onda y el ojo situado junto al mismo. Seleccione el botón Implementado en la barra de menús superior e Iniciar aplicación.

    Inicio de la aplicación

  20. Mediante el uso de un lector CDC (captura de datos modificados) , Striim recogerá solo los nuevos cambios en la base de datos. Si tiene datos que fluyen a través de sus tablas de origen, los verá. Sin embargo, puesto que esta es una tabla de demostración, el origen no está conectado a ninguna aplicación. Si usa un generador de datos de ejemplo, podrá insertar una cadena de eventos en su instancia de Oracle Database.

  21. Verá cómo fluyen los datos a través de la plataforma Striim. Striim también recoge todos los metadatos asociados a su tabla, lo que resulta útil a la hora de supervisar los datos y garantizar que estos vayan a parar al destino adecuado.

    Configuración de la canalización CDC

  22. Por último, iniciemos sesión en Azure y vayamos a la cuenta de Azure Cosmos DB. Actualice Data Explorer y verá que han llegado esos datos.

    Validación de datos migrados en Azure

Mediante el uso de la solución de Striim en Azure, puede migrar datos continuamente a Azure Cosmos DB desde diversos orígenes como Oracle, Cassandra, MongoDB y algunos más. Para más información, visite el sitio web de Striim, descargue una prueba gratuita de 30 días de Striim y, para ver si hay algún problema al configurar la ruta de migración con Striim, envíe una solicitud de soporte técnico.

Pasos siguientes