1. BASES DE DATOS LUZ MYRIAM PADILLA GIL Mayo 20 -21 de 2010
2. AGENDA 1. GENERALIDADES 2. SQL 3. NORMALIZACION 4. ADMINISTRACION DE TRANSACCIONES Y CONTROL DE 5. CONCURRENCIA 6. BASES DE DATOS DISTRIBUIDAS 7. ALMACENAMIENTO DE DATOS Y PROTECCION 8. BASE DE DATOS ORACLE
4. DEPTO # id * nombre EMPLEADO # id * nombre o sueldo Cada empleado debe ser asignado a 1 y solo 1 departamento Cada depto podría ser responsable por 1 o más empleados
5. id nombre D1 CONTABILIDAD D2 VENTAS id nombre sueldo id_depto E1 JUAN 100 D1 E2 PEDRO 200 D1 E3 JOSE 100 D2 E4 MARTHA 150 D1 DEPTO EMPLEADO
6. create table empleado ( id varchar2 (4) not null, nombre varchar2 (30) not null, sueldo number (10,2) not null, id_depto varchar2 (4) not null, primary key (id), foreign key (id_depto) references depto (id_depto) );
7.
8. 2. SQL (Structured Query Language) SQL es un lenguaje estandar para acceder y manipular bases de datos SQL es un estandar ANSI (American National Standards Institute) SQL puede ser dividido en dos partes DML (Data Manipulation Language) DDL (Data Definition Language) DML: Insert, Update, Delete DDL: Create, Alter, Drop
9. select A1,A2, ..,An from r1, r2, .., rm where P A1, A2,...,An ( (r1 x r2 x .. x rm)) SELECT D.ID, D.NOMBRE, E.ID E.NOMBRE, E.SUELDO FROM DEPTO D, EMPLEADO E WHERE D.ID = E.ID_DEPTO;
10. 3. NORMALIZACION La normalización es una técnica utilizada para diseñar tablas ellas que las redundancias de datos se reducen al mínimo Primera forma normal (1FN) Una entidad está en 1FN si no tiene grupos repetitivos, es decir, un atributo solo puede tomar un único valor de un dominio simple Segunda forma normal (2FN) La entidad está en 1FN y no hay dependencias funcionales de atributos no principales respecto de una parte de las claves. Cada uno de los atributos de una entidad depende de toda la clave
11. Tercera forma normal (3FN) Una entidad está en 3FN si está en 2FN y todos sus atributos no principales dependen directamente de la clave primaria, es decir, no hay dependencias funcionales transitivas de atributos no principales respecto de las claves. Forma normal de Boyce-Codd (BCNF) Un determinante es cualquier atributo cuyo valor determina otros valores en una fila Una tabla esta en forma Boyce-Codd si todo determinante en ella es una clave candidato
12.
13. Manejo de transacciones con SQL: commit y rollback Registro de transacciones : Mientras que el DBMS ejecuta transacciones que modifican la base de datos, tambien se actualiza automaticamente el registro de transacciones. El registro de transacciones guarda: -Un registro del inicio de la transaccion -Informacion de cada sentencia sql que incluye valores antes y despues -Finalización commit de la transacción En caso de falla el DBMS deshace las transacciones incompletas y continua con las transacciones que estaban comprometidas pero aun no se habian escrito en la base de datos fisica
14. CONTROL DE CONCURRENCIA CON METODOS DE BLOQUEO Un bloqueo garantiza el uso exclusivo de un elemento de datos dentro de una transacción concurrente. En otras palabras, T2 no tiene acceso a un elemento de datos que está siendo utilizado por la transacción T1. Una transacción adquiere un bloqueo antes de acceder a los datos, el bloqueo se libera (desbloquea) cuando la transacción, de modo que otra pueda bloquear el Elemento de datos para su uso exclusivo Granularidad del bloqueo . Niveles: base de datos, tabla, pagina (bloque de datos), fila, atributo Tipos de bloqueo : bloqueos binarios o compartidos/exclusivos
15. Los conflictos de concurrencia ocurren solo cuando dos transacciones se ejecutan concurrentemente y una de ellas actualiza la base de datos Existe un bloqueo exclusivo cuando el acceso se reserva específicamente para la transacción que bloqueo el objeto Existe un bloqueo compartido cuando a transacciones concurrentes se les otorga acceso de lectura con base en un bloqueo común Se emite un bloqueo compartido cuando una transacción desea leer datos de la base de datos y no existe un bloqueo exclusivo en dicho elemento de datos Se emite un bloqueo exclusivo cuando una transacción desea escribir (actualizar) un elemento de datos y ninguna otra transacción lo mantiene bloqueado
16. El uso de la técnica de bloqueos puede conducir a dos problemas : La programación de las transacciones resultante puede no ser serializable (protocolo de dos fases) Se pueden producir abrazos mortales , es provocado cuando dos transacciones esperan que una u otra desbloquee los datos (técnicas de prevención y detección) El bloqueo de dos fases define como las transacciones adquieren y ceden bloqueos. Las dos fases son: Una fase de crecimiento en la que una transacción adquiere todos los bloqueos requeridos sin desbloquear ningún dato Una fase de contracción en la que una transacción libera todos los bloqueos y no puede obtener uno nuevo
17. 5. BASES DE DATOS DISTRIBUIDAS Un DDBMS rige el almacenamiento y procesamiento de datos lógicamente relacionados a través de un sistema de computadoras interconectadas, donde tanto los datos como las funciones de procesamiento se distribuyen entre varios sitios La base de datos se divide en fragmentos , los cuales pueden ser horizontales (un conjunto de filas) o verticales (un conunto de atributos). Cada fragmento puede colocarse en un nodo de red diferente
18. Red de comunicaciones TP TP TP DP DP TP DP TP DP DP Componentes de sistema de base de datos distribuido Nota: Cada procesador de transacciones puede accesar datos en cualquier procesador de datos , y cada procesador de datos manejra todas las solicitudes de datos locales de cualquier procesador de transacciones
19. Procesamiento en sitios múltiples, datos en sitios múltiples (MPMD) Una base de datos distribuida homogénea integra solo un tipo particular de DBMS, en una red de computadoras Un sistema heterogéneo integra varios tipos diferentes de DBMS en una red de computadoras
20.
21. Protocolo commit de dos fases El protocolo garantiza que, si una parte de la operacion de transaccion no puede completarse, todos los cambios realizados en los otros sitios que participan en la transaccion seran deshechos para mantener un estado de base de datos consistente. Cada procesador de datos mantiene su propio registro de transaccion. El protocolo requiere que cada registro de transaccion de procesador individual, se escriba antes de que el fragmento de base de datos se actualice en realidad El protocolo define las operaciones entre dos tipos de nodos: el coordinador y uno o mas subordinados
22.
23. Diseño de una base de datos distribuida Fragmentación de los datos: horizontal, vertical o mixta Replicación: se refiere al almacenamiento de copias de datos en sitios múltiples servidos por una red de computadoras. Regla de consistencia mutua: requiere que todas las copias de fragmentos sean idénticas Colocación de datos, describe el proceso de decidir en qué sitios colocar los datos
24.
25.
26. Network-Attached Storage Un NAS es un servidor de archives especializado diseñado y dedicado para soportar únicamente necesidades de almacenamiento Implementaciones de SAN (Storage Area Network) Una San es una red de alta velocidad de propósito especial que está dedicada al almacenamiento de datos. La SAN contiene servidores que comparten acceso a dispositivos de almacenamiento de datos tales como arreglos de discos o drives de cintas. Los servidores y dispositivos dentro de la SAN están interconectados usando tecnologías de networking de alta velocidad tales como canales de fibra, FDDI, ATM o Ethernet de alta velocidad
27. Conceptos y Tecnicas de recuperación de desastres. Backup Políticas de backup : podría incluir especificaciones para todos los componentes del plan de backup, incluyendo el backup del software, hardware, medios, programación y planes de prueba, así como el diseño de la responsabilidad administrativa por el sistema Métodos de rotación: Un método de rotación es la programación que determina el número de cintas de backups u otros conjuntos de medios que son necesarios, y la secuencia en la cual ellos son usados y reusados
28.
29. Metodos de tolerancia a fallas (RAID) Los estándares RAID (Redundant Array of Independent Disks) son un conjunto de especificaciones independientes del vendedor para configuraciones tolerantes a fallas sobre múltiples sistemas de disco. Si uno o más de los discos fallan, los datos pueden ser recuperados desde los discos restantes. RAID puede ser implementado a través de software del sistema operativo, pero las implementaciones de RAID basadas en hardware son más eficientes y más ampliamente utilizadas. Hay varios niveles de RAID, cada uno de los cuales provee una combinación diferente de características y eficiencias. Los niveles RAID son identificados por un número: RAID 0, RAID 1, y RAID 5 son los más comunes
30. RAID nivel cero implementa striping, el cual es el proceso de esparcir datos a través de múltiples drives . Striping puede mejorar dramáticamente el rendimiento de lectura y escritura (no provee tolerancia a fallas). En RAID nivel 1 , los datos de una partición entera son duplicados en dos drives idénticos por uno u otro mirroring o duplexing. En mirroring , los dos discos comparten una controladora de drive. En duplexing , cada disco tiene su propia controladora de drive. Los datos son escritos en las dos partes del mirror simultáneamente.
31. Sistemas de RAID de nivel 5 dividen los datos en bytes individuales a través de múltiples drives, con información de paridad también dividida a través de múltiples drives. Se necesitan al menos tres drives de disco físicos. SI uno de los drives falla, la información de paridad sobre el resto de los drives puede ser usada para reconstruir los datos. Con RAID 5, el rendimiento se mejora porque más de acción de lectura y escritura puede ocurrir simultáneamente. Adicionalmente, los cálculos de paridad pueden crear overhead cuando se escribe
36. Gestión de privilegios y recursos Fuente: http://www.redcientifica.com/oracle/c0004p0004.html
37. CREATE USER CONSULTA IDENTIFIED BY prueba1 DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TMP PROFILE DEFAULT ACCOUNT UNLOCK; -- 2 System Privileges for CONSULTA GRANT CREATE SESSION TO CONSULTA; GRANT CREATE TABLE TO CONSULTA;
38. Bibliografía Sistemas de bases de datos Diseño, implementación y administración Peter Rob / Carlos Coronel Thomson (2004) Técnicas y Prácticas Metodología Métrica versión 3 Ministerio de Administraciones Publicas. España Curso ACM: Fundamentals of Data Protection and Disaster Recovery
Primera forma normal (1FN) Una entidad está en 1FN si no tiene grupos repetitivos, es decir, un atributo sólo puede tomar un único valor de un dominio simple. Una vez identificados los atributos que no dependen funcionalmente de la clave principal, se formará con ellos una nueva entidad y se eliminarán de la antigua. La clave principal de la nueva entidad estará formada por la concatenación de uno o varios de sus atributos más la clave principal de la antigua entidad. Segunda forma normal (2FN) Una entidad está en 2FN si está en 1FN y todos los atributos que no forman parte de las claves candidatas (atributos no principales) tienen dependencia funcional completa respecto de éstas, es decir, no hay dependencias funcionales de atributos no principales respecto de una parte de las claves. Cada uno de los atributos de una entidad depende de toda la clave. Una vez identificados los atributos que no dependen funcionalmente de toda la clave, sino sólo de parte de la misma, se formará con ellos una nueva entidad y se eliminarán de la antigua. La clave principal de la nueva entidad estará formada por la parte de la antigua de la que dependen funcionalmente.
Tercera forma normal (3FN) Una entidad está en 3FN si está en 2FN y todos sus atributos no principales dependen directamente de la clave primaria, es decir, no hay dependencias funcionales transitivas de atributos no principales respecto de las claves. Una vez identificados los atributos que dependen de otro atributo distinto de la clave, se formará con ellos una nueva entidad y se eliminarán de la antigua. La clave principal de la nueva entidad será el atributo del cual dependen. Este atributo en la entidad antigua, pasará a ser una clave ajena.
Una transaccion que cambia el contenido de una base de datos debe modificarla de un estado consistente a otro. Un estado de base de datos consistente es cuando se satisfacen todas las restricciones de integridad de los datos. Propiedades -Atomicidad: requiere que todas las operaciones (partes) de una transaccion se completen: de no ser asi, la transaccion es abortada -Durabilidad: indica la permanencia del estado consistente de la base de datos. -Seriabilidad: describe el resultado de la ejecucion concurrente de varias transacciones. En concreto, las transacciones concurrentes se tratan como si se ejecutaran en serie (una tras otra) -Aislamiento: significa que los datos utilizados durante la ejecucion de una transaccion no pueden utilizarse por una segunda transaccion hasta que se complete la primera
Manejo de transacciones con SQL: commit y rollback Los estandares ANSI requieren que, cuando un usuario inicia una secuencia de transaccion en un programa de aplicacion, debe continuar con todas las sentenciasSQL subsiguientes hasta que ocurra uno de los siguientes cuatro eventos: -Si llega a una sentencia COMMIT, en cuyo caso todos los cambiosse registran permanentemente en la base de datos. La sentencia COMMIT termina automaticamente la transaccion SQL. -Si llega a una sentencia ROLLBACK, en cuyo caso todos los cambios son abortados y la base de datos se restaura a su estado consistente previo. -Si alcanza con exito el final de un programa, en cuyo caso todos los cambios se registran permanentemente en la base de datos. Esta accion es equivalente a COMMIT -El programa termina anormalmente, en cuyo caso todos los cambios realizados en la base de datos son abortados y la base de datos regresa a su estado consistente previo. Esta accion equivale a ROLLBACK
Las siguientes reglas rigen el protocolo de bloqueo de dos fases: Dos transacciones no pueden tener bloqueos conflictivos Ninguna operacion de desbloqueo puede preceder una operacion de bloqueo en la misma transaccion Ninguno de los datos son afectados hasta que se obtienen todos los bloqueos –es decir, hasta que la transaccion se encuentra en su punto de bloqueo Tecnicas para controlar los puntos muertos -Prevencion de puntos muertos. Una transaccion que solicita un bloqueo nuevo es abortada si existe la posibilidad de que ocurra un punto muerto -Deteccion de puntos muertos: El DBMS prueba periodicamente la base de datos en cuanto a puntos muertos. Si se encuentra un punto muerto, una de las transacciones es abortada, y la otra continua -Evitacion de puntos muertos: La transaccion debe obtener todos los bloqueos que requiere antes que pueda ser ejecutada
DDBMS: Sistema de administracion de bases de datos distribuidas
Componentes del DDBMS El procesador de transacciones (TP) es el componente de software encontrado en cada computadora que solicita datos. El procesador de transacciones recibe y procesa las solicitudes de datos de la aplicacion (remotas y locales) El procesador de datos (DP) es el componente de software residente en cada computadora que guarda y recupera datos localizados en el sitio
Las caracteristicas de transparencia del DDBMS son: -Transparencia de distribucion, el usuario no necesita saber: que los datos estan en particiones que los datos pueden ser replicados en varios sitios la ubicacion de los datos Transparencia de transaccion, la cual permite que una transaccion actualice datos en varios sitios de la red Transparencia de falla, la cual permite que el sistema continue operando en el caso de una falla de nodo Transparencia de desempeno, la cual permite que el sistema funcione como si fuera un DBMS centralizado (no degradacion de desempeno por su uso en una red Transparencia de heterogeneidad, la cual permite la integracion de varios DBMS locales diferentes (relacional, de red y jerarquicos) conforme a un esquema comun, global. El DDBMS es el reponsable de transformar las solicitudes de datos del esquema global en el esquema de DBMS local
Fase 1: Preparacion Si todos los nodos estan preparados para completar, la transaccion pasa a la Fase 2. Si uno o mas nodos responden NO o NOT PREPARED, el coordinador envia un mensaje ABORT a todos los subordinados Fase 2: El commit final Si uno o mas subordinados no completan, el coordinador envia un mensaje ABORT, con lo cual obliga a deshacer todos los cambios El objetivo del protocolo commit de dos fases es garantizar que todos los nodos completen su parte de la transaccion, de lo contrario esta es abortada. Si uno de los nodos no completa su parte, entonces la informacion necesaria para restaurar la base de datos se encuentra en el registro de transacciones, y la base de datos puede ser recuperada con el protocolo DO-UNDO-REDO
La fragmentacion de datos permite dividir un objeto en dos o mas segmentos o fragmentos Fragmentacion horizontal: se refiere a la division de una relacion en subconjunto (fragmentos) de tuplas (filas). Cada fragmento se guarda en un nodo diferente, y cada uno de ellos tiene filas unicas Fragmentacion vertical: se refiere a la division de una relacion en subconuntos de atributo (columna). Cada subconjunto (fragmento) se guarda en un nodo diferente, y cada fragmento tiene columnas unicas, con la excepcion de la columna clave, la cual es comun a todos los fragmentos Fragmentacion mezclada: se refiere a una combinacion de estrategias horizontales y verticales
A. Almacenamiento de datos y protección 1. Asegurando disponibilidad de datos y sistemas 1.1 Alta disponibilidad Availabitity % = Uptime / Total Time (99.999%) 5 minutos del total de tiempo de caída para un sistema en un ano. Alta disponibilidad es una proporción que expresa que tan cerca están los sistemas de la meta de proveer 100% de disponibilidad de tiempo mientras mantiene un alto nivel de rendimiento 1.2 Clustering: Un cluster se refiere a dos o más servidores que parecen como un sistema simple en una red. Si un servidor en un cluster falla, otro servidor en el cluster automáticamente asume sin interrupción. Esto es posible porque el servidor en un cluster puede acceder y compartir los mismos dispositivos de almacenamiento -Active/active clusters: Todos los nodos están en línea. 50% de clientes (nodo1) 50% de clientes (nodo2) - Active/Passive Clustering (o active/standby cluster), incluye al menos dos nodos, al menos uno de los cuales está en modo activo y maneja la totalidad de la carga, mientras el otro nodo es el backup y no posee ningún recurso en el cluster -Fault-tolerant cluster, o high-availability cluster, es un término general para implementaciones que usan clustering, RAID, hardware redundante y otras tecnologías para alcanzar los cinco nueves de tiempo sin interrupción. En este tipo de clustering, los nodos comparten recursos comunes de hardware tales como procesadores, memoria y discos, y pueden ejecutar comandos simultáneamente de manera que un nodo puede tomar el control inmediatamente si otro falla. Los tiempos de failover están en milisegunods, y allí no hay degradación de rendimiento 1.3 Failover: Ocurre cuando una aplicación individual sobre un servidor cluster falla y el servicio cluster intenta reiniciar la aplicación sobre el mismo servidor. Si el servicio no puede reiniciar la aplicación sobre el servidor original, este transfiere los recursos de la aplicación a otro servidor en el cluster y reinicia estos allí.
2. Técnicas de almacenamiento de datos empresariales 2.1 Escalabilidad: Es la habilidad de un sistema de crecer suavemente para satisfacer las demandas crecientes sin tener que ser reemplazado, reconfigurado o rediseñado 2.2 Memoria virtual; Hace que un programa de aplicación crea que la memoria es contigua aun si está fragmentada 2.3 Sistemas de almacenamiento distribuido: Un sistema distribuido de almacenamiento hace que datos almacenados en diferentes localizaciones físicas aparezcan como una estructura de almacenamiento contiguo para el usuario. Los datos pueden ser administrados como una entidad simple. Esta centralización incrementa la administración de los sistemas de almacenamiento. Un administrador puede reconfigurar el sistema de almacenamiento físico sin que tenga efecto sobre el usuario o la disponibilidad de los datos 2.4 Arreglos de drives de alto rendimiento: es un grupo de discos separados que son configurados para trabajar como una unidad para mejorar el rendimiento, disponibilidad y tolerancia a las fallas. El rendimiento mejora sobre un disco simple porque los datos sobre múltiples discos pueden ser accedidos al mismo tiempo para servir múltiples solicitudes. La disponibilidad es alta porque el arreglo puede funcionar aun si un drive esta abajo
3. Network-Attached Storage Un NAS es un servidor de archives especializado diseñado y dedicado para soportar únicamente necesidades de almacenamiento. El servidor NAS típicamente no tiene mouse, teclado o monitor. Este puede contener una variedad de dispositivos de almacenamiento. El sistema NAS tiene una dirección IP yes comúnmente atachado a redes de alto rendimiento tales como FDDI o ATM. El NAS puede ser accedido por clientes y servidores que corren bajo diferentes sistemas operativos. Todos los NAS tienen un sistema operativo modificado especialmente. Los clientes usan un protocolo de aplicación de acceso tal como Network File System (NFS) o el server Message Block (SMB) para acceder al NAS sobre la red. 4. Implementaciones de SAN (Storage Area Network) Storage Area Networks: Una San es una red de alta velocidad de propósito especial que está dedicada al almacenamiento de datos. La SAN contiene servidores que comparten acceso a dispositivos de almacenamiento de datos tales como arreglos de discos o drives de cintas. Los servidores y dispositivos dentro de la SAN están interconectados usando tecnologías de networking de alta velocidad tales como canales de fibra, FDDI, ATM o Ethernet de alta velocidad Los datos pueden ser almacenados y accedidos rápidamente, y porque los servidores y los dispositivos de almacenamiento tienen conexiones redundantes, los datos permanecen disponibles durante una falla del servidor. El tráfico de datos directo entre servidores y dispositivos de almacenamiento sobre la SAN está separada del tráfico de la red de producción. Sin embargo, la SAN puede ser compleja de implementar y la redundancia requerida implica que ellas son bastante costosas. La fibra óptica es el estándar de facto para conectividad en ambientes SAN (Tasas de transferencia pueden subir a 1 o 2 Gbps. Los canales son swicheados, punto a punto o conexiones en ciclo) Las SAN pueden ser implementadas sobre TCP/IP usando otras tecnologías de transporte de red tales como ATM o Ethernet de alta velocidad
B. Conceptos y Tecnicas de recuperación de desastres 1. Backup 1.1 Políticas de backup: Cada organización necesita mantener una política de backups que documente sus propios requerimientos de backups, procedimientos y sistemas. La política podría incluir especificaciones para todos los componentes del plan de backup, incluyendo el backup del software, hardware, medios, programación y planes de prueba, así como el diseño de la responsabilidad administrativa por el sistema 1.2 Métodos de rotación: Un método de rotación es la programación que determina el número de cintas de backups u otros conjuntos de medios que son necesarios, y la secuencia en la cual ellos son usados y reusados. El método de rotación también especifica los estándares para rotular y almacenar los medios. Este podría también especificar la programación para archivo permanente de conjuntos de backups, las localizaciones de almacenamiento de cintas fuera y en el sitio, y también si alguno conjunto extra de cintas es requerido cuando las cintas están en tránsito entre el almacenamiento en sitio y fuera del sitio
1.4. Los tipos de backup: Determinan los archivos sobre un volumen a los que se les hace backup en una operación de backup dada; ellos también afectan los requerimientos para restaurar los datos - Un backup full o normal hace backup de todos los archivos seleccionados, este limpia el bit de archivo archivado para marcar archivos como backup. El backup total marca el punto de arranque de un ciclo de rotación de backup. Este tipo de backup toma el mayor tiempo pero permite la restauración total más rápida -Un backup diferencial hace backup de los archivos que son creados o modificados desde el último backup completo. Este no marca los archivos como backup. Este tipo de backup requiere el último backup total más el último backup diferencial para realizar una restauración total. La cantidad del tiempo requerido para el backup o restauración depende del tamaño del backup diferencial actual. Un backup incremental hace backup de todos los archivos que fueron creados o modificados desde el último full backup o backup incremental. Este marca los archivos como backup, pero toma el tiempo más largo para restaurar porque una restauración completa requiere el último backup total más todos los subsecuentes conjuntos de backup incremental
Metodos de tolerancia a fallas (RAID) Los estándares RAID (Redundant Array of Independent Disks) son un conjunto de especificaciones independientes del vendedor para configuraciones tolerantes a fallas sobre múltiples sistemas de disco. Si uno o más de los discos fallan, los datos pueden ser recuperados desde los discos restantes. RAID puede ser implementado a través de software del sistema operativo, pero las implementaciones de RAID basadas en hardware son más eficientes y más ampliamente utilizadas. Hay varios niveles de de RAID, cada uno de los cuales provee una combinación diferente de características y eficiencias. Los niveles RAID son identificados por un número: RAID 0, RAID 1, y RAID 5 son los más comunes. RAID nivel cero implementa striping, el cual es el proceso de esparcir datos a través de múltiples drives. Striping puede mejorar dramáticamente el rendimiento de lectura y escritura. Sin embargo, esto no provee tolerancia a fallas. Los datos son divididos a través de multiples drives, y por consiguientes, si alguno de los drives falla, usted perderá todos sus datos. Se deben tener al menos dos drives de disco físico para implementar striping. En RAID nivel 1, los datos de una partición entera son duplicados en dos drives idénticos por uno u otro mirroring o duplexing. En mirroring, los dos discos comparten una controladora de drive. En duplexing, cada disco tiene su propia controladora de drive. Los datos son escritos en las dos partes del mirror simultáneamente. Sistemas de RAID de niel 5 dividen los datos en bytes individuales a través de múltiples drives, con información de paridad también dividida a través de múltiples drives. Se necesitan al menos tres drives de disco físicos. SI uno de los drives falla, la información de paridad sobre el resto de los drives puede ser usada para reconstruir los datos. Con RAID 5, el rendimiento se mejora porque más de acción de lectura y escritura puede ocurrir simultáneamente. Adicionalmente, los cálculos de paridad pueden crear overhead cuando se escribe