Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INGENIERIA DE SISTEMAS
MATERIA:
ESTRUCTURA Y BASE DE DATOS
NOMBRES:
CARLOS NÁJERA
EDYSON GUARACA
PROFESORA:
ING. CATHERINE CABRERA
CURSO:
TERCERO DE SISTEMAS
TEMA:
ARQUITECTURA DE LOS SISTEMAS DE BASES DE DATOS
AÑO LECTIVO
2013 -2014
INTRODUCCION
En el presente ensayo se realizara una investigación sobre la arquitectura de los sistemas de
las bases de datos. En él abordaremos varias arquitecturas como Sistemas de bases de datos
cliente-servidor, Arquitectura Centralizada, Control de concurrencia en las Bases de datos
distribuidas, entre otros.
La arquitectura ANSI/SPARC.
2. El nivel conceptual describe la estructura de los datos que van a ser almacenados en la base
de datos, esconde los detalles del almacenamiento físico y se concentra en describir entidades,
tipos de datos, relaciones, operaciones de usuario y restricciones. El nivel conceptual es un
nivel de mediación entre el nivel interno y externo. La vista conceptual es una representación
de toda la información contenida en la base de datos.
3. El nivel externo o nivel de vista incluye varios esquemas externos o vistas de usuario. Cada
esquema externo describe la parte de la base de datos en la que está interesado un grupo de
usuarios en particular y esconde el resto de la base de datos para esos usuarios. El nivel
externo es el más cercano a los usuarios, es decir, es el que se ocupa de la forma en la que los
usuarios perciben los datos.
ARQUITECTURA CENTRALIZADA
Los sistemas de bases de datos centralizadas son aquellos que se ejecutan en un único
sistema informático sin interactuar con ninguna otra computadora. Tales sistemas van desde
los sistemas de bases de datos mono usuarios ejecutándose en computadoras personales
hasta los sistemas de bases de datos de alto rendimiento encuitándose en grandes sistemas.
Se evita la redundancia.
Se evita la inconsistencia.
Pueden aplicarse restricciones de seguridad.
Puede conservarse la integridad.
El procesamiento de los datos ofrece un mejor rendimiento y resulta más confiable que
los sistemas distribuidos.
ARQUITECTURA CLIENTE/SERVIDOR
Un servidor es una aplicación que ofrece un servicio a los usuarios de Internet; un cliente es el
que solicita ese servicio.
Este tipo de arquitectura es la más utilizada en la actualidad, debido a que es la más avanzada
y la que mejor ha evolucionado en estos últimos años.
Podemos decir que esta arquitectura necesita tres tipos de software para su correcto
funcionamiento:
Software de desarrollo: este tipo de software se aloja en los clientes y solo en aquellos que se
dedique al desarrollo de aplicaciones.
Software de interacción con los usuarios: También reside en los clientes y es la aplicación
gráfica de usuario para la manipulación de datos, siempre claro a nivel usuario (consultas
principalmente).
VENTAJAS:
- El interfaz (front-end o sección frontal). Aplicaciones que funcionan sobre el SGBD (cliente).
PARALELISMO E/S
El paralelismo de E/S es cuando hablamos de divisiones en las relaciones entre varios discos
para reducir el tiempo necesario de su recuperación.
Turno rotatorio: Se recorre la relación y la i-ésima tupla se envía al disco Di quedando una
distribución homogénea de las tuplas en los discos.
División por rangos: Se distribuye rangos contiguos de valores de los atributos a cada disco.
Los sistemas de bases de datos con arquitectura paralela deben asegurarse de que dos
procesadores no actualicen simultáneamente los mismos datos de manera independiente.
Cuando un procesador accede a los datos o los actualiza, el sistema de bases de datos debe
garantizar que tenga su última versión en la memoria intermedia. El problema de asegurar que
la versión sea la última disponible se denomina problema de coherencia de cache.
Existen una serie de protocolos para garantizar la coherencia de cache, que normalmente se
integran con los de control de concurrencia para reducir la sobrecarga.
Los protocolos de este tipo de sistemas de disco compartido son los siguientes:
Con este protocolo se garantiza que cuando una transacción establece un bloqueo compartido
o exclusivo sobre una página, obtenga la copia correcta de la página.
PARALELISMO EN CONSULTAS
Es la ejecución en paralelo de una única consulta entre varios procesadores y discos, cuyo
objetivo es acelerar las consultas de ejecución prologada. Por tanto se puede hacer paralelas
las consultas haciendo paralelas las operaciones que las forman. Existen dos maneras de
ejecutar en paralelo una sola consulta:
Por lo tanto el objetivo que se persigue es dividir la relación que interviene en la consulta por
medio de técnicas de división de relaciones, guardar dichas relaciones en discos que van a ser
gestionados cada uno de ellos por un procesador, a su vez, cada procesador ejecuta su
consulta local y cada uno de estos resultados parciales se unen para formar la respuesta a la
consulta.
Niveles de Paralelismo:
Ganancia o escalamiento:
Velocidad: A mayor sea la cantidad de recursos, mayor es la velocidad del sistema
Ampliabilidad: Tareas más largas en menos tiempo. Puede ser medida en:
Lotes: Base de datos mas grande (mayor numero de registros), las
transacciones duran más tiempo.
Para este punto, consideraremos una tabla T que se tiene que almacenar el una base de datos
distribuida. Existen varias opciones:
Réplica: El sistema conserva varias copias o réplicas idénticas de la tabla. Cada réplica se
almacena en un nodo diferente, lo que da lugar a redundancia de datos. La alternativa a la
réplica es guardar la tabla en un solo nodo. La réplica presenta las siguientes ventajas e
inconvenientes:
Aumento del paralelismo: En el caso de que la mayoría de los accesos a la tabla T sean de
lectura, varios nodos pueden realizar consultas en paralelo sobre la misma tabla. Cuantas más
réplicas existan de la tabla, mayor será la posibilidad de que el dato buscado se encuentre en
el nodo desde el que se realiza la consulta, minimizando con ello el tráfico de datos entre
nodos.
Aumento de la sobrecarga en las actualizaciones: El sistema debe asegurar que todas las
réplicas de la tabla sean consistentes, por tanto, cuando se realiza una actualización sobre una
de las réplicas, los cambios deben propagarse a todas las réplicas de dicha tabla a lo largo del
sistema distribuido. Esto hace que las actualizaciones sean más costosas que en los sistemas
centralizados. En general, el sistema de réplica hace que las consultas sean más eficientes,
pero complica las actualizaciones debido al problema de la redundancia de datos y el
mantenimiento de la consistencia.
TRANSACCIONES DISTRIBUIDAS
Las transacciones distribuidas abarcan dos o más servidores conocidos como administradores
de recursos. La administración de la transacción debe ser coordinada entre los administradores
de recursos mediante un componente de servidor llamado administrador de transacciones.
Cada instancia de SQL Server Database Engine (Motor de base de datos de SQL Server)
puede funcionar como administrador de recursos en las transacciones distribuidas que
coordinan los administradores de transacciones, como el Coordinador de transacciones
distribuidas de Microsoft (MS DTC) u otros administradores que admitan la especificación Open
Group XA del procesamiento de transacciones distribuidas.
Fase de preparación
Cuando el administrador de transacciones recibe una solicitud de confirmación, envía
un comando de preparación a todos los administradores de recursos implicados en la
transacción. Cada administrador de recursos hace lo necesario para que la transacción
sea duradera y todos los búferes que contienen imágenes del registro de la transacción
se pasan a disco. A medida que cada administrador de recursos completa la fase de
preparación, notifica si la preparación ha tenido éxito o no al administrador de
transacciones.
Fase de confirmación
Si el administrador de transacciones recibe la notificación de que todas las
preparaciones son correctas por parte de todos los administradores de recursos, envía
comandos de confirmación a cada administrador de recursos. A continuación, los
administradores de recursos pueden completar la confirmación. Si todos los
administradores de recursos indican que la confirmación ha sido correcta, el
administrador de transacciones envía una notificación de éxito a la aplicación. Si algún
administrador de recursos informó de un error al realizar la preparación, el
administrador de transacciones envía un comando para revertir la transacción a cada
administrador de recursos e indica a la aplicación que se ha producido un error de
confirmación.
CONTROL DE CONCURRENCIA
DISPONIBILIDAD
Generalmente la disponibilidad se refiere al porcentaje de tiempo de un sistema o aplicación la
cual está funcionando correctamente. Ésta definición es muy simple porque la alta
disponibilidad tiene en cuenta criterios como duración, frecuencia o el impacto cuando algo
falla. El objetivo general de la alta disponibilidad es hacer un sistema tolerantes a fallas. Para
medir la disponibilidad lo hacemos en 3 componentes generales:
PROCESAMIENTO DE CONSULTAS
Primeramente se debe de contar con heterogenidad de los datos, para que puedan ser usados
para formular consultas. Tenemos los siguientes ejemplos:
bd centralizada
bd distruibuida
Contamos con la estrategia de Reformulación de consultas, que nos sirve para encontrar q la
información que nos va a proveer sea solo la que se le pidió por la fuente
CONCLUSIONES
BIBLIOGRAFIA
http://normalizacion-bd.blogspot.com/2012/11/5-arquitectura-centralizada.html
http://unefazuliasistemas.files.wordpress.com/2011/04/fundamentos-de-bases-de-
datos-silberschatz-korth-sudarshan.pdf
http://univirtual.unicauca.edu.co/moodle/pluginfile.php/18660/mod_resource/content/
0/Materiales/clase_10/03-
http://delaoarrieta.blogspot.com/2012/10/diferentes-estrategias-de-procesamiento.html
http://tadebasegino.blogspot.com/2012/11/arquitectura-clienteservidor.html