Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Una de las decisiones ms importantes que el diseador de bases de datos distribuidas debe tomar es el posicionamiento de la data en el sistema y el esquema bajo el cul lo desea hacer. Para esto existen cuatro alternativas principales: centralizada, replicada, fragmentada, e hbrida.
Una ventaja significativa de este esquema es que las consultas (SQL) tambin se fragmentan por lo que su procesamiento es en paralelo y ms eficiente, pero tambin se sacrifica con casos especiales como usar JUNTAR o PRODUCTO, en general casos que involucren varios fragmentos de la BDD. Para que una fragmentacin sea correcta esta debe cumplir con las siguientes reglas: Debe ser Completa: Si una relacin R se fragmenta en R1,R2, ... , Rn, cada elemento de la data de R debe estar en algn Ri. Debe ser Reconstruible: Debe ser posible definir una operacin relacional que a partir de los fragmentos obtenga la relacin. Los fragmentos deben ser Disjuntos: Si la fragmentacin es horizontal entonces si un elemento e est en Ri este elemento no puede estar en ningn Rk (para k distinto a i). En el caso de fragmentacin vertical es necesario que se repitan las llaves primarias y esta condicin solo se debe cumplir para el conjunto de atributos que no son llave primaria.
Este esquema simplemente representa la combinacin del esquema de particin y replicacin. Se particiona la relacin y a la vez los fragmentos estn selectivamente replicados a travs del sistema de BDD.
Seguridad
Cuando planeamos una nueva base de datos, debemos tomar en consideracin algunos aspectos, estos son algunos de ellos. Tipo de almacenamiento de datos: Debemos pensar en que tipo de base de datos vamos a tener, puede ser OLTP o OLAP los cuales tienen diferentes propsitos y por lo mismo un diferente diseo. Nivel transaccional: Las bases de datos OLTP en lo general requieren de un alto nmero de transacciones por minuto. Un diseo eficiente, con un apropiado nivel de normalizacin, ndices y particiones nos pueden dar un
nivel transaccional muy alto. Crecimiento de la base de datos: Las bases de datos grandes requieren de un apropiado hardware para soportarlo, como es memoria, CPU y espacio en disco. El estimar la cantidad de datos que la base de datos va a almacenar en los siguientes meses y aos nos va a ayudar a mantener un nivel adecuado de performance. Podemos configurar a que la base de datos crezca automticamente hasta un tamao mximo especificado, pero el crecimiento automtico degrada el rendimiento. Por esa razn debemos siempre crear la base de datos de un tamao adecuado, monitorear el espacio y solo asignar ms espacio cuando sea realmente necesario. Con esto debemos recordar que no solo exista la fragmentacin de las tablas, sino de la base de datos a nivel del disco, y el estar creciendo la base de datos continuamente, genera fragmentacin que no se elimina con reindexar los ndices, sino con otro tipo de tareas de administracin. Archivos de Datos: Donde nosotros alojemos los archivos de datos, pueden tener un impacto en rendimiento. Si tenemos la posibilidad de tener varios discos en nuestro servidor, podemos distribuir los archivos de datos en ms de un solo disco. Esto permite que SQL Server pueda tener ms conexiones mltiples y mltiples cabezas de discos para hacer ms eficientes las lecturas y escrituras de los datos. Nota: Si se requiere ms informacin de cmo podemos estimar el tamao de una base de datos, podemos ver el capitulo de Estimating the size of a Database, en el Books Online de SQL Server