Hoy anunciamos la disponibilidad, en versión preliminar, de una nueva capacidad en Manguera de datos de Amazon que captura los cambios realizados en bases de datos como PostgreSQL y MySQL y reproduction las actualizaciones en Iceberg apache mesas en Servicio de almacenamiento easy de Amazon (Amazon S3).
Apache Iceberg es un formato de tabla de código abierto de alto rendimiento para realizar análisis de large knowledge. Apache Iceberg aporta la confiabilidad y simplicidad de las tablas SQL a los lagos de datos de S3 y hace posible que los motores de análisis de código abierto como chispa apache, Apache Flink, trino, colmena apachey Apache Impala trabajar simultáneamente con los mismos datos.
Esta nueva capacidad proporciona una solución sencilla de extremo a extremo para transmitir actualizaciones de bases de datos sin afectar el rendimiento de las transacciones de las aplicaciones de bases de datos. Puede configurar una transmisión de Knowledge Firehose en minutos para entregar cambiar la captura de datos (CDC) actualizaciones de su base de datos. Ahora, puede replicar fácilmente datos de diferentes bases de datos en tablas Iceberg en Amazon S3 y utilizar datos actualizados para aplicaciones de análisis y aprendizaje automático (ML) a gran escala.
Típico Servicios internet de Amazon (AWS) Los clientes empresariales utilizan cientos de bases de datos para aplicaciones transaccionales. Para realizar análisis y aprendizaje automático a gran escala sobre los datos más recientes, desean capturar los cambios realizados en las bases de datos, como cuando se insertan, modifican o eliminan registros en una tabla, y entregar las actualizaciones a su almacén de datos o al lago de datos de Amazon S3 en Formatos de tabla de código abierto como Apache Iceberg.
Para ello, muchos clientes desarrollan trabajos de extracción, transformación y carga (ETL) para leer periódicamente desde bases de datos. Sin embargo, los lectores ETL afectan el rendimiento de las transacciones de la base de datos y los trabajos por lotes pueden agregar varias horas de retraso antes de que los datos estén disponibles para el análisis. Para mitigar el impacto en el rendimiento de las transacciones de la base de datos, los clientes quieren tener la capacidad de transmitir los cambios realizados en la base de datos. Esta secuencia se conoce como secuencia de captura de datos modificados (CDC).
Conocí a varios clientes que utilizan sistemas distribuidos de código abierto, como debeciocon conectores a bases de datos populares, una Conexión Apache Kafka cluster y Kafka Join Sink para leer los eventos y entregarlos al destino. La configuración inicial y la prueba de dichos sistemas implican la instalación y configuración de múltiples componentes de código abierto. Podrían pasar días o semanas. Después de la configuración, los ingenieros deben monitorear y administrar los clústeres, y validar y aplicar actualizaciones de código abierto, lo que aumenta la sobrecarga operativa.
Con esta nueva capacidad de transmisión de datos, Amazon Knowledge Firehose agrega la capacidad de adquirir y replicar continuamente transmisiones CDC desde bases de datos a tablas Apache Iceberg en Amazon S3. Usted configura una transmisión de Knowledge Firehose especificando el origen y el destino. Knowledge Firehose captura y reproduction continuamente una instantánea de datos inicial y luego todos los cambios posteriores realizados en las tablas de la base de datos seleccionadas como un flujo de datos. Para adquirir transmisiones CDC, Knowledge Firehose utiliza el registro de replicación de la base de datos, lo que scale back el impacto en el rendimiento de las transacciones de la base de datos. Cuando el volumen de actualizaciones de la base de datos aumenta o disminuye, Knowledge Firehose particiona automáticamente los datos y conserva los registros hasta que se entregan al destino. No es necesario aprovisionar capacidad ni administrar y ajustar los clústeres. Además de los datos en sí, Knowledge Firehose puede crear automáticamente tablas de Apache Iceberg utilizando el mismo esquema que las tablas de la base de datos como parte de la creación inicial del flujo de Knowledge Firehose y evolucionar automáticamente el esquema de destino, como la adición de nuevas columnas, según los cambios en el esquema de origen. .
Dado que Knowledge Firehose es un servicio totalmente administrado, no tiene que depender de componentes de código abierto, aplicar actualizaciones de software program ni incurrir en gastos operativos.
La replicación continua de los cambios de la base de datos en las tablas de Apache Iceberg en Amazon S3 mediante Amazon Knowledge Firehose le proporciona una solución easy, escalable y administrada de extremo a extremo para entregar flujos CDC a su lago de datos o almacén de datos, donde puede ejecutar grandes análisis de escala y aplicaciones de ML.
Veamos cómo configurar una nueva canalización.
Para mostrarle cómo crear una nueva canalización de CDC, configuro una transmisión de Knowledge Firehose usando el Consola de administración de AWS. Como de costumbre, también tengo la opción de usar el Interfaz de línea de comandos de AWS (AWS CLI), SDK de AWS, Formación en la nube de AWSo Terraformar.
Para esta demostración, elijo una base de datos MySQL en Servicio de base de datos relacional de Amazon (Amazon RDS) como fuente. Knowledge Firehose también funciona con bases de datos autoadministradas en Nube de computación elástica de Amazon (Amazon EC2). Para establecer conectividad entre mi nube privada digital (VPC), donde se implementa la base de datos, y la API de RDS sin exponer el tráfico a Web, creo una Enlace privado de AWS Punto closing del servicio VPC. puedes aprender cómo crear un punto closing de servicio VPC para la API de RDS siguiendo las instrucciones del Documentación de Amazon RDS.
También tengo un depósito S3 para albergar la mesa Iceberg y tengo un Gestión de acceso e identidad de AWS (IAM) configuración de roles con los permisos correctos. Puedes consultar la lista de requisitos previos en la documentación de Knowledge Firehose.
Para comenzar, abro la consola y navego hasta la sección Amazon Knowledge Firehose. Puedo ver la transmisión ya creada. Para crear uno nuevo, selecciono Crear flujo de Firehose.
selecciono un Fuente y Destino. En este ejemplo: una base de datos MySQL y tablas Apache Iceberg. También entro un Nombre del arroyo de manguera contra incendios para mi transmisión.
Introduzco el nombre DNS completo de mi Punto closing de la base de datos y el Nombre del servicio del punto closing de la VPC de la base de datos. lo verifico Habilitar SSL se comprueba y, bajo nombre secretoselecciono el nombre del secreto en Administrador de secretos de AWS donde el nombre de usuario y la contraseña de la base de datos se almacenan de forma segura.
A continuación, configuro Knowledge Firehose para capturar datos específicos especificando bases de datos, tablas y columnas usando nombres explícitos o expresiones regulares.
Debo crear una tabla de marcas de agua. Una marca de agua, en este contexto, es un marcador utilizado por Knowledge Firehose para rastrear el progreso de instantáneas incrementales de tablas de bases de datos. Ayuda a Knowledge Firehose a identificar qué partes de la tabla ya se han capturado y qué partes aún deben procesarse. Puedo crear la tabla de marcas de agua manualmente o dejar que Knowledge Firehose la cree automáticamente. En ese caso, las credenciales de la base de datos pasadas a Knowledge Firehose deben tener permisos para crear una tabla en la base de datos de origen.
A continuación, configuro el depósito S3. Región y nombre a utilizar. Knowledge Firehose puede crear automáticamente las tablas Iceberg cuando aún no existen. De manera comparable, puede actualizar el esquema de la tabla Iceberg al detectar un cambio en el esquema de su base de datos.
Como paso closing, es importante habilitar Amazon CloudWatch registro de errores para obtener comentarios sobre el progreso de la transmisión y los posibles errores. Puede configurar un período de retención breve en el grupo de registros de CloudWatch para reducir el costo del almacenamiento de registros.
Después de haber revisado mi configuración, selecciono Crear flujo de Firehose.
Una vez creada la transmisión, comenzará a replicar los datos. Puedo monitorear el estado de la transmisión y verificar posibles errores.
Ahora es el momento de probar la transmisión.
Abro una conexión a la base de datos e inserto una nueva línea en una tabla.
Luego, navego hasta el depósito de S3 configurado como destino y observo que se ha creado un archivo para almacenar los datos de la tabla.
Descargo el archivo e inspecciono su contenido con el parq
comando (puedes instalar ese comando con pip set up parquet-cli
)
Por supuesto, descargar e inspeccionar Parquet archivos es algo que hago sólo para demostraciones. En la vida actual, vas a usar Pegamento AWS y Atenea amazónica para gestionar tu catalogo de datos y correr consultas SQL en tus datos.
Cosas que debes saber
Aquí hay algunas cosas adicionales que debe saber.
Esta nueva capacidad admite bases de datos PostgreSQL y MySQL autoadministradas en Amazon EC2 y las siguientes bases de datos en Amazon RDS:
El equipo continuará agregando soporte para bases de datos adicionales durante el período de versión preliminar y después de la disponibilidad normal. Me dijeron que ya están trabajando para admitir bases de datos SQL Server, Oracle y MongoDB.
Usos de Knowledge Firehose Enlace privado de AWS para conectarse a bases de datos en su Nube privada digital de Amazon (Amazon VPC).
Al configurar un flujo de entrega de Amazon Knowledge Firehose, puede especificar tablas y columnas específicas o utilizar comodines para especificar una clase de tablas y columnas. Cuando usa comodines, si se agregan nuevas tablas y columnas a la base de datos después de crear la secuencia de Knowledge Firehose y si coinciden con el comodín, Knowledge Firehose creará automáticamente esas tablas y columnas en el destino.
Precios y disponibilidad
La nueva capacidad de transmisión de datos está disponible hoy en todas las regiones de AWS excepto en las regiones de China, las regiones de AWS GovCloud (EE. UU.) y las regiones de Asia Pacífico (Malasia). Queremos que evalúe esta nueva capacidad y nos brinde sus comentarios. No hay cargos por su uso al comienzo de la vista previa. En algún momento en el futuro, el precio se fijará según su uso actual, por ejemplo, según la cantidad de bytes leídos y entregados. No hay compromisos ni inversiones iniciales. Asegúrese de leer la página de precios para obtener los detalles.
Ahora ve Configure su primera replicación continua de bases de datos. a las tablas de Apache Iceberg en Amazon S3 y visite http://aws.amazon.com/firehose.