Fundamentos de diseño
Panorama general de diseño físico y lógico
El diseño de un sistema de información produce los elementos que establece como el sistema cumplirá los requerimientos identificados durante el análisis de sistema a esta etapa también se le conoce como el nombre de diseño lógico.
El primer paso del diseño de sistema es identificar los informes, y salidas que el sistema producirá.
Describe también los datos calculados o almacenados que se introducirán, los datos y los procedimientos se describen con detalle, se seleccionan las estructuras de los archivos y los dispositivos de almacenamiento, los documentos que contienen las especificaciones se pueden representar por medio de: diagramas, tablas, diccionario de datos y símbolos especiales. Ya teniendo lo antes mencionado se comienza el desarrollo del software.
El diseño de sistemas es un proceso altamente creativo que puede ser facilitado por lo siguiente:
definición salida del problema.
descripción de su sistema existente.
conjunto de requerimientos del nuevo sistema.
Diseño significa hacer un mapa, analizar y modificar las partes de un todo que satisfaga los objetivos involucrados.
En resumen los puntos a seguir cuando se diseña un nuevo sistema son:
examine todos los datos posibles.
concentración y pensamiento creativo
proporcione diferentes entradas, salidas, operaciones, controles y tecnicas de procedimiento.
evalué los procedimientos mas importantes
examine las diferentes alternativas.
COMO OBTENER UN BUEN DISEÑO.
Organización jerárquica de los participantes.
partición lógica del sistema
abstracción de datos y procedimientos
componentes con características funcionales independientes.
Los Sistemas de Información por computadora normalmente están integrados por muchos componentes. En la mayor parte de los casos, es difícil para los analistas entender todos estos componentes aún mismo tiempo; por lo tanto los investigadores tienen que comenzar con preguntas de tipo general con relación al propósito del sistema sus entradas y salidas de los procesos incluidos.
Ciclo de vida de los sistemas de información
Un sistema de información es el conjunto de recursos que permiten recoger, gestionar, controlar y difundir la información de toda una empresa u organización.
Desde los años setenta, los sistemas de bases de datos han ido reemplazando a los sistemas de ficheros en los sistemas de información de las empresas. Al mismo tiempo, se ha ido reconociendo la gran importancia que tienen los datos que éstas manejan, convirtiéndose en uno de sus recursos más importantes. Esto ha hecho que muchas empresas tengan departamentos que se encarguen de gestionar toda su información, que estará almacenada en una base de datos. Aparecen los papeles de administrador de datos y administrador de la base de datos, que son las personas encargadas de supervisar y controlar todas las actividades relacionadas con los datos de la empresa y con el ciclo de vida de las aplicaciones de bases de datos, respectivamente.
Un sistema de información está formado por los siguientes componentes:
La base de datos.
El SGBD.
Los programas de aplicación.
Los dispositivos físicos (ordenadores, dispositivos de almacenamiento, etc.).
El personal que utiliza y que desarrolla el sistema.
La base de datos es un componente fundamental de un sistema de información. El ciclo de vida de un sistema de información está ligado al ciclo de vida del sistema de base de datos sobre el que se apoya. Al ciclo de vida de los sistemas de información también se le denomina ciclo de vida de desarrollo del software. Las etapas típicas del ciclo de vida de desarrollo del software son: planificación, recolección y análisis de los requisitos, diseño (incluyendo el diseño de la base de datos), creación de prototipos, implementación, prueba, conversión y mantenimiento. Este ciclo de vida hace énfasis en la identificación de las funciones que realiza la empresa y en el desarrollo de las aplicaciones que lleven a cabo estas funciones. Se dice que el ciclo de vida de desarrollo del software sigue un enfoque orientado a funciones, ya que los sistemas se ven desde el punto de vista de las funciones que llevan a cabo. Por esta razón, el análisis estructurado hace énfasis en los diagramas de flujo de datos, siguiendo el movimiento de los datos a través de una secuencia de transformaciones, y refinando éstas a través de una serie de niveles. Lo mismo ocurre en el diseño estructurado, que ve a un sistema como una función que se descompone sucesivamente en niveles o subfunciones.
Concentrándose en las funciones se infravaloran los datos y, en especial, la estructura de los datos que son manipulados por las funciones. El resultado es que estos sistemas tienen valor durante poco tiempo en relación con las necesidades de los usuarios a largo plazo. Esto sucede debido a que al poco tiempo de haber instalado un sistema, las funciones implementadas son en realidad un subconjunto de las funciones que los usuarios realmente desean. Casi inmediatamente, los usuarios descubren una gran variedad de servicios adicionales que quisieran incorporar al sistema. Estas necesidades causan problemas a los sistemas obtenidos con un diseño orientado a funciones, puesto que este diseño puede requerir una revisión importante para acomodar las funciones adicionales.
En contraste, el enfoque orientado a datos centra el foco de atención en el análisis de los datos utilizados por las funciones. Esto tiene dos ventajas. La primera es que los datos son una parte considerablemente más estable que las funciones. La segunda ventaja es que la propia estructura de un esquema de base de datos requiere de un análisis sofisticado de los datos y de sus relaciones. Una vez que se haya construido un esquema para la base de datos que sea lógico, podrían diseñarse tantas funciones como fuera necesario para sacar provecho del mismo. Sin embargo, sin un esquema tal, la base de datos sólo podría ser útil para una única aplicación. Por lo tanto, el enfoque orientado a funciones puede ser bueno para el desarrollo a corto plazo, pero pierde su valor real a largo plazo. Usando un enfoque orientado a datos, los datos pasan a ser los cimientos sobre los cuales se puede construir una gran variedad de funciones diferentes.
Por lo tanto, en este capítulo se van a estudiar cada una de las etapas del ciclo de vida de desarrollo del software desde la perspectiva del desarrollo de una aplicación de bases de datos, siguiendo un enfoque orientado a datos.
domingo, 26 de agosto de 2007
ARQ.BASE DE DATOS
ARQUITECTURA DE REFERENCIA PARA UN SGBDD.
Esquema conceptual global: El esquema conceptual global es la descripción lógica de la base de datos completa, como si no estuviera distribuida. Este nivel corresponde al nivel conceptual de la arquitectura ANSI-SPARC y contiene definiciones de entidades, relaciones, constantes e información sobre seguridad e integridad. Proporciona independencia de datos físicas desde el entorno distribuido. Los esquemas externos globales proporcionan independencia de datos lógica.
Esquemas de fragmentación y localización: El esquema de fragmentación es una descripción de cómo los datos están particionados lógicamente. El esquema de localización es una descripción de dónde están localizados los datos. El esquema de localización tiene en cuenta cualquier replicación.
Esquemas locales: Cada SGBD local tiene su propio conjunto de esquemas. Los esquemas conceptual e interno locales corresponden a los equivalentes de la arquitectura ANSI-SPARC.
Esquema conceptual global: El esquema conceptual global es la descripción lógica de la base de datos completa, como si no estuviera distribuida. Este nivel corresponde al nivel conceptual de la arquitectura ANSI-SPARC y contiene definiciones de entidades, relaciones, constantes e información sobre seguridad e integridad. Proporciona independencia de datos físicas desde el entorno distribuido. Los esquemas externos globales proporcionan independencia de datos lógica.
Esquemas de fragmentación y localización: El esquema de fragmentación es una descripción de cómo los datos están particionados lógicamente. El esquema de localización es una descripción de dónde están localizados los datos. El esquema de localización tiene en cuenta cualquier replicación.
Esquemas locales: Cada SGBD local tiene su propio conjunto de esquemas. Los esquemas conceptual e interno locales corresponden a los equivalentes de la arquitectura ANSI-SPARC.
martes, 21 de agosto de 2007
Bases de datos distribuidas
CONCEPTO DE DISTRIBUCIÓN
Un sistema de base de datos distribuida consiste en varios sistemas de bases de datos operando en los sitios locales y conectados por líneas de comunicación.
PROCESAMIENTO DISTRIBUIDO.
Una consulta o una actualización deja de ser un proceso simple controlado por un único módulo de software, se convierte en varios procesos cooperando entre sí controlado por varios módulos independientes. Pero para que funcione con efectividad, deben estar disponibles tecnologías adecuadas de comunicación y los SGBDs deben poder comunicarse entre sí
Estructura de Base de Datos Distribuidas
Un sistema distribuido de base de datos consiste en un conjunto de localidades, cada una de las cuales mantiene un sistema de base de datos local. Cada localidad puede procesar transacciones locales, o bien transacciones globales entre varias localidades, requiriendo para ello comunicación entre ellas.
Las localidades pueden conectarse físicamente de diversas formas, las principales son:
· Red totalmente conectada
· Red prácticamente conectada
· Red con estructura de árbol
· Red de estrella
· Red de anillo
Las diferencias principales entre estas configuraciones son:
· Coste de instalación: El coste de conectar físicamente las localidades del sistema
· Coste de comunicación: El coste en tiempo y dinero que implica enviar un mensaje desde la localidad A a la B.
· Fiabilidad: La frecuencia con que falla una línea de comunicación o una localidad.
· Disponibilidad: La posibilidad de acceder a información a pesar de fallos en algunas localidades o líneas de comunicación.
Las localidades pueden estar dispersas, ya sea por un área geográfica extensa (a lo largo de un país), llamadas redes de larga distancia; o en un área reducida (en un mismo edificio), llamadas redes de área local. Para las primeras se utilizan en la comunicación líneas telefónicas, conexiones de microondas y canales de satélites; mientras que para las segundas se utiliza cables coaxiales de banda base o banda ancha y fibra óptica.
Consideraciones al distribuir la base de datos
Existen varias razones para construir sistemas distribuidos de bases de datos que incluyen compartir la información, fiabilidad y disponibilidad y agilizar el procesamiento de las consultas. Pero también tiene sus desventajas, como desarrollos de software más costosos, mayor posibilidad de errores y costos extras de procesamiento.
Ventajas de la distribución de datos
La principal ventaja de los sistemas distribuidos es la capacidad de compartir y acceder a la información de una forma fiable y eficaz.
Utilización compartida de los datos y distribución del control
La ventaja principal de compartir los datos por medio de la distribución es que cada localidad pueda controlar hasta cierto punto los datos almacenados localmente. En un sistema centralizado, el administrador de base de datos de la localidad central controla la base de datos. En un sistema distribuido existe un administrador global de la base de datos que se encarga de todo el sistema. Parte de esta responsabilidad se delega al administrador de base de datos de cada localidad. Dependiendo del diseño del sistema distribuido, cada administrador local podrá tener un grado de autonomía diferente, que se conoce como autonomía local. La posibilidad de contar con autonomía local es en muchos casos una ventaja importante de las bases de datos distribuidas.
Fiabilidad y disponibilidad
Si se produce un fallo en una localidad de un sistema distribuido, es posible que las demás localidades puedan seguir trabajando. En particular, si los datos se repiten en varias localidades, una transacción que requiere un dato específico puede encontrarlo en más de una localidad. Así, el fallo de una localidad no implica necesariamente la desactivación del sistema.
El sistema debe detectar cuando falla una localidad y tomar las medidas necesarias para recuperarse del fallo. El sistema no debe seguir utilizando la localidad que falló. Por último, cuando se recupere o repare esta localidad, debe contarse con mecanismos para reintegrarla al sistema con el mínimo de complicaciones.
La disponibilidad es fundamental para los sistemas de bases de datos que se utilizan en aplicaciones de tiempo real. Por ejemplo, si una línea aérea no puede tener acceso a la información, es posible que pierda clientes a favor de la competencia.
Agilización del procesamiento de consultas
Si una consulta comprende datos de varias localidades, puede ser posible dividir la consulta en varias subconsultas que se ejecuten en paralelo en distintas localidades. Sin embargo, en un sistema distribuido no se comparte la memoria principal, así que no todas las estrategias de intersección se pueden aplicar en estos sistemas. En los casos en que hay repetición de los datos, el sistema puede pasar la consulta a las localidades más ligeras de carga.
Desventajas de la distribución de los datos
La desventaja principal de los sistemas distribuidos es la mayor complejidad que se requiere para garantizar una coordinación adecuada entre localidades.
El aumento de la complejidad se refleja en:
· Coste del desarrollo de software: es más difícil estructura un sistema de bases de datos distribuidos y por tanto su coste es menor
· Mayor posibilidad de errores: puesto que las localidades del sistema distribuido operan en paralelo, es más difícil garantizar que los algoritmos sean correctos.
· Mayor tiempo extra de procesamiento: el intercambio de mensajes y los cálculos adicionales son una forma de tiempo extra que no existe en los sistemas centralizados.
La base de datos distribuida, centralizada o duplicada
La base de datos distribuida permite que los nodos individuales almacenen sus propios datos (trabajos, calendarios, variables, etc.) en una red entre iguales o un cluster limitado.
La base de datos centralizada es una sola base de datos en un cluster que proporciona una ubicación central para el almacenamiento de datos.
La base de datos duplicada se usa para mantener una copia del grupo de datos en todos los nodos en un grupo gestionado por una tarea y de esa manera proporcionar una excellente tolerancia a errores.
Ventajas de las Base de Datos Distribuidas
· Descentralización.- En un sistema centralizado/distribuido, existe un administrador que controla toda la base de datos, por el contrario en un sistema distribuido existe un administrador global que lleva una política general y delega algunas funciones a administradores de cada localidad para que establezcan políticas locales y así un trabajo eficiente.
· Economía: Existen dos aspectos a tener en cuenta.
o El primero son los costes de comunicación; si las bases de datos están muy dispersas y las aplicaciones hacen amplio uso de los datos puede resultar más económico dividir la aplicación y realizarla localmente.
o El segundo aspecto es que cuesta menos crear un sistema de pequeños ordenadores con la misma potencia que un único ordenador.
· Mejora de rendimiento: Pues los datos serán almacenados y usados donde son generados, lo cual permitirá distribuir la complejidad del sistema en los diferentes sitios de la red, optimizando la labor.
· Mejora de fiabilidad y disponibilidad: La falla de uno o varios lugares o el de un enlace de comunicación no implica la inoperatividad total del sistema, incluso si tenemos datos duplicados puede que exista una disponibilidad total de los servicios.
· Crecimiento: Es más fácil acomodar el incremento del tamaño en un sistema distribuido, por que la expansión se lleva a cabo añadiendo poder de procesamiento y almacenamiento en la red, al añadir un nuevo nodo.
· Flexibilidad: Permite acceso local y remoto de forma transparente.
· Disponibilidad: Pueden estar los datos duplicados con lo que varias personas pueden acceder simultáneamente de forma eficiente. El inconveniente, el sistema administrador de base de datos debe preocuparse de la consistencia de los mismos.
· Control de Concurrencia: El sistema administrador de base de datos local se encarga de manejar la concurrencia de manera eficiente.
BASE DE DATOS CENTRALIZADAS.
La base de datos centralizada es una sola base de datos en un cluster que proporciona una ubicación central para el almacenamiento de datos.
3.1. 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. Tales sistemas comprenden el rango desde los sistemas de bases de datos monousuario ejecutándose en computadoras personales hasta los sistemas de bases de datos de alto rendimiento ejecutándose en grandes sistemas.
Una computadora moderna de propósito general consiste en una o unas pocas CPU’s y un número determinado de controladores para los dispositivos que se encuentren conectados a través de un bus común, el cual proporciona acceso a la memoria compartida. Las CPU’s poseen memorias caché locales donde se almacenan copias de ciertas partes de la memoria para acelerar el acceso a los datos. Cada controlador de dispositivo se encarga de un tipo específico de dispositivos (por ejemplo, una unidad de disco, una tarjeta de sonido o un monitor). La CPU y los controladores de dispositivo pueden ejecutarse concurrentemente, compitiendo así por el acceso a la memoria. La memoria caché reduce la disputa por el acceso a la memoria, ya que la CPU necesita acceder a la memoria compartida un número de veces menor.
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. Por el contrario, un sistema multiusuario típico tiene más discos y más memoria, puede disponer de varias CPU y trabaja con un sistema operativo multiusuario. Se encarga de dar servicio a un gran número de usuarios que están conectados al sistema a través de terminales. Estos sistemas se denominan con frecuencia
sistemas servidores.
Normalmente, los sistemas de bases de datos diseñados para funcionar sobre sistemas monousuario, como las computadoras personales, no suelen proporcionar muchas de las facilidades que ofrecen los sistemas multiusuario. En particular, no tienen control de concurrencia, que no es necesario cuando solamente un usuario puede generar modificaciones. Las facilidades de recuperación en estos sistemas, o no existen o son primitivas; por ejemplo, realizar una copia de seguridad de la base de datos antes de cualquier modificación. La mayoría de estos sistemas no admiten SQL y proporcionan un lenguaje de consulta muy simple, que en algunos casos es una variante de QBE (Query By Example).
Aunque hoy en día las computadoras de propósito general tienen varios procesadores, utilizan
paralelismo de grano grueso, disponiendo de unos pocos procesadores (normalmente dos o cuatro) que comparten la misma memoria principal. Las bases de datos que se ejecutan en tales máquinas habitualmente no intentan dividir una consulta simple entre los distintos procesadores, sino que ejecutan cada consulta en un único procesador, posibilitando la concurrencia de varias consultas. Así, estos sistemas soportan una mayor productividad, es decir, permiten ejecutar un mayor número de transacciones por segundo, a pesar de que cada transacción individualmente no se ejecuta más rápido.
Las bases de datos diseñadas para las máquinas monoprocesador ya disponen de multitarea,
permitiendo que varios procesos se ejecuten a la vez en el mismo procesador, usando tiempo compartido, mientras que de cara al usuario parece que los procesos se están ejecutando en paralelo. De esta manera, desde un punto de vista lógico, las máquinas paralelas de grano grueso parecen ser idénticas a las máquinas monoprocesador, y pueden adaptarse fácilmente los sistemas de bases de datos diseñados para máquinas de tiempo compartido para que puedan ejecutarse sobre máquinas paralelas de grano grueso.
Por el contrario, las máquinas paralelas de grano fino tienen un gran número de procesadores y los sistemas de bases de datos que se ejecutan sobre ellas intentan paralelizar las tareas simples (consultas, por ejemplo) que solicitan los usuarios.
CONCEPTO DE DISTRIBUCIÓN
Un sistema de base de datos distribuida consiste en varios sistemas de bases de datos operando en los sitios locales y conectados por líneas de comunicación.
PROCESAMIENTO DISTRIBUIDO.
Una consulta o una actualización deja de ser un proceso simple controlado por un único módulo de software, se convierte en varios procesos cooperando entre sí controlado por varios módulos independientes. Pero para que funcione con efectividad, deben estar disponibles tecnologías adecuadas de comunicación y los SGBDs deben poder comunicarse entre sí
Estructura de Base de Datos Distribuidas
Un sistema distribuido de base de datos consiste en un conjunto de localidades, cada una de las cuales mantiene un sistema de base de datos local. Cada localidad puede procesar transacciones locales, o bien transacciones globales entre varias localidades, requiriendo para ello comunicación entre ellas.
Las localidades pueden conectarse físicamente de diversas formas, las principales son:
· Red totalmente conectada
· Red prácticamente conectada
· Red con estructura de árbol
· Red de estrella
· Red de anillo
Las diferencias principales entre estas configuraciones son:
· Coste de instalación: El coste de conectar físicamente las localidades del sistema
· Coste de comunicación: El coste en tiempo y dinero que implica enviar un mensaje desde la localidad A a la B.
· Fiabilidad: La frecuencia con que falla una línea de comunicación o una localidad.
· Disponibilidad: La posibilidad de acceder a información a pesar de fallos en algunas localidades o líneas de comunicación.
Las localidades pueden estar dispersas, ya sea por un área geográfica extensa (a lo largo de un país), llamadas redes de larga distancia; o en un área reducida (en un mismo edificio), llamadas redes de área local. Para las primeras se utilizan en la comunicación líneas telefónicas, conexiones de microondas y canales de satélites; mientras que para las segundas se utiliza cables coaxiales de banda base o banda ancha y fibra óptica.
Consideraciones al distribuir la base de datos
Existen varias razones para construir sistemas distribuidos de bases de datos que incluyen compartir la información, fiabilidad y disponibilidad y agilizar el procesamiento de las consultas. Pero también tiene sus desventajas, como desarrollos de software más costosos, mayor posibilidad de errores y costos extras de procesamiento.
Ventajas de la distribución de datos
La principal ventaja de los sistemas distribuidos es la capacidad de compartir y acceder a la información de una forma fiable y eficaz.
Utilización compartida de los datos y distribución del control
La ventaja principal de compartir los datos por medio de la distribución es que cada localidad pueda controlar hasta cierto punto los datos almacenados localmente. En un sistema centralizado, el administrador de base de datos de la localidad central controla la base de datos. En un sistema distribuido existe un administrador global de la base de datos que se encarga de todo el sistema. Parte de esta responsabilidad se delega al administrador de base de datos de cada localidad. Dependiendo del diseño del sistema distribuido, cada administrador local podrá tener un grado de autonomía diferente, que se conoce como autonomía local. La posibilidad de contar con autonomía local es en muchos casos una ventaja importante de las bases de datos distribuidas.
Fiabilidad y disponibilidad
Si se produce un fallo en una localidad de un sistema distribuido, es posible que las demás localidades puedan seguir trabajando. En particular, si los datos se repiten en varias localidades, una transacción que requiere un dato específico puede encontrarlo en más de una localidad. Así, el fallo de una localidad no implica necesariamente la desactivación del sistema.
El sistema debe detectar cuando falla una localidad y tomar las medidas necesarias para recuperarse del fallo. El sistema no debe seguir utilizando la localidad que falló. Por último, cuando se recupere o repare esta localidad, debe contarse con mecanismos para reintegrarla al sistema con el mínimo de complicaciones.
La disponibilidad es fundamental para los sistemas de bases de datos que se utilizan en aplicaciones de tiempo real. Por ejemplo, si una línea aérea no puede tener acceso a la información, es posible que pierda clientes a favor de la competencia.
Agilización del procesamiento de consultas
Si una consulta comprende datos de varias localidades, puede ser posible dividir la consulta en varias subconsultas que se ejecuten en paralelo en distintas localidades. Sin embargo, en un sistema distribuido no se comparte la memoria principal, así que no todas las estrategias de intersección se pueden aplicar en estos sistemas. En los casos en que hay repetición de los datos, el sistema puede pasar la consulta a las localidades más ligeras de carga.
Desventajas de la distribución de los datos
La desventaja principal de los sistemas distribuidos es la mayor complejidad que se requiere para garantizar una coordinación adecuada entre localidades.
El aumento de la complejidad se refleja en:
· Coste del desarrollo de software: es más difícil estructura un sistema de bases de datos distribuidos y por tanto su coste es menor
· Mayor posibilidad de errores: puesto que las localidades del sistema distribuido operan en paralelo, es más difícil garantizar que los algoritmos sean correctos.
· Mayor tiempo extra de procesamiento: el intercambio de mensajes y los cálculos adicionales son una forma de tiempo extra que no existe en los sistemas centralizados.
La base de datos distribuida, centralizada o duplicada
La base de datos distribuida permite que los nodos individuales almacenen sus propios datos (trabajos, calendarios, variables, etc.) en una red entre iguales o un cluster limitado.
La base de datos centralizada es una sola base de datos en un cluster que proporciona una ubicación central para el almacenamiento de datos.
La base de datos duplicada se usa para mantener una copia del grupo de datos en todos los nodos en un grupo gestionado por una tarea y de esa manera proporcionar una excellente tolerancia a errores.
Ventajas de las Base de Datos Distribuidas
· Descentralización.- En un sistema centralizado/distribuido, existe un administrador que controla toda la base de datos, por el contrario en un sistema distribuido existe un administrador global que lleva una política general y delega algunas funciones a administradores de cada localidad para que establezcan políticas locales y así un trabajo eficiente.
· Economía: Existen dos aspectos a tener en cuenta.
o El primero son los costes de comunicación; si las bases de datos están muy dispersas y las aplicaciones hacen amplio uso de los datos puede resultar más económico dividir la aplicación y realizarla localmente.
o El segundo aspecto es que cuesta menos crear un sistema de pequeños ordenadores con la misma potencia que un único ordenador.
· Mejora de rendimiento: Pues los datos serán almacenados y usados donde son generados, lo cual permitirá distribuir la complejidad del sistema en los diferentes sitios de la red, optimizando la labor.
· Mejora de fiabilidad y disponibilidad: La falla de uno o varios lugares o el de un enlace de comunicación no implica la inoperatividad total del sistema, incluso si tenemos datos duplicados puede que exista una disponibilidad total de los servicios.
· Crecimiento: Es más fácil acomodar el incremento del tamaño en un sistema distribuido, por que la expansión se lleva a cabo añadiendo poder de procesamiento y almacenamiento en la red, al añadir un nuevo nodo.
· Flexibilidad: Permite acceso local y remoto de forma transparente.
· Disponibilidad: Pueden estar los datos duplicados con lo que varias personas pueden acceder simultáneamente de forma eficiente. El inconveniente, el sistema administrador de base de datos debe preocuparse de la consistencia de los mismos.
· Control de Concurrencia: El sistema administrador de base de datos local se encarga de manejar la concurrencia de manera eficiente.
BASE DE DATOS CENTRALIZADAS.
La base de datos centralizada es una sola base de datos en un cluster que proporciona una ubicación central para el almacenamiento de datos.
3.1. 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. Tales sistemas comprenden el rango desde los sistemas de bases de datos monousuario ejecutándose en computadoras personales hasta los sistemas de bases de datos de alto rendimiento ejecutándose en grandes sistemas.
Una computadora moderna de propósito general consiste en una o unas pocas CPU’s y un número determinado de controladores para los dispositivos que se encuentren conectados a través de un bus común, el cual proporciona acceso a la memoria compartida. Las CPU’s poseen memorias caché locales donde se almacenan copias de ciertas partes de la memoria para acelerar el acceso a los datos. Cada controlador de dispositivo se encarga de un tipo específico de dispositivos (por ejemplo, una unidad de disco, una tarjeta de sonido o un monitor). La CPU y los controladores de dispositivo pueden ejecutarse concurrentemente, compitiendo así por el acceso a la memoria. La memoria caché reduce la disputa por el acceso a la memoria, ya que la CPU necesita acceder a la memoria compartida un número de veces menor.
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. Por el contrario, un sistema multiusuario típico tiene más discos y más memoria, puede disponer de varias CPU y trabaja con un sistema operativo multiusuario. Se encarga de dar servicio a un gran número de usuarios que están conectados al sistema a través de terminales. Estos sistemas se denominan con frecuencia
sistemas servidores.
Normalmente, los sistemas de bases de datos diseñados para funcionar sobre sistemas monousuario, como las computadoras personales, no suelen proporcionar muchas de las facilidades que ofrecen los sistemas multiusuario. En particular, no tienen control de concurrencia, que no es necesario cuando solamente un usuario puede generar modificaciones. Las facilidades de recuperación en estos sistemas, o no existen o son primitivas; por ejemplo, realizar una copia de seguridad de la base de datos antes de cualquier modificación. La mayoría de estos sistemas no admiten SQL y proporcionan un lenguaje de consulta muy simple, que en algunos casos es una variante de QBE (Query By Example).
Aunque hoy en día las computadoras de propósito general tienen varios procesadores, utilizan
paralelismo de grano grueso, disponiendo de unos pocos procesadores (normalmente dos o cuatro) que comparten la misma memoria principal. Las bases de datos que se ejecutan en tales máquinas habitualmente no intentan dividir una consulta simple entre los distintos procesadores, sino que ejecutan cada consulta en un único procesador, posibilitando la concurrencia de varias consultas. Así, estos sistemas soportan una mayor productividad, es decir, permiten ejecutar un mayor número de transacciones por segundo, a pesar de que cada transacción individualmente no se ejecuta más rápido.
Las bases de datos diseñadas para las máquinas monoprocesador ya disponen de multitarea,
permitiendo que varios procesos se ejecuten a la vez en el mismo procesador, usando tiempo compartido, mientras que de cara al usuario parece que los procesos se están ejecutando en paralelo. De esta manera, desde un punto de vista lógico, las máquinas paralelas de grano grueso parecen ser idénticas a las máquinas monoprocesador, y pueden adaptarse fácilmente los sistemas de bases de datos diseñados para máquinas de tiempo compartido para que puedan ejecutarse sobre máquinas paralelas de grano grueso.
Por el contrario, las máquinas paralelas de grano fino tienen un gran número de procesadores y los sistemas de bases de datos que se ejecutan sobre ellas intentan paralelizar las tareas simples (consultas, por ejemplo) que solicitan los usuarios.
Suscribirse a:
Entradas (Atom)