Ir al contenido

Mantener otro sistema sincronizado

También en 19 idiomas

English · 日本語 · Português (Brasil) · Français · Deutsch · Italiano · 한국어 · 简体中文 · Português (Portugal) · 繁體中文 · Bahasa Indonesia · Türkçe · Polski · Tiếng Việt · ไทย · Українська · Español (México) · Français (Canada) · Deutsch (Schweiz)

An old timber barn on the far bank of a still farm pond, its reflection exact in the water except at one corner, where a breeze has started to ripple it.
Imagen generada con IA

Módulo 5 de 5 del capítulo Migración y sincronización, capítulo 10 del curso Data Architect. Cada módulo se sostiene por sí solo. Anterior: El fin de semana de corte · Siguiente: el próximo capítulo, Transacciones, concurrencia y confiabilidad

La pregunta que responde este módulo: ¿cómo llevas una copia de los datos de Salesforce a otro sistema, con volumen, y la mantienes al día?

Hasta ahora hemos hablado de meter datos en Salesforce. Los arquitectos de datos también tienen que sacarlos. No para salir de Salesforce: porque los datos viven en Salesforce, y otro sistema necesita una copia. Un almacén de datos como Snowflake para informes y análisis, un archivo o una copia de seguridad, otra organización de Salesforce, o un sandbox con datos realistas para un ensayo. El Número de Ceros también funciona al revés: sacar 500 registros es fácil; sacar 50 millones es arquitectura. Y la copia rara vez es algo de una sola vez. Normalmente el otro sistema la quiere hoy, y otra vez mañana, y cada día a partir de entonces.

Este es el panorama de Steve Trucking después del corte. RouteDesk está retirado. Salesforce es el sistema de registro de cada entrega. Y una flecha lleva el historial de estados fuera de Salesforce, a través de la capa de integración, hasta Snowflake, donde viven los informes a cinco años de la dirección y los analistas.

El espejo que nunca termina El panorama de Steve Trucking después del corte, en los mismos lugares: las personas a la izquierda, Salesforce con Field Service en el centro, la capa de integración a su derecha y los sistemas a su alrededor, con RouteDesk retirado y su historial en Snowflake. Dos flechas están resaltadas en ámbar, el espejo al que se acerca este módulo: los eventos de estado de Salesforce hacia la capa de integración y los eventos de estado de la capa de integración hacia Snowflake. Debajo: después del corte, Salesforce es el sistema de registro; Snowflake mantiene un espejo de su historial de estados, cada día, sin fecha de fin. ARRIBA: IDENTIDAD, APPEXCHANGE, WEB PERSONAS DERECHA: SISTEMAS INTERNOS ABAJO: CANALES DE CLIENTES ABAJO A LA DERECHA: SOCIOS Y PROVEEDORES Coordinadores de despacho 45, en 9 centros de distribución de socios Equipos de entrega ~700 en 330 camiones Atención al cliente y oficina 100: servicio, operaciones, finanzas Usuarios de socios minoristas ~300 en 3 socios Destinatarios ~1 millón al año IdP corporativo SSO solo para el personal de oficina Portal de socios minoristas Página de seguimiento INTEGRACIÓN Snowflake historial de estados, análisis FleetLink el GPS en bruto se queda aquí ERP de finanzas factura a los socios, paga a los equipos Almacenamiento de fotos 4–5 millones al año, fuera del núcleo RouteDesk retirado; su historial en Snowflake Teléfono agentes de atención al cliente Correo electrónico email-to-case Proveedor de SMS y correo electrónico mensaje del día anterior, con un enlace Redrock API REST, webhooks Keystone CSV por SFTP Brightwave EDI a través de una red de terceros Salesforce Field Service, una org en EE. UU. un enlace, sin inicio de sesión solo el personal de oficina llamadas casos que entran manifiestos entrantes estado saliente manifiestos entrantes estado saliente manifiestos entrantes estado saliente upserts, clave del socio eventos de estado eventos de estado solo la última posición recuentos de entregas recuentos de entregas fotos, desde la app de los equipos día anterior, con un enlace Salesforce una comunidad personas identidad, apps, web un sistema interno un canal de clientes la capa de integración parte del sistema que abre la conexión; la etiqueta dice qué se mueve un certificado compartido: confianza, sin llamada directa el espejo al que nos acercamos Después del corte. Salesforce es el sistema de registro; Snowflake mantiene un espejo de su historial de estados, cada día, sin fecha de fin. © 2026 Twinshark LLC · stevetecharc.com
Clic para ampliar

Salesforce guarda los datos. Snowflake guarda un espejo de ellos, cada día.

Salesforce no se va a ninguna parte. Snowflake no lo sustituye; Snowflake necesita una copia de una parte, mantenida sincronizada. Para eso sirve sacar los datos, y son dos problemas seguidos: la primera copia, que puede ser grande, y cada copia después, que tiene que estar al día.

La primera copia es la grande. Cuando Snowflake empieza a reflejar el historial de estados, necesita todo lo que hay hasta ahora, no solo los cambios de hoy. En Steve Trucking eso empieza justo después del corte: el módulo 3 aplazó el historial de estados de las 196.400 órdenes de trabajo migradas de RouteDesk a “una carga de recuperación después de la carga”. Esa carga de recuperación es la primera gran extracción de Salesforce. Y a medida que crece el negocio, cada espejo nuevo, cada almacén de informes nuevo, cada reconstrucción tras un problema empieza con una copia de todo.

Otras razones también te traen aquí: un archivo para los registros que salen del núcleo (capítulo 7), una copia de seguridad desde la que poder restaurar, otra organización de Salesforce que necesita una parte de los datos, un sandbox con datos realistas para un ensayo.

Y no lo exportes todo porque puedas. Ocho años de historial, archivos grandes, registros obsoletos, datos temporales, valores derivados, transacciones archivadas: entiende por qué se extrae cada clase. Cada registro tiene un coste en tiempo, almacenamiento, transformación, traslado, validación, conciliación, seguridad y obligaciones de retención posteriores. “Exporta toda la org” no es automáticamente una arquitectura.

Salesforce te da varias salidas, y encajan con trabajos distintos.

  • Data Export Service. La exportación de datos de Configuración produce un zip de archivos CSV de toda la organización, semanal (ediciones Enterprise, Performance y Unlimited) o mensual (todas las ediciones salvo Database.com), bajo demanda o programado. Puedes ejecutarla manualmente una vez cada 7 días (semanal) o cada 29 días (mensual). Las ediciones Professional y Developer solo tienen la exportación mensual. Los archivos se eliminan 48 horas después de enviarse el correo, sin contar los fines de semana; los campos de fórmula y de resumen acumulado siempre se excluyen; y quien tenga el permiso Weekly Data Export puede ver todos los datos exportados (Export Backup Data from Salesforce (se abre en una pestaña nueva), Salesforce Help, consultado el 2026-10-27). Es una instantánea con forma de copia de seguridad, no una canalización de migración.
  • Data Loader e informes. Data Loader exporta un objeto cada vez a CSV, con Export All para incluir los registros borrados y archivados; la exportación de un informe sirve para una extracción pequeña y con forma. Los dos están bien para miles de filas, no para decenas de millones.
  • Consulta masiva. Para el volumen, el muelle de carga funciona en los dos sentidos: a veces el camión descarga, a veces lo están cargando. Una consulta masiva se ejecuta de forma asíncrona y devuelve sus resultados en archivos. Bulk API 2.0 gestiona los lotes por ti, y en las tablas grandes divide la propia consulta: sus trabajos de consulta “determinan automáticamente la mejor forma de dividir tu trabajo de consulta en bloques más pequeños, lo que ayuda a evitar fallos o tiempos agotados” (Understanding Bulk API 2.0 Query (se abre en una pestaña nueva), consultado el 2026-10-27). En Bulk API (1.0) lo activas tú, con PK chunking. La guía de grandes volúmenes de datos de Salesforce traza la línea: “Cuando uses una consulta que pueda devolver más de un millón de resultados, plantéate usar la capacidad de consulta de Bulk API 2.0” (Extracting Data from the API (se abre en una pestaña nueva), Winter ‘27, consultado el 2026-10-27).
  • Un producto de copia de seguridad para la recuperación, como el propio Backup & Recover de Salesforce, que es un trabajo distinto de la migración: restaurar un momento dado, no mover los datos a un nuevo hogar.

Para un espejo, quiero que la extracción sea repetible, registrada y conciliable, así que normalmente significa una consulta masiva dirigida por un script, no por clics. La carga de recuperación de Steve Trucking es exactamente eso: una consulta masiva de las órdenes de trabajo migradas y su historial de estados, escrita en Snowflake una vez, y conciliada.

Conocimiento para el examen. Conoce las formas en que los datos salen de Salesforce y para qué sirve cada una. Data Export Service es una copia de seguridad programada de toda la organización en CSV (semanal o mensual según la edición; archivos conservados 48 horas; sin campos de fórmula ni de resumen acumulado). Data Loader y los informes sirven para extracciones pequeñas, objeto a objeto o con forma. La consulta de Bulk API gestiona el volumen de forma asíncrona. Un producto de copias de seguridad restaura un momento en el tiempo; no es una herramienta de migración.

Cincuenta millones de registros como una sola consulta gigante puede que nunca terminen. El PK chunking divide la tabla por su clave primaria, el ID de registro: Salesforce añade límites de ID a tu consulta y la ejecuta como una serie de consultas más pequeñas, cada una un lote separado con sus propios resultados. El bloque predeterminado es de 100.000 registros y el máximo de 250.000. Salesforce lo recomienda para tablas de más de unos 10 millones de registros, o cuando una consulta masiva no deja de agotar el tiempo de espera. Ahí es donde yo también lo uso: es especializado, para exportaciones muy grandes. Es un encabezado de Bulk API 1.0, funciona en una lista definida de objetos, y cada bloque cuenta para la asignación diaria de lotes (PK Chunking (se abre en una pestaña nueva), consultado el 2026-10-27). Bulk API 2.0 hace la misma división por ti, pero un ORDER BY o un LIMIT la desactiva en cualquiera de las dos API, y entonces puede que la consulta agote el tiempo de espera.

Steve Trucking llegará ahí. Alrededor de un millón de órdenes de trabajo al año, con un crecimiento del 30 por ciento anual, suman unos 12,8 millones al final del año 6, salvo que el archivado del capítulo 7 mantenga la tabla más pequeña. Work Order está en la lista de objetos admitidos de Salesforce.

PK chunking: una tabla grande, muchas consultas pequeñas A la izquierda, resaltada, una tabla grande: las órdenes de trabajo, unos 12,8 millones en el año 6 si no se archiva nada. A la derecha, bloques por ID de registro, cada uno su propia consulta: el bloque 1, los primeros 250.000 ID de registro; el bloque 2, los 250.000 siguientes; los bloques 3 a 51, un intervalo tras otro; y el bloque 52, los últimos ID de registro. Cada bloque devuelve sus propios resultados. Debajo: en Bulk API 1.0 activas el PK chunking, y cada bloque es un lote que descargas; la consulta de Bulk API 2.0 divide por ti. UNA TABLA GRANDE BLOQUES POR ID: UNA CONSULTA CADA UNO Órdenes de trabajo unos 12,8 millones en el año 6, si no se archiva nada Bloque 1 los primeros 250.000 ID de registro Bloque 2 los 250.000 siguientes Bloques 3 a 51 un intervalo tras otro Bloque 52 los últimos ID de registro sus propios resultados sus propios resultados sus propios resultados sus propios resultados Bulk API 1.0: activas el PK chunking, y cada bloque es un lote que descargas. Consulta de Bulk API 2.0: divide por ti. CÓMO LEERLO la tabla: a partir de 10 millones de filas, Salesforce recomienda dividir © 2026 Twinshark LLC · stevetecharc.com
Clic para ampliar

Doce millones de filas se convierten en unas 52 consultas de 250.000.

La sintaxis está en la documentación. Lo que el arquitecto debería reconocer es el patrón: cuando cambia el Número de Ceros, puede que también tenga que cambiar la estrategia de extracción.

Conocimiento para el examen. Para extracciones muy grandes (la línea de Salesforce es de más de 10 millones de registros), el PK chunking divide una consulta masiva en intervalos de ID de registro, cada uno ejecutado y descargado por separado. Es un encabezado que se fija en Bulk API 1.0; los trabajos de consulta de Bulk API 2.0 dividen automáticamente. ORDER BY y LIMIT lo desactivan.

La primera copia es una instantánea. Cuando termina, el origen ya ha cambiado: los equipos cerraron entregas, los coordinadores cambiaron franjas, los socios revisaron manifiestos. Es normal. La arquitectura tiene que responder: ¿qué cambió después de nuestra base? Ese es el trabajo de una marca de agua: una marca de tiempo, una secuencia, un mecanismo de seguimiento de cambios, un identificador de origen. Conceptualmente dice: esto es lo que copiamos, este es el punto hasta el que estaba al día, estos son los cambios desde entonces. Sin esa frontera, procesar las diferencias es una conjetura. En el lado de Salesforce, la marca de agua suele ser SystemModstamp, que está indexado (capítulo 8): cada ejecución pide lo que cambió desde la marca de agua de la ejecución anterior, y solo avanza la marca de agua cuando la ejecución sale bien.

No olvides las eliminaciones. Un registro eliminado en Salesforce tiene que desaparecer también del espejo, o los informes lo seguirán contando. Una consulta normal no devuelve los registros eliminados; una consulta masiva con la operación queryAll “devuelve los registros que se han eliminado por una fusión o un borrado” (Create a Query Job (se abre en una pestaña nueva), Bulk API 2.0, consultado el 2026-10-27). Pero los registros eliminados permanecen en la Papelera de reciclaje 15 días como máximo, menos si alguien la vacía (Deleting Data (se abre en una pestaña nueva), Best Practices for Deployments with Large Data Volumes, consultado el 2026-10-27), así que un espejo que busca las eliminaciones con menos frecuencia se perderá algunas. Y un borrado definitivo se salta por completo la Papelera de reciclaje, así que planifica también cómo se entera el espejo de esos.

¿Con qué frecuencia? Esa es la pregunta del capítulo 9, y la propia orientación de Salesforce da la línea: las llamadas getUpdated() y getDeleted() de la SOAP API para intervalos de más de 5 minutos, y para cualquier cosa antes, deja que Salesforce envíe el cambio (Preguntar cada minuto). Steve Trucking hace las dos cosas: la carga de recuperación es una consulta masiva, y desde la marca de agua del corte en adelante, Change Data Capture envía cada cambio de estado a través de la capa de integración según ocurre.

Mantener el espejo al día Salesforce a la izquierda, resaltado, el sistema de registro, con las órdenes de trabajo y su estado. Snowflake a la derecha, el espejo: el historial de estados, que nunca se vuelve a escribir en el origen. En medio, cómo se mueve la copia, añadido de uno en uno. Primero, una vez: la primera copia, una consulta masiva de todo lo que hay hasta ahora, que fija la marca de agua, envía todo lo que hay hasta ahora a Snowflake. Luego, según ocurre: cada cambio posterior, mediante Change Data Capture a través de la capa de integración, envía cada cambio. Por último, cada pocos días: las eliminaciones, una comprobación con queryAll muy dentro de los 15 días de la Papelera de reciclaje, le dice a Snowflake qué quitar. Debajo: una copia grande y luego un flujo de copias pequeñas; cada una sabe dónde se detuvo la anterior. EL SISTEMA DE REGISTRO CÓMO SE MUEVE LA COPIA EL ESPEJO Salesforce las órdenes de trabajo y su estado La primera copia una consulta masiva de todo lo que hay hasta ahora; fija la marca de agua Snowflake historial de estados; nunca se vuelve a escribir en el origen una vez todo lo que hay hasta ahora Una copia grande y luego un flujo de copias pequeñas. Cada una sabe dónde se detuvo la anterior. CÓMO LEERLO el sistema de registro: las correcciones se hacen aquí © 2026 Twinshark LLC · stevetecharc.com
Clic para ampliar

Una vez: la primera copia, todo lo que hay hasta ahora. Fija la marca de agua.

Mantener el espejo al día Salesforce a la izquierda, resaltado, el sistema de registro, con las órdenes de trabajo y su estado. Snowflake a la derecha, el espejo: el historial de estados, que nunca se vuelve a escribir en el origen. En medio, cómo se mueve la copia, añadido de uno en uno. Primero, una vez: la primera copia, una consulta masiva de todo lo que hay hasta ahora, que fija la marca de agua, envía todo lo que hay hasta ahora a Snowflake. Luego, según ocurre: cada cambio posterior, mediante Change Data Capture a través de la capa de integración, envía cada cambio. Por último, cada pocos días: las eliminaciones, una comprobación con queryAll muy dentro de los 15 días de la Papelera de reciclaje, le dice a Snowflake qué quitar. Debajo: una copia grande y luego un flujo de copias pequeñas; cada una sabe dónde se detuvo la anterior. EL SISTEMA DE REGISTRO CÓMO SE MUEVE LA COPIA EL ESPEJO Salesforce las órdenes de trabajo y su estado La primera copia una consulta masiva de todo lo que hay hasta ahora; fija la marca de agua Cada cambio posterior Change Data Capture, a través de la capa de integración Snowflake historial de estados; nunca se vuelve a escribir en el origen una vez según ocurre todo lo que hay hasta ahora cada cambio Una copia grande y luego un flujo de copias pequeñas. Cada una sabe dónde se detuvo la anterior. CÓMO LEERLO el sistema de registro: las correcciones se hacen aquí © 2026 Twinshark LLC · stevetecharc.com
Clic para ampliar

Luego, cada cambio posterior a la marca de agua, según ocurre.

Mantener el espejo al día Salesforce a la izquierda, resaltado, el sistema de registro, con las órdenes de trabajo y su estado. Snowflake a la derecha, el espejo: el historial de estados, que nunca se vuelve a escribir en el origen. En medio, cómo se mueve la copia, añadido de uno en uno. Primero, una vez: la primera copia, una consulta masiva de todo lo que hay hasta ahora, que fija la marca de agua, envía todo lo que hay hasta ahora a Snowflake. Luego, según ocurre: cada cambio posterior, mediante Change Data Capture a través de la capa de integración, envía cada cambio. Por último, cada pocos días: las eliminaciones, una comprobación con queryAll muy dentro de los 15 días de la Papelera de reciclaje, le dice a Snowflake qué quitar. Debajo: una copia grande y luego un flujo de copias pequeñas; cada una sabe dónde se detuvo la anterior. EL SISTEMA DE REGISTRO CÓMO SE MUEVE LA COPIA EL ESPEJO Salesforce las órdenes de trabajo y su estado La primera copia una consulta masiva de todo lo que hay hasta ahora; fija la marca de agua Cada cambio posterior Change Data Capture, a través de la capa de integración Las eliminaciones una comprobación con queryAll, muy dentro de los 15 días Snowflake historial de estados; nunca se vuelve a escribir en el origen una vez según ocurre cada pocos días todo lo que hay hasta ahora cada cambio qué quitar Una copia grande y luego un flujo de copias pequeñas. Cada una sabe dónde se detuvo la anterior. CÓMO LEERLO el sistema de registro: las correcciones se hacen aquí © 2026 Twinshark LLC · stevetecharc.com
Clic para ampliar

Y cada pocos días, las eliminaciones. Una copia grande y luego un flujo de copias pequeñas.

Conocimiento para el examen. Para mantener otro sistema al día, extrae solo lo que cambió desde una marca de agua (SystemModstamp está indexado), y usa queryAll para detectar los registros eliminados o fusionados. Los registros eliminados permanecen 15 días en la Papelera de reciclaje, así que ejecuta la comprobación de eliminaciones con más frecuencia. Para los cambios que se necesitan en minutos, usa eventos (Change Data Capture) en lugar del sondeo.

Una copia una vez, o una copia para siempre

Sección titulada «Una copia una vez, o una copia para siempre »

Esta es la distinción que uso: la migración tiene un principio y un final definidos. Pasamos de un estado a otro. Puede empezar con la primera extracción de producción, incluir varias cargas previas, durar una semana, incluir varias cargas delta. Sigue siendo una migración, porque tiene un destino: un punto en el que la migración está completa.

La sincronización es un proceso continuo para mantener coherentes dos sistemas. No hay un “migración completa, apágalo”. Los dos sistemas siguen siendo relevantes, los cambios siguen ocurriendo y tienen que moverse. Ahora volvemos al capítulo 9: ¿qué sistema es dueño del valor, en qué dirección se mueve, qué clave lo identifica, quién empuja y quién garantiza la integridad, cómo se reintentan y se monitorizan los fallos, qué pasa cuando los dos sistemas cambian lo mismo? En cuanto el requisito es “mantener coherentes estos sistemas”, ya no estamos diseñando una migración. Estamos diseñando una integración.

Steve Trucking tuvo una de cada, el mismo fin de semana. RouteDesk hacia Salesforce fue una migración: sus cargas de diferencias cerraron la distancia y luego terminó. Salesforce hacia Snowflake es sincronización: empezó ese fin de semana y nunca termina.

Una copia una vez, o una copia para siempre Dos paneles iguales. Una copia una vez, migración, RouteDesk hacia Salesforce: termina el lunes por la mañana, cuando se retira RouteDesk; se construye con un runbook, cargas de diferencias y un corte; se demuestra con las cuatro pruebas, una vez, antes de dar el paso; cuando falla, se corrige y se vuelve a ejecutar desde el almacén de datos de preparación; su dueño es el equipo de migración, hasta que termina. Una copia para siempre, sincronización, Salesforce hacia Snowflake: nunca termina, mientras los informes la necesiten; se construye con un contrato, una marca de agua y eventos; se demuestra con la prueba de entrega, en cada ejecución; cuando falla, se pone al día desde la última marca de agua buena; su dueño es un responsable de integración, de forma permanente. Debajo: una migración tiene un principio y un final definidos; la sincronización es un proceso continuo para mantener coherentes dos sistemas. Una copia una vez migración: RouteDesk hacia Salesforce TERMINA El lunes por la mañana, cuando se retira RouteDesk SE CONSTRUYE CON Un runbook, cargas de diferencias y un corte SE DEMUESTRA CON Las cuatro pruebas, una vez, antes de dar el paso CUANDO FALLA Corregir y volver a ejecutar desde el almacén de datos de preparación SU DUEÑO El equipo de migración, hasta que termina Una copia para siempre sincronización: Salesforce hacia Snowflake TERMINA Nunca: mientras los informes la necesiten SE CONSTRUYE CON Un contrato, una marca de agua y eventos SE DEMUESTRA CON La prueba de entrega, en cada ejecución CUANDO FALLA Ponerse al día desde la última marca de agua buena SU DUEÑO Un responsable de integración, de forma permanente Una migración tiene un principio y un final definidos. La sincronización es un proceso continuo para mantener coherentes dos sistemas. © 2026 Twinshark LLC · stevetecharc.com
Clic para ampliar

El mismo fin de semana, dos flechas. Una tiene final, así que todo en ella es distinto.

Pero un delta no significa automáticamente sincronización. “Tenemos cargas delta, así que estamos sincronizando”. No necesariamente. Pregunta: ¿tiene el proceso un final definido? “Sí, ejecutamos estos deltas hasta el corte y luego se detiene el proceso heredado” sigue siendo una migración; los deltas nos ayudan a llegar a su estado final. “No, los dos sistemas siguen activos y esto los mantiene coherentes indefinidamente” es una sincronización. La operación puede parecer la misma. La obligación de arquitectura es distinta.

Conocimiento para el examen. Una migración tiene un final definido; la sincronización es continua. Las cargas de diferencias antes de un corte pertenecen a la migración. Mantener después otro sistema sincronizado con Salesforce es sincronización, y necesita un diseño de integración con un dueño claro para cada valor.

Salesforce es dueño del estado de la entrega. Snowflake guarda una copia. Eso tiene que seguir siendo así. Supón que un analista ve un estado erróneo en Snowflake y lo corrige allí. Ahora los dos sistemas no coinciden, y la siguiente sincronización o bien sobrescribe la corrección o, peor, alguien construye un envío para devolverla. Entonces los dos sistemas creen que son dueños de Delivery Status. ¿Gana la última escritura? ¿Gana Salesforce? ¿Revisión humana? Si eso queda sin respuesta, no hemos construido un espejo; hemos creado dos copias editables. La regla del capítulo 9: el permiso técnico no es autoridad de arquitectura. Corrígelo en el origen, y deja que la sincronización lleve la corrección.

Así que escribe el contrato de la flecha, como hace el capítulo 9: quién es dueño de cada valor, hacia dónde se mueve, qué clave lo identifica, con qué frescura debe llegar, qué cuenta como entregado, cómo se reintentan los fallos, cómo se monitoriza, cuál es la marca de agua. No son preguntas del script de extracción; son preguntas del modelo operativo. La primera copia construye el estado inicial. La sincronización lo mantiene coherente.

Demuestra la primera copia, y sigue demostrándolo

Sección titulada «Demuestra la primera copia, y sigue demostrándolo »

Usa las cuatro pruebas del módulo 4 (recuentos, totales, comprobaciones puntuales, informes agregados) en la primera copia. Demuestra la base antes de que la sincronización se convierta en el modelo operativo normal, o la sincronización mantendrá fielmente un mal punto de partida. La integración no repara una mala copia solo porque se ejecute continuamente; puede mantener dos sistemas perfectamente sincronizados en torno a los datos equivocados.

Luego sigue demostrándolo. Un espejo que se detiene en silencio es un problema de calidad de datos con retraso: los informes parecen correctos y poco a poco se quedan desfasados. La prueba de entrega del capítulo 9 se aplica a cada ejecución: el lado que sabe lo que debería llegar comprueba que llegó, con recuentos frente a la ventana de la marca de agua, y se avisa a alguien cuando no es así.

La IA puede ayudar a detectar las desviaciones. Mantén determinista la frontera.

Sección titulada «La IA puede ayudar a detectar las desviaciones. Mantén determinista la frontera. »

La IA puede ayudar a encontrar registros cambiados, diferencias inesperadas entre Salesforce y el espejo, anomalías, conflictos probables y registros que parecen haberse perdido. Útil. Pero “¿está ya este cambio en el espejo?” no debería depender de una suposición de una IA a partir del contexto. Lo deciden las marcas de agua, las claves, las reglas de propiedad y el estado.

Más allá del examen: lo que cambia la IA. La IA puede hacer mucho más rápidas la comparación y la detección de anomalías entre un sistema y su espejo. Mantén determinista la sincronización: las claves, la autoridad y las marcas de agua explícitas deciden qué se mueve y cuándo.

  • Por qué existe cada copia de los datos de Salesforce, qué clases de datos necesita de verdad y qué sistema es dueño de cada valor.
  • Qué mecanismo de exportación encaja con el trabajo y con el Número de Ceros: el Data Export Service, Data Loader o los informes, la consulta masiva o el PK chunking para tablas muy grandes.
  • Qué marca de agua establece la base, cómo se capturan los cambios y las eliminaciones posteriores, y con qué frecuencia (sondeo o eventos).
  • Si un movimiento de datos es una migración con final o una sincronización sin él, y qué contrato de integración mantiene coherente el espejo.
  • Cómo se demuestra la primera copia, y cómo se comprueba cada ejecución posterior.

Sacar los datos no es salir de Salesforce. Es dar a otro sistema lo que necesita: una vez, con volumen, y luego cada día a partir de entonces, al día, completo y nunca como maestro. La primera copia es el gran trabajo; mantenerla al día es el largo. Recuerda la frase de este capítulo: una migración tiene un principio y un final definidos; la sincronización es un proceso continuo para mantener coherentes dos sistemas. La primera copia lleva el espejo hasta ahí. La sincronización lo mantiene ahí.