Anuncio de filtrado de datos para la integración zero-ETL de Amazon Aurora MySQL con Amazon Redshift

A medida que las organizaciones se vuelven cada vez más impulsadas por los datos y utilizan estos como fuente de ventaja competitiva, desean llevar a cabo análisis para comprender mejor los impulsores clave de su negocio y así aumentar las ventas, reducir los costos y optimizar sus operaciones. Para realizar análisis de sus datos operativos, pueden crear una solución que combine una base de datos, un almacén de datos y una canalización de extracción, transformación y carga (ETL). ETL es el proceso que los ingenieros de datos utilizan para combinar datos de diversas fuentes.

Con el objetivo de reducir el esfuerzo necesario para crear y mantener canalizaciones ETL entre bases de datos transaccionales y almacenes de datos, AWS ha anunciado la Integración zero-ETL de Amazon Aurora con Amazon Redshift en el evento AWS re:Invent 2022 y ahora está disponible de manera general para la Edición 3.05.0 compatible con Amazon Aurora MySQL.

Ahora, AWS anuncia la capacidad de filtrado de datos en las integraciones zero-ETL, lo que permite seleccionar datos específicos de la instancia de la base de datos en las integraciones zero-ETL entre Amazon Aurora MySQL y Amazon Redshift. Esta característica le brinda la posibilidad de elegir bases de datos y tablas individuales para replicar en su almacén de datos de Redshift para casos de uso de análisis.

En este artículo, ofrecemos una visión general de los casos de uso en los que esta función puede ser útil y proporcionamos una guía paso a paso para comenzar a realizar análisis operativos casi en tiempo real utilizando esta función.

Casos de uso del filtrado de datos

El filtrado de datos le permite seleccionar las bases de datos y tablas que se replicarán desde Amazon Aurora MySQL a Amazon Redshift. Puede aplicar varios filtros a la integración zero-ETL, lo que le permitirá adaptar la replicación a sus necesidades específicas. El filtrado de datos utiliza reglas de filtro de exclusión o inclusión y admite el uso de expresiones regulares para hacer coincidir múltiples bases de datos y tablas.

En esta sección, exploramos algunos casos de uso comunes para el filtrado de datos.

Mejora la seguridad de los datos al excluir tablas que contienen información personal identificable de la replicación

Las bases de datos operativas suelen contener información personal identificable (PII). Esta es información confidencial que puede incluir direcciones postales, documentos de verificación de clientes o detalles de tarjetas de crédito.

Debido a las estrictas normativas de seguridad y cumplimiento, es posible que no desee utilizar datos PII para sus fines de análisis. El filtrado de datos le permite seleccionar bases de datos o tablas que contienen datos PII y excluirlos de la replicación en Amazon Redshift. Esto contribuye a mejorar la seguridad de los datos y cumplir con los requisitos de cumplimiento en cargas de trabajo de análisis.

Ahorro en costos de almacenamiento y gestión de cargas de trabajo de análisis replicando solo las tablas necesarias para casos de uso específicos

En las bases de datos operativas, es común encontrar múltiples conjuntos de datos que no son relevantes para el análisis, como datos redundantes, datos de aplicaciones específicas y copias múltiples del mismo conjunto de datos para diferentes fines.

Además, es habitual crear diferentes almacenes de Redshift para distintos casos de uso, lo que implica contar con conjuntos de datos específicos en cada uno.

El filtrado de datos le permite replicar únicamente los conjuntos de datos necesarios para sus casos de uso, lo que supone un ahorro de costos al eliminar la necesidad de almacenar datos innecesarios.

También es posible ajustar las integraciones zero-ETL existentes para aplicar una replicación más restrictiva cuando sea necesario. Al agregar un filtro de datos a una integración existente, Aurora revisará por completo los datos que se replican con el nuevo filtro, eliminando los datos filtrados recientemente del almacén de datos de Redshift de destino.

Para obtener más información sobre las cuotas relacionadas con las integraciones zero-ETL entre Aurora y Redshift, consulte las cuotas.

Comienza con una replicación gradual de datos e incrementa las tablas de forma progresiva según sea necesario

A medida que los casos de uso de análisis en Amazon Redshift se expanden, es posible que desee agregar más tablas a una replicación zero-ETL individual. En lugar de replicar todas las tablas en Amazon Redshift anticipando futuros usos, el filtrado de datos le permite iniciar con un subconjunto de tablas de su base de datos de Aurora y añadir gradualmente más tablas al filtro según sea necesario.

Una vez que se actualiza un filtro de datos en una integración zero-ETL, Aurora revisará por completo el filtro, eliminando los datos que se filtraron recientemente del almacén de datos de Redshift de destino, sin afectar las cargas de trabajo que utilizan tablas previamente replicadas.

Mejora el rendimiento de las cargas de trabajo al equilibrar la replicación entre diferentes puntos finales de Redshift

Para bases de datos transaccionales extensas, puede ser necesario equilibrar la replicación y el procesamiento posterior en varios clústeres de Redshift para reducir los requisitos computacionales en un punto final de Redshift individual y permitir la distribución de cargas de trabajo en múltiples puntos finales. Al equilibrar las cargas de trabajo entre distintos puntos finales de Redshift, se puede crear una arquitectura de malla de datos eficiente, donde los puntos finales tienen el tamaño adecuado para cada carga de trabajo individual. Esto puede mejorar el rendimiento y reducir los costos globales.

El filtrado de datos le posibilita replicar diversas bases de datos y tablas en distintos puntos finales de Redshift.

La siguiente imagen ilustra cómo los filtros de datos en las integraciones zero-ETL pueden usarse para dividir las bases de datos de Aurora en diferentes puntos finales de Redshift.

Ejemplo de caso de uso

Imaginemos la base de datos TICKET. Esta base de datos de ejemplo contiene información de una empresa ficticia en la que los usuarios pueden comprar y vender entradas para eventos diversos. Los analistas de negocios de la empresa desean aprovechar los datos almacenados en su base de datos de Aurora MySQL para generar diversas métricas y les interesa realizar este análisis casi en tiempo real. Por este motivo, están considerando la opción de utilizar ETL cero.

Al revisar los conjuntos de datos necesarios, los analistas observaron que la tabla de usuarios contiene información personal que no es relevante para sus análisis. Por ello, desean replicar todos los datos con la excepción de los datos de usuarios para evitar incluirlos en su almacén de datos para análisis.

La tabla de usuarios se va a filtrar utilizando el método de ETL cero.

Configuración

Siga los pasos detallados en la Guía de introducción para análisis operativos casi en tiempo real utilizando la integración zero-ETL de Amazon Aurora con Amazon Redshift para crear una nueva base de datos Aurora MySQL, un punto final de Amazon Redshift sin servidor y configurar la integración ETL cero. Luego, abra el editor de consultas Redshift v2 y ejecute la siguiente consulta para verificar la correcta replicación de los datos de la tabla de usuarios:

select * from aurora_zeroetl.demodb.users;

Filtros de datos

Los filtros de datos se aplican directamente a la integración de ETL cero en el Servicio de base de datos relacional de Amazon (Amazon RDS). Es posible definir múltiples filtros para una única integración, donde cada filtro se configura como un tipo Include o Exclude. Estos filtros de datos se basan en patrones que se aplican a tablas de bases de datos existentes y futuras para determinar su aplicación.

Aplicación de un filtro de datos

Para aplicar un filtro que elimine la tabla users de la integración ETL cero, siga estos pasos:

  1. En la consola de Amazon RDS, seleccione Integraciones ETL cero en el panel de navegación.
  2. Seleccione la integración zero-ETL a la que desea agregar un filtro.

El filtro predeterminado incluye todas las bases de datos y tablas mediante la especificación include:*.*.

  1. Haga clic en Modificar.
  2. Elija Añadir filtro en la sección Fuente.
  3. Para el Tipo de filtro, elija Excluir.
  4. En Expresión de filtro, ingrese la expresión demodb.users.

El orden de las expresiones de filtro es significativo, ya que se evalúan de izquierda a derecha y de arriba abajo, donde los filtros posteriores reemplazan a los anteriores. En este caso, Aurora primero incluirá todas las tablas (filtro 1) y después aplicará la exclusión de la tabla demodb.users (filtro 2), anulando así la inclusión inicial.

  1. Haga clic en Continuar.
  2. Revise los cambios para asegurarse de que el orden de los filtros sea correcto y luego seleccione Guardar cambios.

La integración se añadirá y entrará en estado de Modificando mientras se aplican los cambios, lo cual puede tardar hasta 30 minutos. Para verificar la finalización de los cambios, consulte el estado de la integración zero-ETL; cuando aparezca como Activo, los cambios se habrán aplicado correctamente.

Verificación del cambio

Para confirmar que la integración de ETL cero se ha actualizado, proceda de la siguiente manera:

  1. En el editor de consultas Redshift v2, conecte con su clúster de Redshift.
  2. Haga clic derecho en la base de datos aurora-zeroetl que creó y seleccione Actualizar.
  3. Despliegue demodb y Tables.

La tabla users ya no estará disponible debido a que ha sido eliminada de la replicación, mientras que las demás tablas permanecerán disponibles.

  1. Si ejecuta la misma consulta SELECT anterior, recibirá un error indicando que el objeto no existe en la base de datos:
    select * from aurora_zeroetl.demodb.users;

Aplicación de un filtro de datos a través de la AWS CLI

Los analistas de negocios de la empresa han comprendido que se están añadiendo más bases de datos a la base de datos Aurora MySQL y desean garantizar que solo la base de datos demodb se replique en su clúster Redshift. Para lograr esto, desean actualizar los filtros de la integración zero-ETL utilizando la AWS Command Line Interface (AWS CLI).

Para añadir filtros de datos a una integración de ETL cero mediante la CLI de AWS, puede utilizar el comando modify-integration. Además de especificar el identificador de la integración, incluya el parámetro --data-filter con una lista separada por comas

include y exclude filtros.
Complete los siguientes pasos para modificar el filtro en la integración de ETL cero:
  1. Abra una terminal con la AWS CLI instalada.
  2. Ingrese el siguiente comando para enumerar todas las integraciones disponibles:
    aws rds describe-integrations
  3. Busque la integración que desea actualizar y copie el identificador de integración.
El identificador de integración es una cadena alfanumérica al final del ARN de integración.
  1. Ejecute el siguiente comando, actualizando con el identificador copiado del paso anterior:
    aws rds modify-integration --integration-identifier "<integration identifier>" --data-filter 'exclude: *.*, include: demodb.*, exclude: demodb.users'
Cuando Aurora evalúa este filtro, excluirá todo de forma predeterminada y luego solo incluirá el demodb base de datos, pero excluye la demodb.users mesa.
Los filtros de datos pueden implementar expresiones regulares para las bases de datos y las tablas. Por ejemplo, si desea filtrar cualquier tabla que comience con userpuede ejecutar lo siguiente:
aws rds modify-integration --integration-identifier "<integration identifier>" --data-filter 'exclude: *.*, include: demodb.*, exclude *./^user/'

Al igual que con el cambio de filtro anterior, la integración se agregará y estará en un Modificando estado hasta que se hayan aplicado los cambios. Esto puede tardar hasta 30 minutos. Cuando se muestra como Activolos cambios se han aplicado.

Limpiar

Para eliminar el filtro agregado a la integración de ETL cero, complete los siguientes pasos:
  1. En la consola de Amazon RDS, elija Integraciones ETL cero en el panel de navegación.
  2. Elija su integración ETL cero.
  3. Elegir Modificar.
  4. Elegir Eliminar junto a los filtros que deseas eliminar.
  5. También puedes cambiar el Excluir tipo de filtro para Incluir.
Alternativamente, puede utilizar la CLI de AWS para ejecutar lo siguiente:
aws rds modify-integration --integration-identifier "<integration identifier>" --data-filter 'include: *.*'
  1. Elegir Continuar.
  2. Elegir Guardar cambios.
El filtro de datos tardará hasta 30 minutos en aplicar los cambios. Después de eliminar los filtros de datos, Aurora vuelve a evaluar los filtros restantes como si el filtro eliminado nunca hubiera existido. Cualquier dato que anteriormente no coincidía con los criterios de filtrado pero que ahora sí los cumple se replica en el almacén de datos de Redshift de destino.

Conclusión

En esta publicación, le mostramos cómo configurar el filtrado de datos en su integración Aurora zero-ETL desde Amazon Aurora MySQL a Amazon Redshift. Esto le permite habilitar análisis casi en tiempo real de datos operativos y transaccionales mientras replica solo los datos necesarios.
Con el filtrado de datos, puede dividir las cargas de trabajo en puntos finales de Redshift separados, limitar la replicación de conjuntos de datos privados o confidenciales y aumentar el rendimiento de las cargas de trabajo replicando solo los conjuntos de datos necesarios.
Para obtener más información sobre la integración de Aurora zero-ETL con Amazon Redshift, consulte Trabajar con integraciones Aurora zero-ETL con Amazon Redshift y Trabajar con integraciones de ETL cero.

¿Nos apoyarás hoy?

Creemos que todos merecen entender el mundo en el que viven. Este conocimiento ayuda a crear mejores ciudadanos, vecinos, amigos y custodios de nuestro planeta. Producir periodismo explicativo y profundamente investigado requiere recursos. Puedes apoyar esta misión haciendo una donación económica a Gelipsis hoy. ¿Te sumarás a nosotros?

Suscríbete para recibir nuestro boletín:

Recent Articles

Related Stories

DEJA UN COMENTARIO

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí