Traducido con IA. Aún no revisado por la comunidad. Leer en inglés

Blog · 8 de septiembre de 2023 · Steve Simpson · Arquitectura de datos

El modelado de datos de Steve: domina las estrategias de control de versiones

Introducción:

En esta entrada exploraremos dos enfoques distintos para gestionar las versiones de los registros en el modelado de datos, con ideas y estrategias para gestionar con eficiencia varias versiones de registros y sus registros secundarios.

Estas estrategias son esenciales para quienes diseñan modelos de objetos en los que el control de versiones es crucial.

Entender los enfoques de versionado de registros

Hay dos enfoques principales para gestionar el versionado de registros:

  1. Enfoque de registros pares
  2. Enfoque de versiones secundarias

Profundicemos en cada enfoque para entender su implementación, sus ventajas y sus desventajas.

Enfoque de registros pares

En el enfoque de registros pares, cada versión de un registro se crea como un registro separado y del mismo nivel bajo un objeto de nivel superior. Es un método sencillo, y la forma en que Salesforce implementa los presupuestos bajo las oportunidades es un ejemplo.

Opción 1, registros pares: cada versión es un presupuesto separado bajo la oportunidad. Ventaja: un modelo sencillo. Desventajas: todas las versiones aparecen en las vistas de lista y los informes, los registros no están claramente vinculados y puede haber más de uno activo o en borrador a la vez

Implementación:

Cada versión es un registro separado bajo un objeto de nivel superior.

Puedes marcar uno de los registros como principal, pero todas las versiones se ven en las vistas de lista, las listas relacionadas y los informes.

Ventajas:

Desventajas:

Sin un control adecuado, puede haber varios registros principales o en curso.

Enfoque de versiones secundarias

El enfoque de versiones secundarias consiste en crear dos niveles de objetos: un objeto principal de nivel superior y un objeto secundario para cada versión. Este enfoque permite un sistema limpio de versionado y registro de cambios.

Opción 2, versiones secundarias: un principal Configuration con secundarios Configuration Version y sus propios objetos secundarios. Ventajas: versionado e historial de cambios claros, una sola versión activa, las versiones archivadas no se pueden modificar. Desventajas: un modelo más complejo, y hay que hacer cumplir las reglas de estado

Implementación:

  1. Un objeto de nivel superior representa la configuración, y los objetos secundarios representan cada versión.
  2. Cada versión secundaria se numera automáticamente y tiene un estado (por ejemplo, archivada, activa, pendiente).
  3. La versión activa está bloqueada y se usa en producción, mientras que una versión en borrador se puede editar.
  4. Al activar un borrador, pasa a ser la versión activa, y la versión activa anterior se archiva.

Ventajas:

Desventajas:

Un ejemplo de implementación en Salesforce

Captura de pantalla: la página de detalle de un flujo de Salesforce con la lista de versiones del flujo, una de ellas activa

Salesforce aplica un enfoque parecido con los flujos. Hay un objeto de flujo de nivel superior con versiones de flujo secundarias. Cada versión se numera automáticamente, lo que deja un historial detallado de cada flujo, con sus fechas de creación y activación.

Esta implementación garantiza que solo haya un flujo activo a la vez, con un mecanismo de control de versiones confiable y eficiente.

Sección 5: conclusión

Entender y elegir el enfoque adecuado de versionado de registros es clave en el modelado de datos. El enfoque de registros pares es sencillo, pero el de versiones secundarias ofrece más control y una pista de auditoría eficiente. Estudiando la implementación de Salesforce y teniendo en cuenta tus propios retos de modelado, puedes elegir el enfoque que mejor se adapte a tus necesidades.

¡No te lo pierdas!

Para más ideas y consejos, sigue atento aquí en www.SteveTechArc.com y en el canal de YouTube @SteveTechArc (opens in a new tab). ¡Suscríbete y haz brillar tu modelado de datos con nosotros!

¡Ayudando a cambiar el mundo compartiendo buenas ideas con otros arquitectos y con quienes están en camino de serlo!

Transcripción hecha con ayuda de IA

STA 2.1