Este tema describe la latencia y la consistencia de los datos en Apache Paimon (Paimon).
Archivos de instantánea
Los archivos de instantánea proporcionan acceso a los datos de una tabla de Paimon. Un archivo de instantánea captura los datos de una tabla de Paimon en un momento específico. Utilice los archivos de instantánea generados en distintos momentos para cambiar el desplazamiento del consumidor en modo streaming e implementar la función de viaje en el tiempo en modo por lotes.
Para obtener información sobre cómo consultar los archivos de instantánea de una tabla de Paimon y su hora de creación, consulte Snapshots table.
Los archivos de instantánea se utilizan para consumir datos de las tablas de Paimon. De forma predeterminada, un archivo de instantánea se conserva durante una hora antes de eliminarse. Si el período de retención es demasiado corto o la velocidad de consumo es baja, es posible que se elimine un archivo de instantánea mientras aún está in use, lo que provoca un error. Para resolver este problema, puede change the retention period of snapshot files, specify a consumer ID o optimize the performance of Paimon tables.
Latencia
Cuando se escriben datos en una tabla de Paimon, el escritor almacena los datos en caché en la memoria y en archivos temporales. Después de que el despliegue de Flink activa un checkpoint, el escritor confirma los datos para generar un archivo de instantánea. En modo streaming, un consumidor posterior escucha la lista de archivos de instantánea y lee los datos únicamente del archivo de instantánea más reciente detectado.
La latencia de datos es el retraso entre la escritura y el consumo de datos. Esta latencia varía según la frecuencia con la que se generan los archivos de instantánea. Si no hay contrapresión en el despliegue de Flink, los archivos de instantánea se generan en cada checkpoint. Por lo tanto, la latencia de datos de una tabla de Paimon equivale al intervalo de checkpoint. Tenga en cuenta que si el intervalo de checkpoint es excesivamente pequeño, el rendimiento del despliegue de Flink podría verse afectado. Se recomienda establecer el intervalo de checkpoint en un valor entre 1 y 10 minutos. Aumente el intervalo dentro de este rango para mejorar la eficiencia de lectura y escritura según sus requisitos empresariales.
Consistencia
Paimon utiliza un protocolo de confirmación en dos fases para confirmar los datos de manera atómica. Si utiliza dos despliegues de Flink para escribir datos simultáneamente en una tabla de Paimon, tenga en cuenta los siguientes puntos:
Se recomienda no modificar el mismo bucket. Esto permite confirmaciones simultáneas en ambos despliegues y garantiza la consistencia secuencial.
Si modifica el mismo bucket, Paimon activa un failover para resolver conflictos de datos y garantiza únicamente el aislamiento de instantáneas. Esto asegura que no se pierdan cambios en los datos, pero el estado final de la tabla de Paimon podría contener confirmaciones de ambos despliegues.