13.08.2013 Views

modelos avanzados de bases de datos base de datos distribuidas

modelos avanzados de bases de datos base de datos distribuidas

modelos avanzados de bases de datos base de datos distribuidas

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Base <strong>de</strong> Datos Distribuidas<br />

Fragmentación<br />

La fragmentación es el proceso encargado <strong>de</strong> dividir una relación en otras subrelaciones <strong>de</strong><br />

menor tamaño, y su objetivo es encontrar la unidad apropiada <strong>de</strong> distribución. Existe una serie<br />

<strong>de</strong> razones por las que llevar a cabo la fragmentación:<br />

• Utilización: En general, las aplicaciones funcionan con vistas que normalmente son<br />

subconjuntos <strong>de</strong> relaciones. Por tanto, es lógico consi<strong>de</strong>rar como unidad <strong>de</strong><br />

distribución a esos subconjuntos <strong>de</strong> relaciones.<br />

• Eficiencia: Los <strong>datos</strong> se almacenan cerca <strong>de</strong>l lugar en el que son utilizados con mayor<br />

frecuencia. A<strong>de</strong>más, los <strong>datos</strong> que las aplicaciones locales no necesitan no se<br />

almacenan en ese nodo.<br />

• Paralelismo: La <strong>de</strong>scomposición <strong>de</strong> una relación en fragmentos permite que una<br />

transacción pueda ser dividida en subconsultas. Cada subconsulta operará sobre el<br />

fragmento a<strong>de</strong>cuado. En <strong>de</strong>finitiva, se aumenta el grado <strong>de</strong> concurrencia.<br />

• Seguridad: Los <strong>datos</strong> no requeridos por las aplicaciones locales no se almacenan en<br />

ese nodo, por lo que no están disponibles para los usuarios no autorizados.<br />

¿Qué unidad <strong>de</strong> fragmentación tomar?<br />

El principal problema <strong>de</strong> la fragmentación consiste en encontrar una unidad <strong>de</strong><br />

fragmentación. Se podría consi<strong>de</strong>rar como unidad <strong>de</strong> fragmentación una relación completa pero<br />

esto no es óptimo <strong>de</strong>bido a cuestiones <strong>de</strong> eficiencia. Las siguientes afirmaciones nos dan<br />

razones por las que la relación no es la unidad <strong>de</strong> fragmentación i<strong>de</strong>al:<br />

• Las vistas son subconjuntos <strong>de</strong> varias relaciones, es <strong>de</strong>cir, se forman a partir <strong>de</strong> trozos<br />

<strong>de</strong> varias tablas. Ya que cada aplicación posee sus propias vistas lo mas a<strong>de</strong>cuado será<br />

conseguir que la mayoría <strong>de</strong> las vistas estén <strong>de</strong>finidas sobre subtablas locales a cada<br />

aplicación y así logramos un incremento <strong>de</strong>l rendimiento. Luego la mejor unidad <strong>de</strong><br />

fragmentación seria subconjuntos <strong>de</strong> relaciones.<br />

• Al <strong>de</strong>scomponer una relación en fragmentos, se permite el procesamiento concurrente<br />

<strong>de</strong> transacciones ya que no se bloquean tablas enteras sino subtablas, por lo que dos<br />

consultas pue<strong>de</strong>n acce<strong>de</strong>r a la misma tabla en fragmentos distintos.<br />

• Al <strong>de</strong>scomponer una relación en fragmentos, se permite la paralelización <strong>de</strong> consultas al<br />

po<strong>de</strong>r <strong>de</strong>scomponerlas en subconsultas, cada una <strong>de</strong> las cuales trabajará con un<br />

fragmento distinto produciéndose un incremento <strong>de</strong>l rendimiento.<br />

12

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!