Sincronización de caché en Project Server (traducción automática)

Importante

Este artículo se ha traducido con traducción automática; vea la declinación de responsabilidades. Para su referencia, puede encontrar la versión en inglés de este artículo aquí.

Microsoft Office Project Server 2007 y Microsoft Project Server 2010 administran internamente la sincronización de caché mediante un seguimiento de las revisiones en las entidades principales, como proyectos, y el mantenimiento de registros de la eliminación de entidades. Aunque las bases de datos de borrador, publicación y archivo en Project Server no están documentadas y no se admite el acceso directo a dichas bases de datos, tener una idea general sobre la sincronización de caché en Project Server puede ser útil para ayudar en los problemas de optimización de rendimiento. (Este artículo fue escrito por Patrick Conlan, Microsoft Corporation).

Advertencia

La información de este artículo sólo se aplica a las versiones especificadas de Project Server. Los esquemas de base de datos y algoritmos para calcular los valores de campo están sujetos a cambios sin previo aviso.

En este artículo se incluyen las siguientes secciones:

  • Descripción de las cachés de servidor del proyecto y sincronización

  • Seguimiento de las versiones de nivel de proyecto

  • Eliminaciones con tablas de la sombra de control

Descripción de las cachés de servidor del proyecto y sincronización

En Office Project Server 2007, el equipo del proyecto realiza una serie de cambios que se han diseñado para mejorar la escalabilidad y confiabilidad de Project Server, especialmente cuando está en condiciones de carga de uso. Uno de los cambios más importantes que hicimos fue la introducción de varias cachés, específicamente:

  • El componente de Memoria caché activa del cliente, que crea los archivos de .mpc que los usuarios de Project Professional pueden ver en sus equipos cliente, le permite trabajar en proyectos sin conexión.

  • Esquemas de servidor SQL incluyen Published, Statusing y Reporting. Los esquemas SQL pueden almacenar un plan de proyecto del registro, habilitar los informes de estado simultáneo y ayuda para hacer que la creación de informes de servidor.

  • El esquema SQL Archive en el servidor almacena en caché los datos más antiguos y permite un restore rápido administrativa desde la base de datos de archiving.

La ubicación de la copia maestra de datos varía en función del contenido. Los proyectos utilizan la base de datos de borrador; más de otras entidades de Project Server utilizan la base de datos publicados para almacenar datos. Las cachés están sincronizadas durante las operaciones de movimiento de datos como los siguientes:

  • Al abrir un proyecto desde Project Server, con Project Professional.

  • Publicación de un proyecto. Datos se copian desde la base de datos de borrador en la base de datos publicados.

  • Automáticamente a publicar en la base de datos de informes, que Project Server controla al publicar un proyecto.

  • Muchos de los metadatos de las operaciones Mover datos entre bases de datos y dentro de una base de datos.

Utilizamos una asignación de versiones bastante complicado para averiguar qué datos necesitan moverse como parte de la sincronización.

En función del número de jefes de proyecto que utiliza Project Professional dentro de una organización, puede haber cientos o incluso miles de cachés. Hay una memoria caché en cada escritorio Project Professional, además de las cachés en las bases de datos de Microsoft SQL Server. Según, por ejemplo, al se sincronizaron por última vez, las memorias caché puede contener diferentes versiones de las entidades del proyecto.

Cada entidad tiene una tabla principal que controla el número de versión de la entidad. Por ejemplo, la tabla principal para proyectos es MSP_Projects. Cuando se crea una entidad y cada vez que se guarda la entidad, Project Server utiliza la versión de la entidad para agregar los cambios de la sesión de edición.

Seguimiento de las versiones de nivel de proyecto

El siguiente fragmento de esquema de la tabla MSP_Projects muestra los campos que se utilizan para controlar los cambios en el nivel de proyecto.

[REV_NEXT_SEED], 
[REV_RANK], 
[PROJ_CURRENT_REV_COUNTER], 
[PROJ_CURRENT_REV_RANK], 
[CREATED_REV_COUNTER], 
[MOD_REV_COUNTER]

El campo de REV_RANK y el campo PROJ_CURRENT_REV_RANK se utilizan para indicar una restauración del archivo. Si la sincronización muestra una disparidad de rango entre las memorias caché y, a continuación, Project Server realiza una resincronización completa (en efecto, se restablece el campo REV_RANK con una revisión = 0)

El campo REV_NEXT_SEED contiene el siguiente número de versión que se utilizará para todos los cambios. El campo de PROJ_CURRENT_REV_COUNTER y el campo MOD_REV_COUNTER contienen el número de versión activa. Los números de revisión dos contadores permiten determinar cuando el documento se modificó por última vez por proyecto profesional o por otra aplicación.

El campo CREATED_REV_COUNTER es 1 o 0, dependiendo de cómo se creó el proyecto. Cuando Project Professional crea un proyecto, CREATED_REV_COUNTER = 1.

Eliminaciones con tablas de la sombra de control

Para crear un modelo coherente para cachés, tenemos dos opciones para el tratamiento de eliminaciones:

  • Marcar los datos existentes como eliminado, mediante una consulta de UPDATE.

  • Eliminar los datos y registrar la eliminación, de modo que la sincronización puede propagar la eliminación en adelante.

Marcar daría a un rendimiento mejor a corto plazo (menos efecto en SQL Server), pero rápidamente haría que la cantidad de datos dentro de las tablas más importantes. Decidimos usar la segunda opción de eliminar los datos y crear un registro de la eliminación.

Utilizamos las tablas de la sombra para las operaciones de eliminación de registros para las tablas que se encuentran en el esquema de la sincronización de caché. Las tablas de la sombra son muy estrechas tablas que contienen los datos mínimos necesarios para realizar un seguimiento de eliminaciones. Servidor de Project Server actualiza las tablas de la sombra cuando se eliminan las entidades principales.

El esquema siguiente es para la tabla de la sombra de proyecto, MSP_PROJECTS_SHADOW.

[PROJ_UID] [dbo].[UID] NOT NULL, 
[DELETED_REV_COUNTER] [int] NOT NULL, 
[DELETED_DATE] [datetime] NOT NULL

Cuando se elimina un proyecto, utiliza sólo 28 bytes de datos por fila en la tabla MSP_PROJECTS_SHADOW (16 bytes para el GUID + 4 bytes para el entero + 8 bytes para el valor de DateTime), además de sobrecarga de página normal de SQL Server.

Los administradores de instalaciones de Project Server que tienen una gran cantidad de renovación de datos deben mantener un archiving activo y eliminar la directiva para sacar provecho de las tablas de la sombra y mejorar el rendimiento.

Nota

Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.

Historial de cambios

Fecha

Descripción

Motivo

Diciembre de 2010

Publicación inicial