💡 Introducción

En el ecosistema empresarial moderno, los datos son el activo más valioso, pero también pueden convertirse en un desafío de gestión crítico. A medida que las organizaciones adoptan Microsoft Dataverse como su motor transaccional principal para Dynamics 365 y Power Apps, el volumen de datos crece exponencialmente. Este crecimiento desmedido no solo impacta en los costos de almacenamiento relacional, sino que también dificulta el cumplimiento de regulaciones estrictas como el RGPD o HIPAA.

📋 ¿Por qué implementar la retención de datos en Dataverse?

La retención de datos nativa en Dataverse aborda tres pilares fundamentales para cualquier arquitectura empresarial:

  • Optimización de Costos: El almacenamiento de bases de datos relacionales en Dataverse es premium. Al mover datos históricos al almacenamiento de retención, liberamos espacio activo y reducimos drásticamente los costos de licenciamiento de almacenamiento de archivos y bases de datos.
  • Rendimiento del Sistema: Las tablas con millones de registros activos ralentizan las vistas, las búsquedas y la ejecución de plugins. Al archivar los datos que ya no se usan en el día a día, el rendimiento general de las aplicaciones mejora de forma sustancial.
  • Cumplimiento Legal (Gobernanza): Muchas industrias exigen que los registros financieros, de salud o de auditoría se conserven durante 7 o 10 años, pero prohíben que estén accesibles para la modificación rutinaria. Las políticas de Dataverse aseguran que estos datos queden en un estado de solo lectura inmutable y altamente seguro.

Comparativa de Almacenamiento: Activo vs. Retenido

Para entender mejor el beneficio financiero y operativo, analicemos la siguiente tabla comparativa:

CaracterísticaAlmacenamiento Activo (Dataverse DB)Almacenamiento de Retención a Largo Plazo
Estado del DatoLectura y Escritura (Transaccional)Solo Lectura (Inmutable)
Costo EstimadoPremium (Alto)Económico (Bajo costo por GB)
Impacto en Consultas DiariasAlto (Afecta índices y vistas activas)Nulo (Consultas mediante FetchXML/Synapse dedicados)
Modificación de EsquemaFlexible (Se pueden añadir campos dinámicamente)Sincronizado (Los cambios de esquema se replican en el archivo)
Acceso de UsuariosDirecto desde Formularios, Vistas y APIs estándarVistas avanzadas, consultas dedicadas o a través de Power BI

⚙️ Cómo Funciona el Motor de Retención de Dataverse

El proceso de retención nativo es asíncrono y se ejecuta en segundo plano durante las horas de menor actividad del sistema. Utiliza las siguientes fases:

  1. Definición del Criterio: El administrador selecciona una tabla raíz (por ejemplo, Casos o Correos Electrónicos) y define una vista o consulta FetchXML que determina qué registros cumplen las condiciones para ser archivados (por ejemplo, statuscode = ‘Resuelto’ y modifiedon < hace 3 años).
  2. Programación: Se establece la frecuencia con la que se ejecutará la política (semanal, mensual, anual).
  3. Procesamiento Asíncrono: Dataverse identifica los registros que cumplen las condiciones, copia los datos al almacenamiento de retención seguro y los elimina de forma segura de las tablas transaccionales activas para liberar espacio.

✍️ Ejercicio Práctico: Configurar una Política de Retención para Correos Electrónicos Antiguos

En este ejercicio configuraremos una política para archivar todos los correos electrónicos (tabla Email) que tengan más de 2 años de antigüedad y estén en estado enviado o recibido, liberando espacio crucial de la base de datos.

Paso 1: Acceder al Centro de Administración de Power Apps

Inicia sesión en el portal de creadores de Power Apps y asegúrate de estar en el entorno correcto:

  • Ve a make.powerapps.com.
  • Selecciona tu entorno de desarrollo o pruebas en la esquina superior derecha.

Paso 2: Localizar la Tabla y Configurar la Retención

  • En el menú de navegación de la izquierda, haz clic en Tablas (Tables).
  • Busca la tabla de sistema Correo Electrónico (Email) y selecciónala.
  • En la barra de herramientas superior, haz clic en la sección de Propiedades o busca la opción de Retención de Datos (Data Retention).

Paso 3: Definir la Política

Configura los parámetros del formulario de retención:

  • Nombre de la política: Archivo_Correos_Antiguos_2_Anos
  • Criterio de Selección (Vista/FetchXML): Elige crear una nueva consulta. El FetchXML lógico a utilizar filtrará los correos donde la fecha de envío o recepción sea anterior a los últimos 730 días (2 años):

<fetch version="1.0" output-format="xml-platform" mapping="logical">
  <entity name="email">
    <attribute name="activityid" />
    <filter type="and">
      <condition attribute="actualend" operator="older-than-x-years" value="2" />
      <condition attribute="statecode" operator="in">
        <value>1</value> <!-- Completado -->
        <value>2</value> <!-- Cancelado -->
      </condition>
    </filter>
  </entity>
</fetch>


Paso 4: Programación y Activación

  • Selecciona la frecuencia de ejecución (recomendado: Mensual).
  • Define la fecha y hora de inicio de la primera ejecución (se recomienda programarlo para el fin de semana por la noche).
  • Haz clic en Guardar y activar.

Paso 5: Validación

Una vez completada la primera ejecución programada, puedes comprobar el estado de la retención accediendo al menú de Configuración avanzada, pestaña de Retención de datos, donde podrás ver cuántos registros fueron movidos exitosamente y el ahorro de almacenamiento estimado.


📚 Fuentes Consultadas

Deja un comentario

¡Gracias por tu mensaje!

Me pondré en contacto tan rápido como pueda.

Descubre más desde Power Platform En Español

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo