Ventajas y Tipos de Bases NoSQL
Ventajas y Tipos de Bases NoSQL
DESVENTAJAS
VENTAJAS
PRINCIPALES DIFERENCIAS
CON BASE DE DATOS
RELACIONAL
https://www.acens.com/wp-content/images/2014/02/bbdd-nosql-wp-acens.pdf
TIPOS DE BASE DE DATOS NO RELACIONAL
https://www.acens.com/wp-content/images/2
014/02/bbdd-nosql-wp-acens.pdf
BASE DE DATOS DOCUMENTALES
Almacena la información como
un documento,generalmente
utilizando para ello una
estructura simple como JSON
o XML donde utiliza una
clave única para cada
registro.
Permite realizar búsquedas
por clave-valor, realizar
consultas más avanzadas
sobre el contenido del
documento.
Son las más versátiles.
https://www.acens.com/wp-content/images/2
014/02/bbdd-nosql-wp-acens.pdf
BASE DE DATOS EN GRAFO
La información se representa
como nodos de un grafo y sus
relaciones con las aristas
del mismo, para sacar el
máximo rendimiento, su
estructura debe estar
totalmente normalizada, de
forma que cada tabla tenga
una sola columna y cada
relación dos.
Ofrece una navegación más
eficiente entre las
relaciones que en un modelo
relación
https://www.acens.com/wp-content/images/2
014/02/bbdd-nosql-wp-acens.pdf
BASE DE DATOS ORIENTADAS A OBJETOS
Se representa mediante
objetos, para la
administración de datos que
almacena tanto los datos
como los procedimientos que
actúan sobre ellos, como
objetos que se pueden
recuperar y compartir de
manera automática; los
objetos pueden contener
multimedia.
Sistemas de Información Gerencial. En Infraestructura de la tecnología de la información (p.224), por Laudon K., Laudon
J. (2016, Decimocuarta edición)
E
J
E
M
P
L
O
S
¿Qué es la Arquitectura?
Arquitectura es la organización fundamental de un sistema, donde se integran sus
componentes, se establecen las relaciones e interdependencias entre esos componentes y
su entorno y se establecen los principios para su diseño, gestión y evolución.
Diseño de Sistemas Distribuidos. En Parte 1 - Introducción a los Sistemas Distribuidos (p.7), por Martínez Gomáriz Enric.
(2010)
https://www.slideshare.net/antoniosoria585/arquitecturas-de-bases-de-datos-distribuidas-66039717
Arquitectura de las bases de datos
https://docs.google.com/document/d/1WSWPlIGuT0Acth7mnh5-MxfSjXRiWNQz9gmk-lubQvQ/mobilebasic?hl=en
MULTI BASE DE DATOS ARQUITECTURA DEL
SISTEMA
1. Un sistema multibase de datos distribuido soporta operaciones, en
múltiples sistemas de base de datos.
2. Cada SBD es manejado por un sistema manejador de base de datos
(SMBD).
3. Un SBDC en un SMulBD puede ser centralizado o distribuido
4. Puede residir en la misma computadora o en múltiples computadoras
conectadas por un subsistema de comunicación.
http://catarina.udlap.mx/u_dl_a/tales/documentos/msp/romero_m_m/capitulo1.pdf
DÉBILMENTE
Lorem Ipsum
ACOPLADAS
FUERTEMENTE
Lorem Ipsum
ACOPLADAS
MULTIBASE
FEDERACIÓN SENCILLA
SISTEMASLorem
http://catarina.udlap.mx/u_dl_a/tales/documentos/msp/romero_m_m/capitulo1.pdf
Ventajas de utilizar SGBDF débilmente acoplados:
• Existen problemas para actualizar las vistas que utilizan los usuarios.
Arquitectura de referencia para un SGBDF
fuertemente acoplado
Ventajas:
Desventajas:
https://modelosbd2012t1.wordpress.com/2012/03/15/bases-de-datos-fede
radas/?fbclid=IwAR1wAh7QN6tlwRGYFf-_sU1xz4Hg6Ok7h4FswxxOJ0rq
BASE DE DATOS BASE DE DATOS
FEDERADAS FEDERADAS
FUERTEMENTE FUERTEMENTE
ACOPLADAS ACOPLADAS
SENCILLAS MÚLTIPLES
Permite la creación y manejo de Permite la creación y manejo de
solamente un esquema federado múltiples federaciones
Diseño de Bases de Datos. En Evaluación general del sistema de archivo (p.311), por Wiederhold Gio. (1985, Segunda
edición)
Replicación de Base de Datos
Es el proceso de copiar y mantener objetos
de bases de datos como tablas, triggers,
índices, programas en múltiples base de
datos que constituyen una base de datos
distribuida.
Los cambios aplicados en un sitio son
almacenados localmente para
posteriormente ser enviados y aplicados al
sitio remoto.
https://drive.google.com/file/d/1a6E512vhV6gP1bLF0zN8nT2uBL
wA3tel/view?usp=sharing
https://www.monografias.com/trabajos81/distribucion-replicacion-oracle/distribucion-replicacion-oracle2.shtml
Diferencias en la Distribución y la Replicación
https://drive.google.com/file/d/1UOTB-5FdJ5yL9D5_D4aRWICt8IgJOQQD/view?usp=sharing
Alternativas para la implementación de SMBD
En la Figura se presentan
las diferentes dimensiones
(factores) que se deben
considerar para la
implementación de un
sistema manejador de
base de datos. Las
dimensiones son tres:
https://lihectortorres.files.wordpress.com/2010/09/base_de_datos_distribuidas.pdf
Dimensiones a considerar al integrar múltiples bases de
datos
https://lihectortorres.files.wordpress.com/2010/09/base_de_datos_distribuidas.pdf
https://drive.google.com/file/d/1-0y0g9dXlEi3pqq2WZzsHB0aQ9oL6khE/view?usp=sharing
SMBDD homogéneo
https://1drv.ms/u/s!AqedHu63r2pKkXxUWFQXUilOX1bX
Arquitectura de un SMBDD homogéneo.
http://repositorio.utn.edu.ec/bitstream/123456789/522/6/04%20ISC%20151%20CAPITULO%20IV.pdf
Replicación
Taller replicación Merge(Bidireccional)
https://1drv.ms/b/s!AqedHu63r2pKkhsfY9_aj5fxlgI6
https://docs.microsoft.com/es-es/sql/relational-databases/replication/transactional/transactional-replication?view=sql-server-2017
https://mm.tt/1288963014?t=G4rVNGXT2c
SMBDD heterogéneo
https://1drv.ms/u/s!AqedHu63r2pKkXxUWFQXUilOX1bX
Arquitectura de un SMBDD
heterogéneo
https://lihectortorres.files.wordpress.com/2010/09/base_de_datos_distribuidas.pdf
Consiste en dos partes como son: el
procesador de datos y el Procesador de
usuario.
https://lihectortorres.files.wordpress.com/2010/09/base_de_datos_distribuidas.pdf
Consta de un sistema de manejo de
bases datos para usuarios globales y
usuarios locales.
https://lihectortorres.files.wordpress.com/2010/09/base_de_datos_distribuidas.pdf
Manejo del directorio de datos en bases de datos distribuidas .
El manejo de directorio de datos es de una importancia mayor en bases de datos distribuidas. Por un lado, puede haber directorios locales o un solo
directorio global. Por otra parte, su manejo puede ser local o distribuido. Finalmente, desde otro punto de vista el directorio puede ser replicado o no
replicado, existen combinaciones, en estas tres dimensiones, que no tienen mayor relevancia. Sin embargo, en varios de los vértices del cubo en tres
dimensiones aparecen las combinaciones importantes para bases de datos distribuidas.
https://lihectortorres.files.wordpress.com/2010/09/base_de_datos_distribuidas.pdf
Arquitectura de Aplicaciones
“La mayoría de usuarios de un sistema de
bases de datos no están situados actualmente
junto al sistema de bases de datos, sino que
se conectan a él a través de una red. Se
puede diferenciar entonces entre las máquinas
cliente, en donde trabajan los usuarios
remotos de la base de datos, y las máquinas
servidor, en las que se ejecuta el sistema de
bases de datos”.
IBM. (31/07/2013) Información general sobre ODBC, JDBC y OLE DB. IBM Knowledge Center. Recuperado de:
https://www.ibm.com/support/knowledgecenter/es/SSULQD_7.1.0/com.ibm.nz.datacon.doc/c_datacon_introduction.html
ODBC
“La norma ODBC (Open Database Connectivity, Conectividad abierta de
bases de datos) define una forma para que un programa de aplicación se
comunique con un servidor de bases de datos. ODBC define una interfaz
para programas de aplicación (API, Application Program Interface) que
pueden usar las aplicaciones para abrir una conexión con una base de
datos, enviar consultas y actualizaciones y obtener resultados.”
Código de ejemplo
subido en GITHUB
FUNDAMENTOS DE BASES DE DATOS. En capítulo 4 - SQL (p.111), por Silberschatz, Korth, Sudarshan. (2002, Cuarta
edición)
ARQUITECTURA ODBC
IBM. (31/07/2013) Arquitectura ODBC y JDBC. IBM Knowledge Center. Recuperado de:
https://www.ibm.com/support/knowledgecenter/es/SSULQD_7.1.0/com.ibm.nz.datacon.doc/c_datacon_architecture.html
OLE DB
OLE DB se ha diseñado como sustituto de alto nivel para ODBC para dar
soporte a una variedad más amplia de bases de datos no relacionales que
no implementan SQL necesariamente (por ejemplo, bases de datos de
objeto y hojas de cálculo). OLE tiene un modelo cliente-servidor, donde los
clientes solicitan acceder a los datos y los servidores son las interfaces de
componente de software que permiten el acceso a los datos.
Información
sobre Ole DB
IBM. (31/07/2013) Información general sobre ODBC, JDBC y OLE DB. IBM Knowledge Center. Recuperado de:
https://www.ibm.com/support/knowledgecenter/es/SSULQD_7.1.0/com.ibm.nz.datacon.doc/c_datacon_introduction.html
JDBC
“La norma JDBC define una API que pueden usar los programas Java para
conectarse a los servidores de bases de datos (la palabra JDBC fue
originalmente abreviatura de <<Java Database Connectivity>> -Conectividad
de bases de datos con Java- pero la forma completa ya no se usa”.
Código de ejemplo
subido en GITHUB
FUNDAMENTOS DE BASES DE DATOS. En capítulo 4 - SQL (p.112), por Silberschatz, Korth, Sudarshan. (2002, Cuarta
edición)
ARQUITECTURA JDBC
IBM. (31/07/2013) Arquitectura ODBC y JDBC. IBM Knowledge Center. Recuperado de:
https://www.ibm.com/support/knowledgecenter/es/SSULQD_7.1.0/com.ibm.nz.datacon.doc/c_datacon_architecture.html
Arquitectura de 3 capas
“En una arquitectura de tres capas, la máquina cliente actúa simplemente
como frontal y no contiene ninguna llamada directa a la base de datos. En
su lugar, el cliente se comunica con un servidor de aplicaciones,
usualmente mediante una interfaz de formularios. El servidor de
aplicaciones, a su vez, se comunica con el sistema de bases de datos para
acceder a los datos. La lógica del negocio de la aplicación, que establece
las acciones a realizar bajo determinadas condiciones, se incorpora en el
servidor de aplicaciones, en lugar de ser distribuida en múltiples clientes.
Las aplicaciones de tres capas son más apropiadas para grandes
aplicaciones, y para las aplicaciones que se ejecutan en World Wide Web.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 1 - Introducción (p.12), por Silberschatz, Korth, Sudarshan. (2002,
Cuarta edición)
● Capa 1: Presentación
e interacción con el
usuario.
● Capa 2: Gestiona la
lógica empresarial de
la aplicación y puede
acceder a los
servicios del tercer
nivel.
● Capa 3: Servicios
requeridos.
IBM (28/10/2014). Arquitectura de tres niveles. IBM Knowledge Center. Recuperado de:
https://www.ibm.com/support/knowledgecenter/es/SSAW57_8.5.5/com.ibm.websphere.nd.multiplatform.doc/ae/covr_3-tier.html
DISEÑO DE UNA BASE DE DATOS
Hunter, A. (s.f). Diseño de BDD. El problema del diseño. Academia. Recuperado de:
https://www.academia.edu/29647240/UNIDAD_III_DISE%C3%91O_DE_BDD_3.1_El_problema_de_dise%C3%B1o
ENFOQUES DEL DISEÑO DE UNA
BASE DE DATOS Esta es adecuada cuando creamos un
sistema de BD por vez primera sin
restricciones de otros sistemas ya
instalados y que deban ser integrados al
sistema distribuido, es decir,Primero
elaboramos el esquema conceptual
global del proyecto y trabajamos en
función de resolver las diferentes partes
de dicho proyecto.
Hunter, A. (s.f). Diseño de BDD. El problema del diseño. Academia. Recuperado de:
https://www.academia.edu/29647240/UNIDAD_III_DISE%C3%91O_DE_BDD_3.1_El_problema_de_dise%C3%B1o
Fragmentación de los datos
FUNDAMENTOS DE BASES DE DATOS. En capítulo 19 - Bases de Datos Distribuidas (p.464), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
TIPOS DE FRAGMENTACIÓN
Chinchilla Arley, R.(s.f). Fragmentación de datos en bases de datos distribuidas. Tecnología en Marcha. Vol 16 N° 4.
Fragmentación Horizontal Fragmentación vertical Fragmentación Mixta
FUNDAMENTOS DE BASES DE DATOS. En capítulo 19 - Bases de Datos Distribuidas (p.464), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Centralizada
San, Martín González, Enrique. Salvaguarda y seguridad de los datos: administración de bases de datos (UF1473), IC Editorial, 2014. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/uleamecsp/detail.action?docID=4184153.
Características.
Se evita la inconsistencia
Ventajas
El procesamiento de los datos
ofrece un mejor rendimiento
Aquellas compañías o negocios que requieran registrar reservas tales como aerolíneas o en el caso de
un hotel, esto con tal de evitar que exista una doble reserva.
Replicadas
Copia y mantiene los objetos de las bases de datos en las múltiples bases de datos que levantan un
sistema distribuido.
San, Martín González, Enrique. Salvaguarda y seguridad de los datos: administración de bases de datos (UF1473), IC Editorial, 2014. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/uleamecsp/detail.action?docID=4184153.
Ventajas
1. Aumento de la fiabilidad: mediante la replicación de base de datos a través de múltiples servidores, te aseguras
que los datos van a estar disponibles incluso en el caso de que una de las máquinas tenga un fallo grave de
hardware.
2. Mejora en el rendimiento: al estar los datos distribuidos en diferentes servidores, los múltiples accesos no saturan
los servidores
3. Mejora en la seguridad de los datos: en un sistema transaccional tradicional, todas las actualizaciones de una
base de datos se guardan en un mismo disco. La seguridad de tus datos queda entonces en manos de la estrategia
de copias de seguridad que tengas implementada en ese servidor.
Replicación pasiva. - para la tolerancia a fallos nos encontramos con un nodo primario y un conjunto de
nodos secundarios. En este caso el cliente envía la petición al nodo primario el cual eventualmente
actualiza su copia y envía la actualización de manera síncrona a los secundarios. Estos, a su vez,
envían un mensaje de ACK al primario cuando han actualizado su copia.
Replicación activa. - la petición de un cliente se envía a todas las réplicas las cuales la tratan de forma
concurrente. En este caso el cliente se sincroniza con la primera respuesta que obtiene y desecha las
posteriores.
Este modelo consiste en que solo hay una copia de cada elemento, pero la información está distribuida a
través de los nodos.
San, Martín González, Enrique. Salvaguarda y seguridad de los datos: administración de bases de datos (UF1473), IC Editorial, 2014. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/uleamecsp/detail.action?docID=4184153.
Híbrida
Las bases de datos híbridas combinan características de las bases de datos relacionales y las bases
de datos orientadas a objetos. Manejan datos textuales y datos binarios, a los cuales se extienden las
posibilidades de consulta. Es una tecnología reciente y aún existen pocas en el mercado.
J Fernández, JC Giraldo Metodología para la construcción de un migrador universal de bases de datos, Dyna, 2011.
https://www.redalyc.org/pdf/496/49622372028.pdf
Base de datos relacional
Diseño de bases de datos. En Capítulo 11 - Métodos para lograr confiabilidad (p.641), por Wiederhold Gio. (1985,
Segunda edición)
Violaciones de la seguridad
Los datos guardados en la base de datos deben estar protegidos contra los
accesos no autorizados, de la destrucción o alteración malintencionadas
además de la introducción accidental de inconsistencias que evitan las
restricciones de integridad.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 6 - Integridad y seguridad (p.149), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Autorizaciones
Los usuarios pueden tener varios tipos de autorización para diferentes
partes de la base de datos. Entre ellas están las siguientes.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 6 - Integridad y seguridad (p.150), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Esquemas, catálogos y entornos
“Los sistemas de bases de datos actuales
proporcionan una jerarquía de tres niveles
para denominar a las relaciones. El nivel
superior de la jerarquía consiste en
catálogos, cada uno de los cuales puede
contener esquemas. Los objetos SQL
tales como las relaciones y las vistas
están contenidos en un esquema”.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 4 - SQL (p.114), por Silberschatz, Korth, Sudarshan. (2002, Cuarta
edición)
Autorizaciones para modificar el esquema de base de
datos
Los usuarios pueden recibir autorización para modificar el esquema de la
base de datos.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 6 - Integridad y seguridad (p.150), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Autorizaciones y vistas
“Una vista puede ocultar los datos que un
usuario no necesita ver. La capacidad de
las vistas para ocultar datos sirve para
simplificar el uso del sistema y para
mejorar la seguridad. El uso del sistema
se simplifica porque se permite al usuario
restringir su atención a los datos de
interés”.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 6 - Integridad y seguridad (p.150), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
El privilegio de conceder privilegios
Un usuario o papel al que se le concede un privilegio no está autorizado de manera predeterminada a
concederselo a otro usuarios o papeles. Si se desea conceder un privilegio a un usuario y permitirle que
lo transmita a otros usuarios hay que añadir la cláusula with grant option a la orden grant
correspondiente. Por ejemplo, si se desea conceder U1 el privilegio select sobre sucursal y que pueda
transmitirlo a otros, hay que escribir.
Para retirar una autorización se utiliza la instrucción revoke. Adopta una forma casi idéntica a la de grant:
revoke<lista de privilegios> on <nombre de relación o de vista> from <lista de usuarios o papeles> [restrict|
cascade]
Por tanto, para retirar los privilegios que se han concedido con anterioridad hay que escribir.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 6 - Integridad y seguridad (p.154), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
El cifrado
“El cifrado es una operación
criptográfica reversible que
transforma datos significativos sin
proteger, conocidos como texto
sin formato, en datos ilegibles,
cifrados, conocido como texto
cifrado, utilizando una clave
llamada clave de cifrado.”
Definición propia
Imagen: https://blogs.msdn.microsoft.com/luispanzano/2011/06/26/backup-para-sql-azure/
Cuando una base de datos se encuentra en múltiples servidores y distribuye a un número determinado de nodos
Transformaciones equivalentes
Métodos Arquitectura
PROCESAMIENTO DISTRIBUIDO
DE CONSULTAS
Reuniones-Join
El coste de la La ganancia
transmisión de los Replicación y potencial en
datos por la red fragmentación rendimiento
FUNDAMENTOS DE BASES DE DATOS. En capítulo 19 - Bases de Datos Distribuidas (p.480), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Transformaciones de consultas
FUNDAMENTOS DE BASES DE DATOS. En capítulo 19 - Bases de Datos Distribuidas (p.480), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Relación: cuenta
cuenta1 cuenta2
La transparencia de la fragmentación implica que los usuarios pueden escribir una consulta como:
FUNDAMENTOS DE BASES DE DATOS. En capítulo 19 - Bases de Datos Distribuidas (p.480), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Procesamiento de reuniones sencillas
FUNDAMENTOS DE BASES DE DATOS. En capítulo 19 - Bases de Datos Distribuidas (p.481), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Enviar
Sitio 1 copia
Enviar
copia
Sitio 2 SITIO DE CONSULTA
Enviar
copia
Sitio 3
SITIO DE CONSULTA
Sitio 1
Enviar
copia
Calcular
Sitio 2
ar
n vi
E
Calcular
Sitio 3
Estrategia de semirreunión (Semi-Join)
El procesamiento de consultas distribuidas mediante la operación de
semirreunión se basa en la idea de reducir el número de tuplas de una
relación antes de transferirla a otro sitio.
Esta estrategia resulta muy útil cuando pocas tuplas de una relación
contribuyen a la operación “join”. Generalmente esto ocurre cuando la
relación con la que se realiza el join es el resultado de un select. De
esta manera existiría un ahorro de costes al no tener que enviar toda
la relación al sitio que solicitó la consulta.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 19 - Bases de Datos Distribuidas (p.481), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Estrategia de semirreunión (Semi-Join)
FUNDAMENTOS DE BASES DE DATOS. En capítulo 19 - Bases de Datos Distribuidas (p.481), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Estrategia de semirreunión (Semi-Join)
https://mariadb.com/kb/it/semi-join-subquery-optimizations/
Estrategia de reunión que aprovechan el paralelismo
paralelismo
El paralelismo en consultas se refiere a la ejecución en paralelo de una única consulta en
varios procesadores y discos interviniendo por rangos basados en un atributo .
FUNDAMENTOS DE BASES DE DATOS. En capítulo 19 - Bases de Datos Distribuidas (p.482), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Estrategia de reunión que aprovechan el paralelismo
una estrategia de consulta basada en paralelismo se basa en hacer
paralelas las consultas , haciendo paralelas las operaciones que esta
contiene.
como fuente de paralelismo para la evaluación de las consultas está el árbol
de operadores de las consultas, el cual puede contener varias operaciones ,
estas evaluaciones del árbol de operadores se pueden hacer paralelos
evaluando en paralelos algunas de las operaciones que no tengan ninguna
dependencia entre sí. Además puede que se logre encauzar el resultado de
una operación hacia otra.
Las dos operaciones pueden ejecutarse en paralelo en procesadores separados,
uno que genere el resultado que consuma el otro, incluso simultáneamente con
su generación.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 19 - Bases de Datos Distribuidas (p.482), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Estrategia de reunión que aprovechan el paralelismo
Paralelismo en operaciones. Se
Paralelismo entre
puede acelerar el procesamiento de
operaciones. Se puede acelerar
consultas haciendo paralela la
el procesamiento de consultas
ejecución de cada una de las
ejecutando en paralelo las
operaciones individualmente, como
diferentes operaciones de las
puede ser la ordenación, la selección,
expresiones de las consultas.
la proyección y la reunión. (order,
este se trabaja desde un solo
select, from where, join). o también
select
se puede trabajar mediante varios
select.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 19 - Bases de Datos Distribuidas (p.482), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Estrategia de reunión que aprovechan el paralelismo
FUNDAMENTOS DE BASES DE DATOS. En capítulo 19 - Bases de Datos Distribuidas (p.482), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Características de los Procesadores de consultas
Tipo de optimización
Granularidad de la
optimización
Existen dos alternativas: considerar sólo una consulta a la vez o tratar de optimizar
múltiples consultas.
Tiempo de la
optimización
Una consulta puede ser optimizada en tiempos diferentes con relación a tiempo de
ejecución de la consulta.
¿Qué es la multitarea?
Administración de los sistemas de información. En Capítulo 7 - El Software de los sistemas de información (p.229), por
Laudon K., Laudon J. (1996, Tercera edición)
Procesamiento de consultas
El procesamiento de consultas hace referencia a la serie de actividades
implicadas en la extracción de datos de una base de datos. Estas
actividades incluyen la traducción de consultas expresadas en lenguajes de
bases de datos de alto nivel en expresiones implementadas en el nivel físico
del sistema, así como transformaciones de optimización de consultas y
evaluación real de las mismas.
- Análisis y traducción.
- Optimización.
- Evaluación.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 13 - Procesamiento de consultas (p.319), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Procesamiento de consultas
Optimizador
Resultado de Motor de
la consulta evaluación Plan de ejecución
Pasos en el procesamiento
de una consulta Datos Estadísticas de
los datos
FUNDAMENTOS DE BASES DE DATOS. En capítulo 13 - Procesamiento de consultas (p.319), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Medidas de coste de una consulta
El coste de la evaluación de una consulta se puede expresar en términos de
diferentes recursos, incluyendo los accesos a disco, el tiempo de UCP en
ejecutar una consulta y, en sistemas de bases de datos distribuidos o
paralelos, el coste de la comunicación. De esta manera para medir el coste
del disco se usan los MB/s tanto de escritura como de lectura, en el caso del
procesador se toma en cuenta la velocidad de reloj, la cual se mide en GHz
y finalmente el coste de comunicación va enfocado al ancho de banda que
por lo general es medido en Mbps.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 13 - Procesamiento de consultas (p.321), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
ARQUITECTURA DEL PROCESAMIENTO DE
CONSULTAS
El procesamiento de consultas tiene como objetivo principal transformar una consulta escrita en un
lenguaje de alto nivel, como puede ser SQL, en una estrategia de ejecución correcta y eficiente expresada
en un lenguaje de bajo nivel, como puede ser el álgebra relacional, y ejecutar la estrategia para extraer
los datos requeridos.
Medina, T. (23 de Abril de 2013). Bases de datos distribuidas. Recuperado el 22 de Julio de 2019, de
http://basesdedatosatope.blogspot.de/2013/04/bases-de-datos-distribuidas.html
Descomposición Optimización
Procesamiento de
consultas
Medina, T. (23 de Abril de 2013). Bases de datos distribuidas. Recuperado el 22 de Julio de 2019, de
http://basesdedatosatope.blogspot.de/2013/04/bases-de-datos-distribuidas.html
● La descomposición de consultas transforma una consulta de alto nivel en una consulta de
álgebra relacional y comprueba que dicha consulta sea sintáctica y semánticamente
correcta.
● La fase de optimización de una consulta tiene por objeto generar el plan de ejecución para
la consulta a partir del programa algebraico generado en la fase de descomposición anterior.
● La fase de ejecución es la fase en la que ejecutamos las instrucciones, donde ”las llevamos
a cabo”.
Medina, T. (23 de Abril de 2013). Bases de datos distribuidas. Recuperado el 22 de Julio de 2019, de
http://basesdedatosatope.blogspot.de/2013/04/bases-de-datos-distribuidas.html
Descomposición de consultas
En la descomposición de consultas, la primera parte se encarga de descomponer una consulta en
cálculo relacional, en una consulta en álgebra relacional que opera sobre relaciones globales.
Consta de cinco partes:
2- Normalización
1- Análisis
Descomposición
de Consultas
3- Análisis Semántico
5- Reestructuración
4- Simplificación
Marqués, M. (22 de Enero de 2009). Departamento de Ingeniería y Ciencia de la Computación. Recuperado el
23 de Julio de 2019, de http://www3.uji.es/~mmarques/apuntes_bbdd/apuntes.pdf
Ventajas:
Las ventajas de utilizar la descomposición de consultas:
● Favorecer la naturaleza distribuida de muchas aplicaciones, no
solamente a nivel local sino incluso en diferentes lugares.
● Mejorar el rendimiento de las consultas a través de la utilización de
algoritmos eficientes
● Reducir el número de transacciones ejecutándose por sitio.
● Descomposición de consultas en subconsultas que pueden ejecutarse
en paralelo.
● Aumento de la fiabilidad y la disponibilidad de los datos.
● La autonomía de estos sistemas es alta.
Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla. Diseño de
bases de datos. 2005
http://www.lsi.us.es/docencia/get.php?id=1473
Ejemplo:
Teniendo en cuenta la siguiente expresión sql
la consulta es equivalente
a la expresión simplificada:
Solución mediante
álgebra booleana
Algebra relacional en Base de
Datos
El álgebra relacional tiende a ser considerado como una
parte integral del modelo de datos relacional
FUNDAMENTOS DE BASES DE DATOS. En capítulo 6 - Álgebra relacional y cálculos relacionales (p.145), por Rames
Elmasri, Shamkant V. Navathe (2007, Quinta edición)
Selección
Existen numerosas opciones a la hora de ejecutar una
operación SELECT; algunas dependen de las rutas de acceso
específicas al fichero y quizá sólo se apliquen a determinados
tipos de condiciones de selección. En esta sección veremos
algunos de los algoritmos para la implementación de SELECT
Ejemplo:
Métodos de búsqueda
Utilización de un índice primario para encontrar varios registros.- Si la
en SELECTION Simple condición de comparación es >, >, <, o < sobre un campo clave con un índice
S4 primario, se utilizará el índice para encontrar el registro que satisfaga la
correspondiente condición de igualdad
Ejemplo:
FUNDAMENTOS DE BASES DE DATOS. En capítulo 19 - Bases de Datos Distribuidas (p.466), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Asegurar la integridad de datos
Para asegurar la integridad de los datos se necesita que el sistema de base de datos
mantenga las siguientes propiedades de las transacciones.
Consistencia.- La ejecución aislada de la transacción (es decir, sin otra transacción que se
ejecute concurrentemente) conserva la consistencia de la base de datos.
Durabilidad.- Tras la finalización con éxito de una transacción, los cambios realizados en la
base de datos permanecen, incluso si hay fallos en el sistema.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 15 - Transacciones (p.368), por Silberschatz, Korth, Sudarshan.
(2002, Cuarta edición)
Terminación con éxito de una transacción
Es necesario precisar qué se entiende por terminación con éxito de una transacción. Se
establece por tanto un modelo simple abstracto de transacción. Una transacción debe estar
en uno de los estados siguientes.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 15 - Transacciones (p.369), por Silberschatz, Korth, Sudarshan.
(2002, Cuarta edición)
Transición estados de una transacción
FUNDAMENTOS DE DISEÑO DE BASES DE DATOS. En capítulo 13 - Transacciones (p.437), por Silberschatz, Korth,
Sudarshan. (2007, Quinta edición)
ÁREAS DE APLICACIÓN
❖ Las transacciones se pueden ejecutar en aplicaciones no
distribuidas.
❖ Las transacciones que operan en datos distribuidos se les
conoce como transacciones distribuidas.
❖ Por otro lado, dado que los resultados de una transacción que
realiza un commit son durables, la única forma de deshacer los
efectos de una transacción con commit es mediante otra
transacción. A este tipo de transacciones se les conoce como
transacciones compensatorias.
TÒPICOS DE BASE DE DATOS - 1.5. Manejo de transacciones - por Díaz Domínguez Genaro
https://topicdb.wordpress.com/1-5-manejo-de-transacciones/
TIPOS DE TRANSACCIONES
❖ Finalmente, en ambientes heterogéneos se presentan
transacciones heterogéneas sobre los datos.
FUNDAMENTOS DE DISEÑO DE BASES DE DATOS. En capítulo 24.6- Gestión de Transacciones, por Silberschatz,
Korth, Sudarshan. (2007, Quinta edición)
TIEMPO DE DURACIÓN
Tomando en cuenta el tiempo que transcurre desde que se inicia una
transacción hasta que se realiza un commit o se aborta, las transacciones
pueden ser de tipo batch o en línea. Estas se pueden diferenciar también
como transacciones de corta y larga vida.
Las transacciones en línea se caracterizan por tiempos de respuesta muy
cortos y por accesar un porción relativamente pequeña de la base de
datos.
Por otro lado, las transacciones de tipo batch toman tiempos
relativamente largos y accesan grandes porciones de la base de datos.
TÒPICOS DE BASE DE DATOS - 1.5. Manejo de transacciones - por Díaz Domínguez Genaro
https://topicdb.wordpress.com/1-5-manejo-de-transacciones/
ESTRUCTURA
La estructura que puede tener una
ESTRUCTURA DE TRANSACCIONES transacción se examinan dos
aspectos: si una transacción
puede contener a su vez
subtransacciones o el orden de las
consisten de acciones de lectura y escritura
TRANSACCIONES ANIDADAS:
una secuencia dentro de una transacción.
de operaciones
EJEMPLO: primitivas
TRANSACCIONES PLANAS:
encerradas
si el padre de una entre las consisten de una secuencia de
o varias palabras clave operaciones primitivas encerradas
transacciones begin y end. entre las palabras clave begin y end.
aborta, las
subtransacciones
restricciones obvias en una
hijas también
transacción anidada: debe EJEMPLO:
serán abortadas. empezar después que su
padre y debe terminar antes
que él.
TÒPICOS DE BASE DE DATOS - 1.5. Manejo de transacciones - por Díaz Domínguez Genaro
https://topicdb.wordpress.com/1-5-manejo-de-transacciones/
Concurrencia
ADMINISTRACIÓN DE BASES DE DATOS. En capítulo 5 - Concurrencia de transacciones (p93), por Mercy Ospina
(2018,)
Control de concurrencia
FUNDAMENTOS DE BASES DE DATOS. En capítulo 25 - Oracle (p.624), por Silberschatz, Korth, Sudarshan. (2002,
Cuarta edición)
Ejemplo de ROLLBACK
https://www.google.com/search?q=ejemplo+de+rollback+oracle&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiXmaDep8_jAhVux1kKHXRwDI
wQ_AUIESgB&biw=1242&bih=568#imgrc=wqW9Xmm0qLy_8M:
BLOQUEOS EN ORACLE
➢ Oracle provee concurrencia e integridad de datos entre
transacciones concurrentes a través de bloqueos.
➢ Como los mecanismos de control de concurrencia de Oracle
están ligados a mecanismos de bloqueos, Oracle
proporciona y administra automáticamente mecanismos del
bloqueo.
➢ En Oracle existen bloqueos implícitos para las
sentencias SQL, así los usuarios (casi) no necesitan
bloquear explícitamente los datos.
➢ Estos mecanismos automáticos ocurren al más bajo nivel
de restrictividad (a nivel de filas garantizando
integridad de datos y alta concurrencia.)
https://www.fdi.ucm.es/profesor/fernan/DBD/apuntestema07.pdf
SERIALIZACIÓN DE TRANSACCIONES
Consiste en asegurarse que los cambios siguen un orden adecuado.
También llamado una historia se define un conjunto de transacciones I=
{T1,T2, TN} y especifican orden entrelazada de la ejecución de las
operaciones de las transacciones. La canderilizacion puede ser
especificada como una orden parcial sobre T.
https://www.fdi.ucm.es/profesor/fernan/DBD/apuntestema07.pdf
Taxonomía de los mecanismos de Control de
concurrencias
El criterio de clasificación más
común de los algoritmos de control
de concurrencia es el tipo de
primitiva de sincronización.
Pesimista: sincronizan la
ejecución concurrente de las
transacciones en su etapa inicial
de su ciclo de ejecución.
Optimista: retrasan la
sincronización de las transacciones
hasta su terminación
Existen diversos enfoques para complementar el gestor de bloqueos, cada uno de ellos
con ventaja y desventaja se describen a continuación los principales enfoques. Gestión
único de bloqueo.-
Una estampa de tiempo es un identificador simple que sirve para identificar cada
transacción de manera única.
Otra propiedad de las estampas de tiempo es la monotonicidad, esto es, dos estampas
de tiempo generadas por el mismo administrador de transacciones deben ser
monotónicamente crecientes.
http://martinezprosperobdd.blogspot.com/2012/11/control-de-concurrencia.html
Definición de vistas
“Las vistas se definen utilizando la instrucción create view. Para definir una
vista hay que darle un nombre e indicar la consulta que la va a calcular. La
forma de la instrucción create view es.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 3 - El Modelo Relacional (p.73), por Silberschatz, Korth, Sudarshan.
(2002, Cuarta edición)
“Si una relación de vistas se calcula y se guarda, puede quedar desfasada si
las relaciones utilizadas para definirla se modifican”...
FUNDAMENTOS DE BASES DE DATOS. En capítulo 14 - Optimización de consultas (p.359), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Administración deVistas
- Creación o modificación de vistas con CREATE VIEW o ALTER VIEW
- Eliminación de vistas con DROP VIEW
- Obtención de información de definición de una vista con SHOW
CREATE VIEW
Vistas Avanzadas
.Vistas Estáticas.- Pueden contener datos de tablas y las columnas necesarias de
estas tablas se deben especificar con cláusulas SELECT y WHERE.
•Vistas Dinámicas.- Pueden contener datos de una o dos tablas e incluir
automáticamente todas las columnas de la tabla o tablas especificadas.
https://slideplayer.es/slide/152251/
Definición de seguridad
“El término seguridad se emplea para describir la protección contra la
destrucción de los sistemas y su contenido”.
Diseño de bases de datos. En Capítulo 11 - Métodos para lograr confiabilidad (p.641), por Wiederhold Gio. (1985,
Segunda edición)
Violaciones de la seguridad
Los datos guardados en la base de datos deben estar protegidos contra los
accesos no autorizados, de la destrucción o alteración malintencionadas
además de la introducción accidental de inconsistencias que evitan las
restricciones de integridad.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 6 - Integridad y seguridad (p.149), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Autorizaciones
Los usuarios pueden tener varios tipos de autorización para diferentes
partes de la base de datos. Entre ellas están las siguientes.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 6 - Integridad y seguridad (p.150), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Autorizaciones para modificar el esquema de base de
datos
Los usuarios pueden recibir autorización para modificar el esquema de la
base de datos.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 6 - Integridad y seguridad (p.150), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
El privilegio de conceder privilegios
Un usuario o papel al que se le concede un privilegio no está autorizado de manera predeterminada a
concederselo a otro usuarios o papeles. Si se desea conceder un privilegio a un usuario y permitirle que
lo transmita a otros usuarios hay que añadir la cláusula with grant option a la orden grant
correspondiente. Por ejemplo, si se desea conceder U1 el privilegio select sobre sucursal y que pueda
transmitirlo a otros, hay que escribir.
Para retirar una autorización se utiliza la instrucción revoke. Adopta una forma casi idéntica a la de grant:
revoke<lista de privilegios> on <nombre de relación o de vista> from <lista de usuarios o papeles> [restrict|
cascade]
Por tanto, para retirar los privilegios que se han concedido con anterioridad hay que escribir.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 6 - Integridad y seguridad (p.154), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Integridad de la Base de Datos
Cuando hablamos de integridad en base de datos nos estamos refiriendo a la completitud, la
exactitud y la coherencia del conjunto de datos de una base de datos. Podemos tener una
percepción de esta integridad en base de datos cuando vemos que entre dos instancias o entre
dos actualizaciones de un registro de datos, no hay ninguna alteración, lo que significa que los
datos están intactos y sin cambios.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 6 - Integridad y seguridad (p.142), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Problemas de integridad
Los valores de los datos almacenados en la base de datos deben satisfacer
ciertos tipos de restricciones de consistencia. Por ejemplo, el saldo de
ciertos tipos de cuentas bancarias no puede nunca ser inferior a una
cantidad predeterminada(por ejemplo $25,00). Los desarrolladores hacen
cumplir esas restricciones en el sistema añadiendo el código
correspondiente en los diversos programas de aplicación. Sin embargo,
cuando se añaden nuevas restricciones, es difícil cambiar los programas
para hacer que se cumplan.
FUNDAMENTOS DE DISEÑO DE BASES DE DATOS. En capítulo 1 - Introducción (p.3), por Silberschatz, Korth,
Sudarshan. (2007, Quinta edición)
Protocolos basados en bloqueo
Bloque
o
Existen muchos modos mediante los
cuales se puede bloquear un elemento de
datos.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 16 - Control de concurrencia (p.383), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Concesión de
Bloqueo
Cuando una Transacción desee solicitar un
bloqueo hacia un elemento de dato, se le
puede otorgar sin ningún problema.
Pero...
De este modo, una petición de bloqueo nunca se quedará bloqueada por otra
petición de bloqueo solicitada más tarde
Protocolo de bloqueo de dos
fases
FUNDAMENTOS DE BASES DE DATOS. En capítulo 16 - Control de concurrencia (p.386), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Implementación de
bloqueos
Se puede implementar como un proceso que recibe
mensajes de transacciones y envía mensajes como
respuesta.
El sistema de base de datos asigna esta marca temporal antes de que comience
la ejecución de Ti. Si a la transacción Ti se le ha asignado la marca temporal
MT(Ti) y una nueva transacción Tj entra en el sistema, entonces MT(Ti) < MT(Tj ).
1.- Usar el valor del reloj del sistema Usar un contador lógico que se
como marca temporal; es decir, la marca incrementa cada vez que se asigna una
temporal de una transacción es igual al nueva marca temporal; es decir, la marca
valor del reloj en el momento en el que la temporal de una transacción es igual al
transacción entra en el sistema. valor del contador en el momento en el
cual la transacción entra en el sistema.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 16 - Control de concurrencia (p.540), por Silberschatz, Korth,
Sudarshan. (2006, Quinta edición)
Protocolo
de En aquellos casos en que la mayoría de las transacciones son de sólo
lectura, la tasa de conflictos entre las transacciones puede ser baja.
Validación
1.-Fase de lectura. Durante esta fase tiene lugar la ejecución
de la transacción Ti. Se leen los valores de varios elementos
de datos y se almacenan en variables locales de Ti. Todas las
operaciones escribir se realizan sobre las variables locales
Se asume que cada temporales sin actualizar la base de datos actual.
transacción Ti se
ejecuta en dos o tres 2.-Fase de validación. La transacción Ti realiza una prueba de
las validación para determinar si puede copiar a la base de datos
fases diferentes Fases
durante su tiempo de las variables locales temporales que tienen los resultados de
Son las operaciones escribir sin causar una violación de la
vida dependiendo de
si es una transacción secuencialidad.
de sólo lectura o una 3.-Fase de escritura. Si la transacción Ti tiene éxito en la
de actualización. validación (paso 2) entonces las actualizaciones reales se
aplican a la base de datos. En otro caso, Ti retrocede.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 16 - Control de concurrencia (p.543), por Silberschatz, Korth,
Sudarshan. (2006, Quinta edición)
Para realizar la prueba de validación se necesita conocer el momento en
que tienen lugar las distintas fases de las transacciones Ti. Se asociarán
por tanto tres marcas temporales distintas a la transacción Ti
FUNDAMENTOS DE BASES DE DATOS. En capítulo 16 - Control de concurrencia (p.543), por Silberschatz, Korth,
Sudarshan. (2006, Quinta edición)
Protocolo de
interbloqueo
Un sistema está en estado de interbloqueo si existe un
conjunto de transacciones tal que toda transacción del
conjunto está esperando a otra transacción del conjunto.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 16 - Control de concurrencia (p.398), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Prevención de
interbloqueos
Existen dos enfoques a la prevención de interbloqueos.
- Un enfoque asegura que no puede haber esperas cíclicas ordenando las peticiones de
bloqueo o exigiendo que todos los bloqueos se adquieran juntos.
- El otro enfoque es más cercano a la recuperación de interbloqueos y realiza retrocesos de las
transacciones en lugar de esperar un bloqueo, siempre que el bloqueo pueda llevar
potencialmente a un interbloqueo.
FUNDAMENTOS DE BASES DE DATOS. En capítulo 16 - Control de concurrencia (p.399), por Silberschatz, Korth,
Sudarshan. (2002, Cuarta edición)
Detección de
interbloqueos Para ilustrar estos conceptos
considérese el siguiente grafo
de espera
Diseño de Bases de Datos. En Métodos para lograr confiabilidad (p.641), por Wiederhold Gio. (1985, Segunda edición)
Confiabilidad
“La confiabilidad se logra cuando un sistema de computación, tanto
hardware como software, siempre produce resultados correctos. Un
problema obvio resulta la determinación de lo que es correcto. Se
empleará el término falla para denotar la causa y la palabra error para la
manifestación de una falla. El hecho de que algo no esté totalmente
correcto se demuestra al ocurrir un error”
Diseño de Bases de Datos. En Métodos para lograr confiabilidad (p.642), por Wiederhold Gio. (1985, Segunda edición)
“Para producir resultados correctos se requieren datos correctos y
algoritmos correctos, el sistema debe efectuar correctamente los
algoritmos. Con frecuencia una sola técnica puede proporcionar tanto
detección como cierta capacidad de restauración.”
Diseño de Bases de Datos. En Métodos para lograr confiabilidad (p.642), por Wiederhold Gio. (1985, Segunda edición)
MTBF (Tiempo medio
Probabilidades de entre fallas) Falla del sistema de
fallas almacenamiento
Técnicas de
confiabilidad
Diseño de Bases de Datos. En Métodos para lograr confiabilidad (p.643, 644, 645), por Wiederhold Gio. (1985, Segunda
edición)
Disponibilidad
“El efecto del manejo de fallas, tal como lo ve el usuario, a menudo se
mide como la disponibilidad, esto es, la fracción de tiempo que el
sistema es capaz de producir”
Diseño de Bases de Datos. En Métodos para lograr confiabilidad (p.645), por Wiederhold Gio. (1985, Segunda edición)
Protocolos y técnicas
Protocolos Locales
Cada nodo posee un administrador de recuperación local (LRM) cuyas
funciones mantienen las propiedades de atomicidad y durabilidad de las
transacciones locales.
Ellas están relacionadas a la ejecución de los comandos que son
pasados al LRM, las cuales son:
- begin_transaction
- read
- write
- commit y
- abort
http://temasdelainformaticatv.blogspot.com/2015/11/base-de-datos-distribuidas.html
En las tareas de recuperación se revisará particularmente la interfaz entre
el LRM y el administrador del buffer de la base de datos.
https://www.academia.edu/21644659/CAPITULO_1._INTRODUCCION
Técnica de Prevención de Fallas
Asegura que en el sistema implementado no ocurrirá
ninguna falla.
https://www.academia.edu/21644659/CAPITULO_1._INTRODUCCION
Técnica de Tolerancia a Fallas
Reconoce que las fallas pueden ocurrir, por lo que implementa mecanismo
dentro del sistema que detectan y solventan la falla.
Para esto se vale de:
- Redundancia de componentes.
- Modularización -> cada componente es un módulo con interfaces bien definidas
-> asegura el aislamiento de la falla dentro de un componente.
-
Un componente puede ser fail-stop (constantemente se monitorea y cuando
detecta una falla se termina automáticamente) ó process-pairs el módulo se
encuentra duplicado teniendo una réplica primaria y otra de backup, manteniendo
entre ellas una constante comunicación por pase de mensajes o memoria
compartida.
https://www.academia.edu/21644659/CAPITULO_1._INTRODUCCION
Recuperación en un DBMS
El DBMS se enfrenta y debe recuperarse de varias fallas. éstas van desde
errores en programas de aplicación o software de sistema a fallas de hardware e
interrupciones de energía eléctrica. La clave para una recuperación de desastre
es la redundancia de almacenamiento, y la magnitud de almacenamiento
copiado está determinada por la exposición a riesgo que puede ser tolerada. Si
el diseñador debe reducir el riesgo a un valor muy bajo, debe mantener dos o
más copias completas de toda la base de datos. Este método sufre de la
sobrecarga agregada de ejecutar transacciones en todas las copias y de
mantener sincronización continua entre los sistemas redundantes. La mayor
parte de sistemas de bases de datos toma un método menos radical, estos
intentan reducir al mínimo la cantidad de datos perdidos en un falla, al
restablecer el estado correcto de base de datos a un punto y tiempo tan cercano
como sea posible al punto de falla. Además, el DBMS puede volver a iniciar
ciertas transacciones que fueron interrumpidas por la falla.
Bases de datos - Modelos, lenguajes, diseño. En capítulo 20 - Desempeño (p.981), por Silberschatz, Korth, Sudarshan.
(2000)