Transmisión de datos de revistas desde Amazon QLDB - Base de datos Amazon Quantum Ledger (AmazonQLDB)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Transmisión de datos de revistas desde Amazon QLDB

importante

Aviso de fin del soporte: los clientes actuales podrán utilizar Amazon QLDB hasta que finalice el soporte, el 31 de julio de 2025. Para obtener más información, consulte Migración de un Amazon QLDB Ledger a Amazon Aurora SQL Postgre.

Amazon QLDB utiliza un registro transaccional inmutable, conocido como diario, para almacenar los datos. El diario realiza un seguimiento de cada cambio en los datos confirmados y mantiene un historial de cambios completo y que se pueda verificar con el paso del tiempo.

Puede crear una transmisión QLDB que capture todas las revisiones de documentos que estén comprometidas con su diario y entregue estos datos a Amazon Kinesis Data Streams prácticamente en tiempo real. Una QLDB transmisión es un flujo continuo de datos desde el diario de su libro mayor a un recurso de transmisión de datos de Kinesis.

A continuación, puede utilizar la plataforma de transmisión de Kinesis Client Library para consumir su secuencia, procesar los registros de datos y analizar el contenido de los datos. Una QLDB transmisión escribe los datos en Kinesis Data Streams en tres tipos de registros: control, resumen de bloques y detalles de revisión. Para obtener más información, consulte QLDBreproducir registros en Kinesis.

Casos de uso comunes

La transmisión le permite utilizarlos QLDB como una única fuente de datos verificable y, al mismo tiempo, integrar los datos de su revista con otros servicios. Los siguientes son algunos de los casos de uso más comunes que admiten los flujos de QLDB revistas:

  • Arquitectura basada en eventos: cree aplicaciones en un estilo arquitectónico basado en eventos con componentes disociados. Por ejemplo, un banco puede usar AWS Lambda funciones para implementar un sistema de notificaciones que avise a los clientes cuando el saldo de su cuenta caiga por debajo de un umbral. En un sistema de este tipo, los saldos de las cuentas se mantienen en un QLDB libro mayor y cualquier cambio de saldo se registra en el diario. La AWS Lambda función puede activar la lógica de notificaciones al consumir un evento de actualización de saldo que se registra en el diario y se envía a una transmisión de datos de Kinesis.

  • Análisis en tiempo real: cree aplicaciones de Kinesis para consumidores que ejecuten análisis en tiempo real de los datos de eventos. Con esta capacidad, puede obtener información prácticamente en tiempo real y responder rápidamente a un entorno empresarial cambiante. Por ejemplo, un sitio web de comercio electrónico puede analizar los datos de ventas de un producto y detener la publicidad de un producto con descuento tan pronto como las ventas alcancen un límite.

  • Análisis histórico: aproveche la arquitectura orientada a los diarios de Amazon reproduciendo datos QLDB de eventos históricos. Puede elegir iniciar una QLDB transmisión en cualquier momento del pasado, en la que todas las revisiones realizadas desde ese momento se envíen a Kinesis Data Streams. Con esta característica, puede crear aplicaciones de Kinesis para consumidores que ejecuten trabajos de análisis con datos históricos. Por ejemplo, un sitio web de comercio electrónico puede ejecutar análisis según sea necesario para generar métricas de ventas pasadas que no se recopilaron anteriormente.

  • Replicación en bases de datos diseñadas específicamente: Conecte los libros de QLDB contabilidad a otros almacenes de datos diseñados específicamente mediante flujos de diarios. QLDB Por ejemplo, utilice la plataforma de datos de streaming Kinesis para integrarla con Amazon OpenSearch Service, que puede proporcionar funciones de búsqueda de texto completo para QLDB documentos. También puede crear aplicaciones Kinesis personalizadas para consumidores a fin de replicar los datos de su diario en otras bases de datos personalizadas que ofrecen diferentes vistas materializadas. Por ejemplo, replique en Amazon Aurora para datos relacionales o en Amazon Neptune para datos basados en gráficos.

Consumir la secuencia

Puede utilizar Kinesis Data Streams para consumir, procesar y analizar continuamente grandes secuencias de registros de datos. Además de Kinesis Data Streams, la plataforma de transmisión de datos Kinesis incluye Amazon Data Firehose y Amazon Managed Service para Apache Flink. Puede utilizar esta plataforma para enviar registros de datos directamente a servicios como Amazon OpenSearch Service, Amazon Redshift, Amazon S3 o Splunk. Para obtener más información, consulte Kinesis Data Streams para consumidores en la Guía para desarrolladores de Amazon Kinesis Data Streams.

También puede usar la biblioteca de clientes de Kinesis (KCL) para crear una aplicación de streaming para consumidores que procese los registros de datos de forma personalizada. Esto KCL simplifica la codificación al proporcionar abstracciones útiles por encima de las de Kinesis Data Streams de bajo nivel. API Para obtener más informaciónKCL, consulte Uso de la biblioteca de clientes de Kinesis en la Guía para desarrolladores de Amazon Kinesis Data Streams.

Garantía de entrega

QLDBLas transmisiones ofrecen una garantía de at-least-onceentrega. Cada registro de datos generado por una QLDB transmisión se entrega a Kinesis Data Streams al menos una vez. Los mismos registros pueden aparecer en un flujo de datos de Kinesis varias veces. Por lo tanto, debe tener una lógica de duplicación en la capa de aplicaciones de consumo si su caso de uso lo requiere.

Tampoco hay garantías de pedido. En algunas circunstancias, QLDB los bloques y las revisiones se pueden producir en un flujo de datos de Kinesis fuera de orden. Para obtener más información, consulte Manejo de registros y out-of-order duplicados.

Consideraciones sobre la latencia de entrega

QLDBLas transmisiones suelen ofrecer actualizaciones a Kinesis Data Streams prácticamente en tiempo real. Sin embargo, los siguientes escenarios pueden crear una latencia adicional antes de que QLDB los datos recién confirmados se emitan a una transmisión de datos de Kinesis:

  • Kinesis puede limitar los datos desde los que se transmitenQLDB, en función del aprovisionamiento de Kinesis Data Streams. Por ejemplo, esto puede ocurrir si tiene varias QLDB transmisiones que escriben en una sola transmisión de datos de Kinesis y la tasa de solicitudes QLDB supera la capacidad del recurso de transmisión de Kinesis. La limitación en Kinesis también puede producirse cuando se utiliza el aprovisionamiento bajo demanda si el rendimiento aumenta a más del doble del pico anterior en menos de 15 minutos.

    Puede medir este rendimiento superado supervisando la métrica WriteProvisionedThroughputExceeded de Kinesis. Para obtener más información y posibles soluciones, consulte ¿Cómo se solucionan los errores de limitación en Kinesis Data Streams?

  • Con QLDB las transmisiones, puede crear una transmisión indefinida con una fecha y hora de inicio pasadas y sin fecha ni hora de finalización. Por diseño, QLDB comienza a emitir los datos recién confirmados a Kinesis Data Streams solo después de que todos los datos anteriores de la fecha y hora de inicio especificadas se hayan entregado correctamente. Si percibe una latencia adicional en este escenario, puede que tenga que esperar a que se entreguen los datos anteriores o puede iniciar el flujo a partir de una fecha y hora de inicio posteriores.

Introducción a los flujos

A continuación, se ofrece una descripción general de alto nivel de los pasos necesarios para empezar a transmitir los datos del diario a Kinesis Data Streams:

  1. Creación de un recurso de Kinesis Data Streams. Para obtener instrucciones, consulte Creación y actualización de flujos de datos en la Guía para desarrolladores de Amazon Kinesis Data Streams.

  2. Cree un IAM rol que permita QLDB asumir permisos de escritura para la transmisión de datos de Kinesis. Para ver instrucciones, consulte Transmita los permisos en QLDB.

  3. Cree un flujo de QLDB diario. Para ver instrucciones, consulte Creación y administración de transmisiones en QLDB.

  4. Consuma el flujo de datos de Kinesis, tal y como se describe en la sección Consumir la secuenciaanterior. Para ver ejemplos de código que muestran cómo utilizar la biblioteca de clientes de Kinesis o AWS Lambda, consulte. Desarrollando con transmisiones en QLDB