Hace poco me encontré con un problema curioso en una instalación de MOSS 2007, que trabajaba con Librerías de Documentos versionadas de MOSS 2007 y Content Deployment.
Descripción del Problema
Con el paso del tiempo, nos encontramos con un Site que había superado el medio Tera de tamaño en su base de datos de contenido. Se trataba de un Site destino de unos Jobs de Content Deployment. Lo sorprendente de todo esto es que el Site origen tenía un tamaño bastante discreto (tan sólo unos Gigas). Sin embargo, la base de datos de contenido del site destino del Content Deployment había crecido demasiado, hasta tener un tamaño de base de datos superior al medio Tera, y subiendo con alegría.
Al empezar a revisar el entorno, una de las primeras cosas que hice fue consultar las tablas dbo.AllDocs y dbo.AllDocVersions de dicha base de datos de contenido. Al hacer esto, pude apreciar dos detalles importantes:
- Por un lado, se estaban almacenando ficheros grandes en la base de datos, tales como Videos o animaciones Flash que superaban los 50MB.
- Por otro lado, muchos de estos ficheros tenían cientos y cientos de versiones (en particular, sobre unas 500 versiones), todas ellas idénticas, lo cual estaba generando que las necesidades de almacenamiento para dicho Site fueran más que exageradas.
Visto hecho, me resultó sorprendente comprobar que los correspondientes documentos, en el Site origen, si bien también están almacenados en una Librería de Documentos con el versionado habilitado, tan sólo tenían una única versión.
Haciendo pruebas con el Conten Deployment, pude comprobar que cada ejecución del Content Deployment estaba generando una nueva versión de dichos documentos en el Site destino. Esto, junto al hecho de estar almacenando documentos grandes y tener Jobs de Content Deployment planificados para ejecutarse con periodicidad diaria, estaba generando un serio problema de almacenamiento, con las correspondientes implicaciones y problemas para hacer Backup, y demás. Evidentemente, estos problemas estaban creciendo de forma importante semana a semana.
Un detalle, creo que significativo, fue que estos Jobs de Content Deployment estabán configurados para realizar un despliegue completo (Full), en lugar de un despliegue incremental. Digo esto, porque con otras Librerías de Documentos y Documentos similares desplegados con el Content Deployment utilizando Jobs incrementales, no estaba produciéndose este problema.
Descripción de la solución a este problema de espacio
Tras evaluar varias alternativas consensuadas con la parte funcional/negocio, e intentando evitar al máximo cualquier tipo de problema, la solución que se aplicó para solucionar este problema de espacio fue la siguiente.
- Desplanificar los Jobs de Content Deployment. Los Jobs seguirían existiendo, sin embargo, no se ejecutarían todos los días. De este modo, si en algún momento se necesitase actualizar los contenidos en destino, sería suficiente con ejecutar manualmente el/los Jobs de Content Deployment correspondientes. Por suerte, se trataba de Sites antiguos, que no tenían ninguna probabilidad de ser actualizados.
- Eliminar las versiones antiguas de los documentos más grandes. Se haría a mano, de tal modo que consultando las tablas de la base de datos de contenido, se identificaría rápidamente cuáles son los documentos más grandes y sujetos a este problema de versiones. Tras esto, tan sólo es cuestión de eliminar las versiones del historial, y posteriormente, eliminarlas también de la Papelera de Reciclaje de MOSS y seguidamente de la Papelera de Reciclaje de segundo nivel.
Realizado esto, la liberación de espacio fue de casi medio Tera (casi naa, total, si el precio por Giga de las EVAs y XPs está de saldo en estos días…).
Hubo algunas soluciones que se nos pasaron por la cabeza, y que aunque finalmente las descartamos, podían haber resultado también bastante interesante. Hablo, por ejemplo, de deshabilitar el versionado en las Librerías de Documentos, o también, de limitar el máximo número de versiones que puede tener un Documento. No llegamos a probar estas alternativas, por lo que tampoco sé que inconvenientes podrían tener.
Poco más por hoy. Como siempre, confío que la lectura resulte de interés.