sábado, 25 de junio de 2011

Beneficios de los Filegroups, un acercamiento

Hace poco mas de un año que fue la ultima vez que escribi aqui, en la entrada mas añeja hablaba de particionar indices y una tarea que esta intrinseca en ello es crear filegroups adicionales.
Este es un tema muy extenso y quisiera dar un acercamiento a los beneficios que obtendremos al crear Filegroups en nuestras Bases de Datos.

Es una mejor practica agregar Filegroups y Files adicionales a nuestras Bases de datos y tratare de resumir la explicación mas importante:

.-Al crear más de un Filegroup podremos tener una mejor administración de nuestros archivos en le futuro, ejemplo: Una vez que tenemos agrupaciones de archivos y tablas si existiera la necesidad de con el menor esfuerzo hacer que un conjunto de tablas estén sólo disponibles como lectura únicamente bastaría modificar un atributo(ReadOnly) al Filegroup al que pertenecen y así evitamos hacer cambios mayores y afectaciones a otros módulos y aplicaciones cuyas tablas estén ajenas a nuestro interés.

.-Al tener más de un Filegroup proveemos del mayor aislamiento posible I/O. Los datos en las tablas de Sistema de nuestra base de Datos no cambian tan frecuentemente como las tablas de usuario y al minimizar la escritura en el Filegroup Primary reducimos el riesgo de introducir daños a los archivos que lo conforman, es necesario mencionar que el estado del Filegroup Primary determina el estado de la Base de Datos, al tener más de Filegroup incrementamos la disponibilidad de nuestra base de datos porque estaremos minimizando los cambios hechos al Filegroup Primary.

.-Si en el futuro además de crear Filegroups adicionales, los archivos pudieran estar en unidades de disco separadas es posible crear una estrategia de almacenamiento / consultas tal que nos permita reducir los cuellos de botella I/O en el disco duro (Contención).