CursosWorkshop IAEmpresasPreciosBlogConfAiBotInicia sesiónSuscríbete
  • Cursos
  • Workshop IA
  • Empresas
  • Precios
  • Blog
  • ConfAiBot
Suscríbete
  • Cursos
  • Empresas
  • Comunidades
  • Blog
  • Tarjeta regalo
  • Soporte
  • Tienda
  • ConfAiBot
  • Contacta
  • Aviso legal
  • Condiciones generales
  • Política de privacidad
  • Política de cookies

Guía paso a paso: Migrar datos entre servicios con alta concurrencia

27 de febrero de 2025 | recursos

Cuando tenemos miles de inserts por segundo, migrar datos entre diferentes servicios se convierte en un reto.

Es un gran reto porque es muy fácil que se nos queden datos por importar o que tengamos inconsistencias en la información.

Para ello, hemos hecho esta pequeña guía para que, en base a una pequeña checklist, puedas asegurarte de que migras todos los datos de forma correcta.

1️⃣ Crear la(s) nueva(s) cola de mensajería y empezar a puiblicarle sus eventos

Empezaremos a publicar todos los eventos que nos hagan falta para tener la proyección de nuestros datos. Por ejemplo, si es una proyección de usuario escucharemos:

  • user_registered
  • user_renamed
  • user_bio_changed

Depende como tengamos montado nuestro sistema, crearemos una o diversas colas para ello.

2️⃣ Crear una réplica de la Base de Datos fuera del balanceador

Con ello conseguimos tener una "foto" de los datos sin afectar al rendimiento del sistema en producción.

3️⃣ Establecer el Momento X™

Desconectamos la réplica en un instante preciso. Este timestamp será crucial, le llamamos el Momento X™. Todos los datos hasta ese momento vendrán de la réplica, todo lo posterior de la cola de eventos.

4️⃣ Importar el histórico de la réplica

Transferimos todos los datos que hay en réplica al nuevo sistema. Si lo tienes, podemos tomarnos nuestro tiempo para ello, ya que los cambios nuevos se están acumulando en la cola.

5️⃣ Consumir la cola de eventos

Una vez completada la importación histórica, podemos empezar a procesar los eventos acumulados, descartando aquellos anteriores al Momento X™ para evitar duplicados. Si se nos olvidó tomar el timestamp para saber ese momento, podemos ver la fecha del último registro que ha entrado en la réplica (tanto por created_at como por updated_at).

Esta técnica nos ha permitido migrar sistemas con millones de registros sin interrupciones de servicio y con total integridad de datos.

Si quieres aprender más sobre cómo hacer migraciones de datos en sistemas con alta concurrencia, te recomendamos el curso de Migración de Datos: De Legacy a Event-Driven Architecture donde exploramos cómo migrar datos entre diversos sistemas de forma segura y eficiente.

Tags

Arquitectura de Software
AnteriorArregla el mayor problema del Domain-Driven Design utilizando Kafka
SiguienteEntrevista Tech&Ladies Barcelona - Women Techmakers 2018 #iwdbcn18

Paga según tus necesidades

lite (sólo mensual)

19 €
al mes
  • Acceso a un subconjunto de cursos para sentar las bases para un código mantenible, escalable y testable
  • Factura de empresa
Popular

standard

24,92 €
Ahorra 121 €
Pago anual de 299 €
al mes
  • Catálogo completo de cursos
  • Recibir ofertas de empleo verificadas por Codely
  • Factura de empresa

premium

41,58 €
Ahorra 89 €
Pago anual de 499 €
al mes
  • Todos los beneficios anteriores
  • Acceso anticipado a nuevos cursos
  • Descuento en workshops

No subiremos el precio mientras mantengas tu suscripción activa