La fragmentación es un proceso de dividir la base de datos completa o completa en varias subtablas o subrelaciones para que los datos puedan almacenarse en diferentes sistemas. Las pequeñas piezas de subrelaciones o subtablas se denominan fragmentos . Estos fragmentos se denominan unidades de datos lógicos y se almacenan en varios sitios. Debe asegurarse de que los fragmentos sean tales que puedan usarse para reconstruir la relación original (es decir, que no haya pérdida de datos).
En el proceso de fragmentación, digamos, si una tabla T se fragmenta y se divide en varios fragmentos, digamos T1, T2, T3….TN. Los fragmentos contienen información suficiente para permitir la restauración de la tabla T original. Esta restauración se puede realizar mediante el uso de la operación UNION o JOIN en varios fragmentos. Este proceso se llama fragmentación de datos . Todos estos fragmentos son independientes, lo que significa que estos fragmentos no pueden derivarse de otros. Los usuarios no necesitan estar lógicamente preocupados por la fragmentación, lo que significa que no deberían preocuparse de que los datos estén fragmentados y esto se llama independencia de fragmentación o podemos decir transparencia de fragmentación .
ventajas :
- Como los datos se almacenan cerca del sitio de uso, la eficiencia del sistema de base de datos aumentará
- Los métodos de optimización de consultas locales son suficientes para algunas consultas, ya que los datos están disponibles localmente
- Para mantener la seguridad y privacidad del sistema de base de datos, la fragmentación es ventajosa
Desventajas:
- Las velocidades de acceso pueden ser muy altas si se necesitan datos de diferentes fragmentos
- Si estamos usando fragmentación recursiva, entonces será muy costoso.
Tenemos tres métodos para la fragmentación de datos de una tabla:
- Fragmentación horizontal
- Fragmentación vertical
- Fragmentación mixta o híbrida
Discutámoslos uno por uno.
Fragmentación horizontal –
La fragmentación horizontal se refiere al proceso de dividir una tabla horizontalmente asignando cada fila o (un grupo de filas) de relación a uno o más fragmentos. Estos fragmentos luego se asignan a diferentes lados en el sistema distribuido. Algunas de las filas o tuplas de la tabla se colocan en un sistema y el resto se colocan en otros sistemas. Las filas que pertenecen a los fragmentos horizontales se especifican mediante una condición sobre uno o más atributos de la relación. En álgebra relacional, la fragmentación horizontal en la tabla T, se puede representar de la siguiente manera:
σ p (T)
donde, σ es el operador de álgebra relacional para la selección
p es la condición satisfecha por un fragmento horizontal
Tenga en cuenta que se puede realizar una operación de unión en los fragmentos para construir la tabla T. Dicho fragmento que contiene todas las filas de la tabla T se denomina fragmento horizontal completo.
Por ejemplo, considere una tabla EMPLEADO (T):
Eno | Esmalte | Diseño | Salario | Dep |
101 | A | a B C | 3000 | 1 |
102 | B | a B C | 4000 | 1 |
103 | C | a B C | 5500 | 2 |
104 | D | a B C | 5000 | 2 |
105 | mi | a B C | 2000 | 2 |
Esta tabla EMPLEADO se puede dividir en diferentes fragmentos como:
EMP 1 = σ Dep = 1 EMPLEADO
EMP 2 = σ Dep = 2 EMPLEADO
Estos dos fragmentos son: fragmento T1 de Dep = 1
Eno | Esmalte | Diseño | Salario | Dep |
101 | A | a B C | 3000 | 1 |
102 | B | a B C | 4000 | 1 |
De manera similar, el fragmento T2 sobre la base de Dep = 2 será:
Eno | Esmalte | Diseño | Salario | Dep |
103 | C | a B C | 5500 | 2 |
104 | D | a B C | 5000 | 2 |
105 | mi | a B C | 2000 | 2 |
Ahora, aquí es posible recuperar T como T = T1 ∪ T2 ∪ …. ∪ TN
Fragmentación Vertical
La fragmentación vertical se refiere al proceso de descomposición vertical de una tabla por atributos en columnas. En esta fragmentación, algunos de los atributos se almacenan en un sistema y el resto se almacena en otros sistemas. Esto se debe a que es posible que cada sitio no necesite todas las columnas de una tabla. Para encargarse de la restauración, cada fragmento debe contener los campos de clave principal en una tabla. La fragmentación debe ser tal que podamos reconstruir una tabla a partir del fragmento tomando la operación JOIN natural y, para que sea posible, debemos incluir un atributo especial llamado Tuple-id en el esquema. Para este propósito, un usuario puede utilizar cualquier superclave. Y por esto, las tuplas o filas se pueden unir entre sí. La proyección es la siguiente:
π a1, a2,…, an (T)
donde, π es el operador de álgebra relacional
a1…., an son los atributos de T
T es la tabla (relación)
Por ejemplo, para la tabla EMPLEADO tenemos T1 como:
Eno | Esmalte | Diseño | Tuple_id |
101 | A | a B C | 1 |
102 | B | a B C | 2 |
103 | C | a B C | 3 |
104 | D | a B C | 4 |
105 | mi | a B C | 5 |
Para el segundo. La subtabla de relación después de la fragmentación vertical se da de la siguiente manera:
Salario | Dep | Tuple_id |
3000 | 1 | 1 |
4000 | 2 | 2 |
5500 | 3 | 3 |
5000 | 1 | 4 |
2000 | 4 | 5 |
Esta es T2 y para volver a la T original, unimos estos dos fragmentos T1 y T2 como π EMPLEADO (T1 ⋈ T2)
Fragmentación Mixta
La combinación de la fragmentación vertical de una tabla seguida de una mayor fragmentación horizontal de algunos fragmentos se denomina fragmentación mixta o híbrida . Para definir este tipo de fragmentación utilizamos las operaciones SELECT y PROJECT del álgebra relacional. En algunas situaciones, la fragmentación horizontal y vertical no es suficiente para distribuir datos para algunas aplicaciones y, en esas condiciones, necesitamos una fragmentación llamada fragmentación mixta.
La fragmentación mixta se puede realizar de dos formas diferentes:
- El primer método consiste en crear primero un conjunto o grupo de fragmentos horizontales y luego crear fragmentos verticales a partir de uno o más de los fragmentos horizontales.
- El segundo método consiste en crear primero un conjunto o grupo de fragmentos verticales y luego crear fragmentos horizontales a partir de uno o más de los fragmentos verticales.
La relación original se puede obtener mediante la combinación de operaciones JOIN y UNION que se da de la siguiente manera:
σ P (π a1, a2..,an (T))
π a1,a2….,an (σ p (T))
Por ejemplo , para nuestra tabla EMPLEADO , a continuación se muestra la implementación de fragmentación mixta π Ename, Design (σ Eno < 104 (EMPLOYEE))
El resultado de esta fragmentación es:
Esmalte | Diseño |
A | a B C |
B | a B C |
C | a B C |
Publicación traducida automáticamente
Artículo escrito por tarunsinghwap7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA