El diseño de un sistema de base de datos distribuido implica la toma de decisiones sobre la ubicación de los programas que accederán a la base de datos y sobre los propios datos que constituyen esta última, a lo largo de los diferentes puestos que configuren una red de ordenadores. La ubicación de los programas, a priori, no debería suponer un excesivo problema dado que se puede tener una copia de ellos en cada máquina de la red (de hecho, en este documento se asumirá que así es.
Tradicionalmente se ha clasificado la organización de los sistemas de bases de datos distribuidos sobre tres dimensiones: el nivel de compartición, las características de acceso a los datos y el nivel de conocimiento de esas características de acceso .
2. SISTEMAS DE BASES DE DATOS
Un sistema de gestión de bases de datos (SGBD o DBMS ‘Database Management System”) consiste
en una colección de datos interrelacionados y un conjunto de programas que permiten a los usuarios acceder
y modificar dichos datos proporcionar un entorno que sea tanto práctico como eficiente de usar en la recuperación y el almacenamiento de la información de la base de datos. Otro de los objetivos principales de un SGBD es proporcionar al usuario una visión abstracta de la información, es decir, el sistema oculta detalles como los relativos a la forma de almacenar y mantener los datos, de tal forma que para que el sistema sea útil la información ha de recuperarse de forma eficiente.
El objetivo principal de la arquitectura ANSI/SPARC es definir un SGBD con el máximo grado de
independencia,
1. El nivel interno es el más cercano a la máquina. Es una representación a bajo nivel de la BD en
la que se define la forma en la que los datos se almacenan físicamente en la máquina.
2.El nivel conceptual tiene un esquema conceptual, que describe la estructura de los datos que
van a ser almacenados 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.
El sistema de gestión de bases de datos.
Un Sistema de Gestión de Bases de Datos (SGBD) es el conjunto de programas que permiten
definir, manipular y utilizar la información que contienen las bases de datos, realizar todas las tareas de
administración necesarias para mantenerlas operativas, mantener su integridad, confidencialidad y
seguridad.
El SGBD utilizará las facilidades del sistema de comunicaciones para
recibir las peticiones del usuario (que puede estar utilizando un terminal físicamente remoto) y para
devolverle los resultados. Conceptualmente, lo que ocurre es lo siguiente:
1. Un usuario hace una petición de acceso, usando algún lenguaje en particular (normalmente
SQL).
2. El SGBD intercepta esa petición y la analiza.
3. El SGBD inspecciona el esquema externo de ese usuario, la correspondencia externa/conceptual,
el esquema conceptual, la correspondencia conceptual/interna, y la definición de la estructura de
almacenamiento.
4. El SGBD ejecuta las operaciones necesarias en la base de datos almacenada.
Definición de datos
El SGBD debe ser capaz de aceptar definiciones de datos (esquemas externos, el esquema
conceptual, el esquema interno, y todas las correspondencias asociadas) en versión fuente y convertirlas en
la versión objeto apropiada. Dicho de otro modo, el SGBD debe incluir componentes procesadores de
lenguajes para cada uno de los diversos lenguajes de definición de datos (DDL).
Manipulación de datos
El SGBD debe ser capaz de atender las solicitudes del usuario para extraer, y quizá actualizar, datos
que ya existen en la base de datos, o para agregar en ella datos nuevos. Dicho de otro modo, el SGBD debe
incluir un componente procesador de lenguaje de manipulación de datos (DML).
Características de extensibilidad de los SGBD
Los SGBD deben reunir una serie de características que contemplen las nuevas funcionalidades que
deben proporcionar en estos momentos. Dichas características son:
- ODBC (siglas que significan Open DataBase Conectivity, Conectividad Abierta de Bases de Datos) se define como un método común de acceso a bases de datos, diseñado por Microsoft para simplificar la comunicación en Bases de Datos Cliente/Servidor. ODBC consiste en un conjunto de llamadas de bajo nivel que permite a las aplicaciones en el cliente intercambiar instrucciones con las aplicaciones del servidor y compartir datos, sin necesidad de conocer nada unas respecto a las otras..
- Orientación a objetos
Las mejoras en el terreno de la multimedia obligan a que las aplicaciones desarrolladas
actualmente precisen cada vez más almacenar, junto con la información numérica y de caracteres, tipos de
datos más complejos que permitan gestionar objetos de sonido, imágenes, vídeos, etc
3. Colectividad en Internet
Microsoft ha desarrollado los ADO (Access Database Object, Objetos de Acceso a Bases de Datos)
que, incorporados en scripts dentro de páginas Web en HTML, proporcionan conexión con Bases de Datos, tanto locales como remotas, empleando ODBC.
4.Soporte de estándares objetuales
Los SGBDs actuales hacen uso de software del tipo middleware que asumen las tareas de servicio de transacciones de objeto siguiendo alguno de los estándares de objetos existentes.
- - CORBA (Common Object Broker Architecture, o Arquitectura común de gestores de solicitudes de
- objetos), del Object Management Group (OMG).
- - DCOM (Distributed Component Model) de Microsoft.
- - Java Remote Method Invocation de Sun.
- Los actuales SGBD proporcionan soporte, como mínimo, a CORBA y DCOM.
Data Mining, Data Warehousing, OLAP
La extracción y disección-minería de datos (Data Mining), y soporte para OLAP (OnLine
Analytical Processing, Procesamiento Análitico de Datos En Vivo), que se trata de una categoría de las
nuevas tecnologías del software que permite obtener y extraer información mediante un complejo análisis y
procesamiento del contenido de una Base de Datos, todo ello en tiempo real.
ARQUITECTURAS DE SISTEMAS DE BASES DE DATOS
La arquitectura de un sistema de base de datos está influenciada en gran medida por el sistema informático subyacente en el que se ejecuta el sistema de base de datos. En la arquitectura de un sistema de base de datos se reflejan aspectos como la conexión en red, el paralelismo y la distribución:
- - La arquitectura centralizada es la más clásica. En ella, el SGBD está implantado en una sola plataforma u ordenador desde donde se gestiona directamente, de modo centralizado, la totalidad de los recursos.
- - La conexión en red de varias computadoras permite que algunas tareas se ejecuten en un sistema servidor y que otras se ejecuten en los sistemas clientes.
- - La distribución de datos a través de las distintas sedes o departamentos de una organización permite que estos datos residan donde han sido generados o donde son más necesarios, pero continuar siendo accesibles desde otros lugares o departamentos diferentes.
- - El procesamiento paralelo dentro de una computadora permite acelerar las actividades del sistema de base de datos, proporcionando a las transacciones unas respuestas más rápidas, así como la capacidad de ejecutar más transacciones por segundo.
Arquitectura centralizada
Los sistemas de bases de datos centralizados son aquellos que se ejecutan en un único sistema informático sin interaccionar con ninguna otra computadora.
Se distinguen dos formas de utilizar las computadoras: como sistemas monousuario o como sistemas multiusuario. En la primera categoría están las computadoras personales y las estaciones de trabajo. Un sistema monousuario típico es una unidad de sobremesa utilizada por una única persona que dispone de una sola CPU, de uno o dos discos fijos y que trabaja con un sistema operativo que sólo permite un único usuario.
ARQUITECTURA DE BASES DE DATOS
CLIENTE/SERVIDOR
La computación cliente/servidor es la extensión lógica de la programación modular. El supuesto
principal de la programación modular es la división de un programa grande en pequeños programas
(llamados módulos), siendo más fáciles el desarrollo y la mantenibilidad (divide y vencerás).
Cualquier LAN (red de área local) puede ser considerada como un sistema cliente/servidor, desde el
momento en que el cliente solicita servicios como datos, ficheros o imprimir desde el servidor. Cuando un
usuario se conecta a Internet, interactua con otros computadores utilizando el modelo cliente/servidor. Los
recursos de Internet son proporcionados a través de computadores host, conocidos como servidores. El
servidor es el computador que contiene información (bases de datos, ficheros de texto...). El usuario, o
cliente, accede a esos recursos .
Tipos de aplicaciones cliente
- En primer lugar, aplicaciones escritas por los usuarios
- En segundo lugar, aplicaciones suministradas por los proveedores (herramientas)
A su vez, las herramientas suministradas por los proveedores se dividen en varias clases distintas:
- - Procesadores de lenguajes de consulta
- - Generadores de informes
- - Subsistemas de gráficas para negocios
- - Hojas electrónicas de cálculo
- - Procesadores de lenguajes naturales
- - Paquetes estadísticos
- - Herramientas para administrar copias
- - Generadores de aplicaciones (incluyendo procesador de lenguajes de cuarta generación o 4GL)
- - Otras herramientas para desarrollar aplicaciones, incluyendo productos para ingeniería de
- software asistida por computador (CASE).
Funciones del servidor
- Aceptar las solicitudes de la base de datos de los clientes.
- Procesar dichas solicitudes.
- Dar formato a los resultados y transmitirlos al cliente.
- Llevar a cabo la verificación de integridad.
- Mantener los datos generales de la base de datos.
- Proporcionar control de acceso concurrente.
- Llevar a cabo la recuperación.
- Optimizar el procesamiento de consultas y actualización.
Tipos de servidores
Podemos dividir los servidores en dos clases: iterativos y concurrentes.
Un servidor iterativo realiza los siguientes pasos:
1.- Espera que llegue una consulta de un cliente.
2.- Procesa la consulta.
3.- Envía la respuesta al cliente que envió la consulta.
4.- Vuelve al estado inicial.
. CARACTERÍSTICAS DE UN SISTEMA CLIENTE/SERVIDOR.
Los clientes, a través de la red, pueden realizar consultas al servidor. El servidor tiene el control sobre los datos; sin embargo los clientes pueden tener datos privados que residen en sus computadoras. Las principales características de la arquitectura cliente/servidor son:
- El servidor presenta a todos sus clientes una interfaz única y bien definida.
- El cliente no necesita conocer la lógica del servidor, sólo su interfaz externa.
- El cliente no depende de la ubicación física del servidor, ni del tipo de equipo físico en el que se encuentra, ni de su sistema operativo.
- Los cambios en el servidor implican pocos o ningún cambio en el cliente.
PARTES DE UN SISTEMA CLIENTE/SERVIDOR
Los principales componentes de un sistema cliente/servidor son:
- - El núcleo (back-end o sección posterior). Es el SGBD propiamente (servidor).
- - El interfaz (front-end o sección frontal). Aplicaciones que funcionan sobre el SGBD (cliente)..
- La diferencia entre la computación cliente/servidor
TIPOS DE ARQUITECTURAS CLIENTE/SERVIDOR.
La arquitectura cliente/servidor tradicional es una solución de 2 capas. La arquitectura de 2 capas
consta de tres componentes distribuidos en dos capas: cliente (solicitante de servicios) y servidor (proveedor de servicios). Los tres componentes son:
- Interfaz de usuario.
- Gestión del procesamiento.
- Gestión de la base de datos.
Hay 2 tipos de arquitecturas cliente servidor de dos capas:
- - Clientes obesos (thick clients): La mayor parte de la lógica de la aplicación (gestión del procesamiento)
- reside junto a la lógica de la presentación (interfaz de usuario) en el cliente, con la porción de acceso a datos
- en el servidor.
- - Clientes delgados (thin clients): solo la lógica de la presentación reside en el cliente, con el acceso a datos
- y la mayoría de la lógica de la aplicación en el servidor.
ARQUITECTURA DE 3 CAPAS
La arquitectura de 3 capas es usada cuando se necesita un diseño cliente/servidor que proporcione, en comparación con la arquitectura de 2 capas, incrementar el rendimiento, flexibilidad, mantenibilidad, reusabilidad y escalabilidad mientras se esconde la complejidad del procesamiento distribuido al usuario.




No hay comentarios.:
Publicar un comentario