El documento describe diferentes arquitecturas de bases de datos, incluyendo centralizada, cliente-servidor, paralela y distribuida. Explica las ventajas de arquitecturas cliente-servidor sobre las centralizadas, y describe los roles del cliente y servidor. También cubre conceptos como servidor de transacciones, servidor de datos, y niveles de paralelismo.
3. Ventajas de los sistemas actuales
Relación directa entre el sistema de computo y la arquitectura
de la base de datos
Arquitecturas Disponibles:
Centralizada
Cliente-Servidor
Paralelas
Distribuidas
5. ARQUITECTURA CLIENTE-SERVIDOR
De la arquitectura centralizada a la arquitectura
Cliente-Servidor
Mejoras en los equipos del lado del cliente:
Memoria
Procesador
Disco
Tarjeta deVideo (Soporte de las GUIS del sistema)
7. El Cliente: manejo de la interfaz grafica, entradas, reportes,
algunas validaciones, notificaciones, etc. (la parte visible al
usuario). Otras formas de cliente: Hojas de calculo, paquetes
estadísticos, etc.
El Servidor: Manejo de las transacciones, procesamiento,
validaciones de integridad, control de concurrencia, etc.
Posibles arquitecturas: Servidor deTransacciones y Servidor
de Datos
La Interfaz (Api): Mecanismo de comunicación entre el cliente
y el servidor (JDBC, ODBC)
8. SERVIDOR DETRANSACCIONES
Los clientes envían peticiones (SQL), el servidor las resuelve y
retorna el resultado al cliente. Componentes:
Procesos servidor: Proceso o hilo que atiende las peticiones
del usuario
Gestor de bloqueos: Concesión de bloqueos y detección de
Interbloqueos
Proceso escritor:Volcado a disco de bloques en memoria
Principal
Escritor de registros: Escritura del registro histórico
Proceso de puntos de revisión
Monitor de Procesos: Revisión y recuperación de otros
procesos
9.
10. SERVIDOR DE DATOS
Útiles en BDOO
Los datos son enviados a los clientes y este puede realizar
procesamiento de los mismos y enviarlos al servidor
Se requiere un buen canal de comunicación entre los nodos
11. ARQUITECTURAS PARALELAS
Solución al problema de transacciones masivas
Paralelismo a nivel de disco (I/O) y de procesador
Medidas del rendimiento en:
Productividad (Throughput): #Tareas/U.Tiempo
Tiempo de Respuesta:T para una tarea
12. NIVELES DE PARALELISMO
GranoGrueso: Cada transacción en un procesador diferente
Grano Fino: Las operaciones de cada transacción se pueden
distribuir en varios procesadores
Ganancia o escalamiento:
Velocidad:A mayor sea la cantidad de recursos, mayor es la
velocidad del sistema
Ampliabilidad:Tareas mas largas en menos tiempo. Puede ser
medida en:
Lotes: Base de datos mas grande (mayor numero de registros),
las transacciones duran mas tiempo
Transacciones:Aumenta el numero de transacciones que llegan
a la base de datos y crece el tamaño de la misma
13.
14. INCONVENIENTES CON EL PARALELISMO
Costo de Inicio:Tiempo para iniciar un proceso.
Interferencia: Cuellos de botella para acceder a los recursos
Compartidos
Sesgo: La partición de las tareas en procesos paralelos no
siempre es uniforme
15. COMUNICACIÓN DE LOS NODOS
Bus
Hipercubo
Malla
Estrella
Costos?, tolerancia ante fallos?, velocidad?
16. ESQUEMA CON MEMORIA COMPARTIDA
Comunicación a través de
escrituras en memoria
Límite del numero de
procesadores por el canal de
comunicación
17. ESQUEMA CON DISCO COMPARTIDO
Creación de Clúster
Aumento de la redundancia
(tolerancia a fallos)
Cuello de botella el acceso a los discos
20. Bases de Datos Distribuidas
Nodos (Emplazamiento) distribuidos geográficamente
Administración independiente (Autónoma) de cada
nodo
Canales de comunicación mas lentos
Utilización de transacciones globales, locales y remotas
Sistemas distribuidos heterogéneos
21. VENTAJAS
Compartimento de Datos: Los usuarios de cada nodo
pueden
acceder a los datos de otros nodos (transacciones globales)
Autonomía: La administración de cada nodo es local
(independiente de los otros) distribuyendo así la carga del
DBA
Disponibilidad: La existencia de replicas permite que la
caída
de un nodo no implique la caída total del sistema ( se
aumenta en complejidad de recuperación pero se gana en
disponibilidad del sistema)
22. DESVENTAJAS
Complejidad en la coordinación de la distribución de los datos
Costos en el desarrollo de software
Aumento en la probabilidad de errores
Mayor sobrecarga de procesamiento