Replicating Data using Replication Tasks

Objective

After completing this lesson, you will be able to replicar datos mediante tareas de replicación.

Tareas de replicación

Ahora que está familiarizado con el proceso básico de replicación, implementemos la replicación de una manera más sostenible.

La configuración y actualización de la replicación es posible ejecutando sentencias SQL en la consola SQL. Pero este enfoque significa que los objetos que se crean en la base de datos serán propiedad de su ID de usuario y esto puede provocar problemas cuando otros necesiten hacerse cargo de los objetos. Además, el transporte de los objetos de base de datos no es posible.

Se recomienda desarrollar los objetos utilizando archivos de origen y, a continuación, crear/desplegar para generar los artefactos de base de datos en un contenedor HDI.

La tarea de replicación

Esta diapositiva muestra los diferentes pasos al definir una tarea de replicación.

Para gestionar replicaciones, cree un archivo .hdbreptask para definir los metadatos de la replicación. Los metadatos describen:

  • Fuente remota

    Nombre del objeto de origen remoto que se utiliza para acceder a los datos de origen.

  • Objeto fuente remoto

    Nombre de la tabla, vista o fichero al que desea acceder.

  • Tabla de destino

    Nombre de la tabla en la que se almacenarán los datos replicados

  • Comportamiento de replicación

    Puede optar por replicar todos los datos solo una vez. Por lo general, esto se conoce como carga inicial. Esto es útil si desea una instantánea de sus datos. También puede seleccionar la replicación en tiempo real sin carga inicial si solo necesita datos futuros. A continuación, también podría querer replicar las modificaciones en la estructura de la tabla.

Las opciones disponibles son las siguientes:

  • Sin transferencia de datos

    Si solo desea una copia de la estructura de datos fuente, pero sin los datos fuente. Esto equivale a una sentencia CREATE TABLE <...(new table)> like <...(existing table)>.

  • Solo carga inicial

    Si solo desea una copia de los datos actuales, pero no la replicación de datos futuros. Esto se denomina instantánea.

  • Inicial + tiempo real

    Lo más probable es que desee datos actuales y cambios futuros.

  • Inicial + en tiempo real con estructura

    Lo mismo que la opción anterior, pero también replicará las modificaciones en la estructura de la tabla de origen. Solo funciona para tablas.

  • Tiempo real

    Solo podría necesitar datos futuros, pero no datos actuales.

  • En tiempo real solo con estructura

    Igual que la opción anterior, pero con replicación de la estructura de tabla.

Una vez creada/implementada, la tarea de replicación genera los diferentes objetos necesarios en la base de datos de SAP HANA. Esto incluye:

  • Una tabla virtual
  • Una tabla de destino
  • Un procedimiento de inicio (.START_REPLICATION) para configurar la replicación
  • Un segundo procedimiento (.RS_SP) para ejecutar comandos de suscripción individuales

Debe llamar el procedimiento de inicio principal para crear la suscripción remota, desencadenadores, etc. La tarea de replicación solo ejecuta una carga inicial.

El segundo procedimiento se puede llamar para mantenimiento o para ejecutar comandos individuales como Restablecer, Soltar o cualquier otro paso de suscripción.

Configuración del proyecto

Si su destino es una base de datos local de SAP HANA, utilice el Web IDE para SAP HANA.

Si su destino es una base de datos de SAP HANA Cloud, utilice SAP Business Application Studio.

Para ambas herramientas, primero debe configurar un proyecto y un módulo HDB para gestionar sus objetos de desarrollo.

Para acceder a las fuentes remotas, se necesitan los siguientes pasos:

  • Cree y luego añada un servicio proporcionado por el usuario (UPS) como recurso en su archivo mta.yaml.
  • Añada privilegios en un archivo .hdbsubvenciones.

Puede crear el servicio proporcionado por el usuario directamente en SAP Business Application Studio como se muestra en la siguiente captura de pantalla:

Esta diapositiva muestra cómo crear un servicio proporcionado por el usuario en Business Application Studio.

Nota

El nombre de esquema se introduce automáticamente a medida que introduce el nombre de usuario. Pero puede cambiarlo por otro esquema o incluso no especificar ningún esquema.

Si su destino es una base de datos local, puede crear el servicio proporcionado por el usuario en el cockpit XSA:

Esta diapositiva muestra cómo crear un servicio proporcionado por el usuario en XSA Cockpit.

Nota

Tenga cuidado de añadir la etiqueta "hana" si la plantilla no la proporciona.

La plantilla no proporciona ningún parámetro de esquema, pero también puede especificar un nombre de esquema específico.

El archivo .hdbsubvenciones debe incluir las autorizaciones necesarias tanto para el propietario del objeto como para el usuario de la aplicación, como se muestra en el siguiente ejemplo:

Esta diapositiva muestra el contenido del archivo .hdbsubvenciones.

Inicie el siguiente vídeo para aprender a configurar el proyecto en Business Application Studio:

Inicie el siguiente vídeo para aprender a configurar el proyecto en SAP Web IDE, si su destino es una base de datos local:

Creación de tarea de replicación

Una vez que su proyecto esté configurado correctamente, puede crear la tarea de replicación con el editor basado en formularios:

Esta diapositiva muestra el editor de tareas de replicación.

Los pasos son los siguientes:

  • Conectarse a la fuente remota
  • Seleccione el objeto fuente deseado
  • Elegir propiedad de comportamiento de replicación
  • Crear/Desplegar
  • En el Explorador de base de datos, ejecute el procedimiento de inicio generado.
  • Modificar los datos de origen
  • Verificar la tabla de destino

Inicie el siguiente vídeo para aprender a crear una tarea de replicación: