Captura de cambios de datos en Pinterest
Pinterest implementó una solución genérica de Captura de Cambios de Datos (CDC) para abordar las inconsistencias en las soluciones aisladas existentes. Este nuevo sistema utiliza Red Hat Debezium y está diseñado para confiabilidad, escalabilidad y baja latencia. La arquitectura separa el plano de control, que gestiona el estado y la configuración del sistema, del plano de datos, que procesa los cambios y los envía a Kafka. Kafka almacena los datos de CDC, que los usuarios pueden consumir posteriormente. La implementación superó varios desafíos, incluyendo problemas de escalabilidad, tiempos de espera de reequilibrio y tareas duplicadas. Las soluciones involucraron la inicialización, la limitación de velocidad, la ajuste de configuraciones de tiempo de espera y la actualización de Kafka. Las mejoras resultaron en un rendimiento estable del sistema y una reducción significativa del tiempo de recuperación en caso de fallo. Los planes futuros incluyen mejorar la escalabilidad, implementar la recuperación ante desastres utilizando CDC y crear un sistema de ingesta de bases de datos en tiempo casi real. El éxito del proyecto involucró contribuciones de varios equipos de Pinterest. Finalmente, el artículo del blog incluye un aviso sobre marcas registradas.