Amazon Timestream LiveAnalytics for dejará de estar abierto a nuevos clientes a partir del 20 de junio de 2025. Si quieres usar Amazon Timestream LiveAnalytics, regístrate antes de esa fecha. Los clientes actuales pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulta Amazon Timestream LiveAnalytics para ver los cambios de disponibilidad.
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.
Aurora/RDS Postgres como objetivo
En esta sección se explica cómo introducir los datos de series temporales escalonadas de S3 en Amazon RDS/Aurora PostgreSQL. El proceso de ingesta se centrará principalmente en los archivos CSV generados a partir de la herramienta de exportación de Timestream para incorporarlos a Postgres. Recomendamos diseñar el esquema y la tabla de PostgreSQL con las estrategias de indexación adecuadas para las consultas basadas en el tiempo. Utilice cualquier proceso de ETL para transformar las estructuras especializadas de Timestream en tablas relacionales optimizadas para sus requisitos específicos. Al migrar los datos de Timestream a una base de datos relacional, estructure su esquema con una columna de marca de tiempo como índice de tiempo principal, columnas de identificación de medidas derivadas de measure_name de Timestream y columnas de dimensiones a partir de las dimensiones de Timestream y sus medidas reales. Cree índices estratégicos en intervalos de tiempo y combinaciones de dimensiones consultadas con frecuencia para optimizar el rendimiento durante el proceso de transformación y carga de datos. Al migrar datos de series temporales a PostgreSQL, el tamaño adecuado de las instancias es fundamental para mantener el rendimiento de las consultas a escala. Tenga en cuenta el volumen de datos esperado, la complejidad de las consultas y los requisitos de simultaneidad al seleccionar una clase de instancia, prestando especial atención a la asignación de memoria para las cargas de trabajo de agregación de series temporales. Para conjuntos de datos que superen las decenas de millones de filas, aproveche las capacidades de particionamiento nativas de PostgreSQL y las estrategias de indexación avanzadas para optimizar los patrones de acceso a las series temporales.
Recomendamos realizar pruebas funcionales y de rendimiento para elegir la instancia correcta y ajustar la base de datos PostgreSQL para abordar cualquier obstáculo en el rendimiento. Realizar controles rigurosos de la integridad de los datos mediante comparaciones de consultas de muestra entre la base de datos de Timestream de origen y el sistema de destino es fundamental para garantizar el éxito de la migración y mantener la exactitud de las consultas. Al ejecutar consultas idénticas en ambos sistemas y comparar los resultados (incluidos los recuentos de registros, las agregaciones y los valores atípicos), puede identificar cualquier discrepancia que pueda indicar errores de transformación, pérdida de datos o diferencias semánticas en la interpretación de las consultas. Este proceso de verificación valida que sus datos mantienen su valor analítico después de la migración, genera confianza en el nuevo sistema entre las partes interesadas que confían en estos conocimientos, ayuda a identificar cualquier ajuste de consulta necesario para adaptarse a las diferencias de sintaxis o funcionales entre las plataformas y establece una base cuantificable para determinar cuándo la migración se puede considerar completa y exitosa. Sin estas comprobaciones sistemáticas, es posible que no se detecten pequeñas inconsistencias en los datos, lo que podría llevar a decisiones empresariales incorrectas o a socavar la confianza en todo el proyecto de migración.
Ingesta
Recomendamos utilizar AWS Database Migration Service (DMS) con el origen S3 (se admiten CSV y Parquet) con PostgreSQL como destino. Para situaciones en las que el AWS DMS puede no ser adecuado para sus requisitos específicos, ofrecemos una utilidad complementaria basada en Python (herramienta de ingesta de CSV de PostgreSQL) para migrar datos CSV de S3 a PostgreSQL
Descripción general de la herramienta de ingesta de CSV de PostgreSQL
La herramienta de ingesta de CSV de PostgreSQL es una utilidad de alto rendimiento diseñada para cargar archivos CSV de manera eficiente en bases de datos PostgreSQL. Aprovecha los subprocesos múltiples y la agrupación de conexiones para procesar varios archivos en paralelo, lo que reduce significativamente el tiempo de carga de datos. Recomendamos ejecutar este script mediante una instancia. EC2 Considera la posibilidad de usar tipos de instancias optimizados para las operaciones de red, como C5N.
Características principales
-
Procesamiento multiproceso: carga varios archivos CSV simultáneamente.
-
Agrupación de conexiones: administra de manera eficiente las conexiones de bases de datos.
-
Detección automática de columnas: extrae dinámicamente los nombres de las columnas de los encabezados de CSV.
-
Lógica de reintento: gestiona los errores transitorios con un retroceso exponencial.
-
Administración de archivos: mueve los archivos procesados a un directorio designado, de modo que volver a intentarlo se reanuda pero no se reinicia.
-
Registro completo: registros detallados para la supervisión y la solución de problemas.
-
Notificaciones de error: notificaciones de SNS opcionales en caso de errores.
-
Credenciales seguras: recupera las contraseñas de bases de datos de AWS Secrets Manager.
Requisitos previos e instalación
Consulte los requisitos previos y la instalación en el archivo Léame de la herramienta de ingesta de archivos CSV de PostgreSQL
Uso
python copy_postgres.py \ --database 'postgres_testing' \ --table 'demolarge_restored' \ --csv-files-dir '/data/csv_files/*partition*/*.csv' \ --host database-1.cluster-xxxxxxxx.us-east-1.rds.amazonaws.com \ --secret-arn 'arn:aws:secretsmanager:<region>:<account_id>:secret:rds!cluster-xxxxx-xx-xx-xx-xxxxxxxx-xxxxx' \ --sns-topic-arn 'arn:aws:sns:<region>:<account_id>:<topic_name>'
Validación
Puede usar DynamoDB para las filas o los registros exportados generados por la herramienta de exportación de Timestream y compararlos con las filas ingeridas de los registros de automatización de ingestión de PostgreSQL. Puede seleccionar los recuentos en función de las tablas de origen y destino con un tiempo de exportación e importación uniforme. Si los datos se ingieren de forma continua durante el proceso de migración, los recuentos variarán, por lo que se recomienda comparar las filas exportadas y las filas importantes del registro.
Limpieza
-
Cleanup descargó los datos que se crearon como parte de la herramienta Timestream para su exportación. LiveAnalytics
-
Elimine los datos descargados e inicie sesión EC2 para recuperar el espacio.
-
Elimine la tabla de DynamoDB si se utiliza para el registro como parte de la herramienta LiveAnalytics Timestream for Export.