Base de datos distribuida
La
base de datos distribuida consiste en un almacén de datos, es decir en un
conjunto de datos almacenado de manera sistemática siempre dispuesto a ser
utilizado. Pero tiene una particularidad que la diferencia y que consiste en
que estos datos están almacenados en distintas máquinas que integran un sistema
y que tienen conexión entre sí.
Cada
uno de los procesadores que integran dicho sistema se conoce con el nombre de
localidad o nodo, y por lo tanto la información va a estar distribuida en las
distintas localidades y no en una sola localidad, que es lo que ocurre con las
bases de datos centralizadas.
Son
un grupo de datos que pertenecen a un sistema pero a su vez esta repartido
entre ordenadores de una misma red, ya sea a nivel local o cada uno en una diferente
localización geografía, cada sitio en la red es autónomo en sus capacidades de
procesamiento y es capaz de realizar operaciones locales y en cada uno de estos
ordenadores debe estar ejecutando se una aplicación a nivel global que permita
la consulta de todos los datos como si se tratase de uno solo
Es
un conjunto de múltiples bases de datos lógicamente relacionadas las
cuales se encuentran distribuidas entre diferentes sitios interconectados por
una red de comunicaciones
Una
BDD es en realidad un tipo de BD virtual cuyas partes componentes están
almacenadas en varias BD “reales” distintas que se encuentran en varios sitios
distintos (de hecho, es la unión lógica de esas BD reales).
Una
base de datos tiene un sitio local :
· Sus
propios usuarios locales
· Su
propio DBMS loca
· Software
de administración de transacciones (incluyendo su propio software local para
bloqueo, registro en bitácora, recuperación, etc.)
Ventajas y Desventajas
Ventajas
- Los sistemas de bases de datos distribuidos tienen múltiples ventajas. En primer lugar los datos son localizados en lugar más cercano, por tanto, el acceso es más rápido, el procesamiento es rápido debido a que varios nodos intervienen en el procesamiento de una carga de trabajo, nuevos nodos se pueden agregar fácil y rápidamente. La comunicación entre nodos se mejora, los costos de operación se reducen, son amigables al usuario, la probabilidad de que una falla en un solo nodo afecte al sistema es baja y existe una autonomía e independencia entre los nodos.
- Las razones por las que compañías y negocios migran hacia bases de datos distribuidas incluyen razones organizacionales y económicas, para obtener una interconexión confiable y flexible con las bases de datos existentes, y por un crecimiento futuro. El enfoque distribuido de las bases de datos se adapta más naturalmente a la estructura de las organizaciones. Además, la necesidad de desarrollar una aplicación global (que incluya a toda la organización), se resuelva fácilmente con bases de datos distribuidas. Si una organización crece por medio de la creación de unidades o departamentos nuevos, entonces, el enfoque de bases de datos distribuidas permite un crecimiento suave.
- Los datos se pueden colocar físicamente en el lugar donde se accedan más frecuentemente, haciendo que los usuarios tengan control local de los datos con los que interactúan. Esto resulta en una autonomía local de datos permitiendo a los usuarios aplicar políticas locales respecto del tipo de accesos a sus datos
- Mediante la replicación de información, las bases de datos distribuidas pueden presentar cierto grado de tolerancia a fallos haciendo que el funcionamiento del sistema no dependa de un solo lugar como en el caso de las bases de datos centralizadas.
- La independencia de datos se puede dar en dos aspectos: lógica y física.
- Refleja una estructura organizacional - los fragmentos de la base de datos se ubican en los departamentos a los que tienen relación
- Autonomía local - un departamento puede controlar los datos que le pertenecen
- Disponibilidad - un fallo en una parte del sistema solo afectará a un fragmento, en lugar de a toda la base de datos.
- Rendimiento - los datos generalmente se ubican cerca del sitio con mayor demanda, también los sistemas trabajan en paralelo, lo cual permite balancear la carga en los servidores.
- Economía - es más barato crear una red de muchas computadoras pequeñas, que tener una sola computadora muy poderosa
- Modularidad - se pueden modificar, agregar o quitar sistemas de la base de datos distribuida sin afectar a los demás sistemas (módulos)
Desventajas
- Complejidad. Un sistema distribuido, que oculta su naturaleza distribuida al usuario, es más complejo que el sistema centralizado. Las consideraciones adicionales tales como el control de concurrencia y la seguridad deberían tenerse en cuenta, no para mencionar la complejidad alta de la optimización de consultas, comparado con una base de datos centralizada, sino que las actualizaciones se complican proporcionalmente con el aumento de replicas en el sistema.
- La confiabilidad /Eficiencia. Se deben implementar mecanismos que garanticen la consistencia y permitan detectar fallas en el sistema y su posterior recuperación. Al ocurrir alguna falla en sitios distintos, el sitio que contenga una réplica de esa base de datos, y además sea operable debe garantizar la consistencia y actualización de su base de datos. Al reponerse los diferentes sitios el sistema de gestión de base de datos debe granizar la actualización de esos sitios que estaban sin operar.
- AL estar particionada la red que une los diferentes sitios es un poco más difícil garantizar las actualizaciones de las bases de datos. Puesto que las localidades del sistema distribuido operan en paralelo, es más difícil garantizar que los algoritmos sean correctos. Existe la posibilidad de errores extremadamente sutiles. (Profundizar)
- Mayor tiempo extra de procesamiento. El intercambio de mensajes y los cálculos adicionales que se requieren para coordinar las localidades son una forma de tiempo extra que no existe en los sistemas centralizados.
- Costo. La complejidad aumentada significa que los costos de mantenimiento y adquisición del sistema son mucho más altos que los de un DBMS centralizado.
- La capacidad de almacenamiento de cada sitio debe tenerse en cuenta, usualmente el costo de almacenamiento no es importante comparado con otros costos, no obstante, las limitaciones de almacenamiento deben ser consideradas.
- Aumento del tráfico de comunicación. Cuando un sitio accede frecuentemente a los datos de otros sitios, aumenta el tráfico de mensaje y transacciones en la red, y por tanto las comunicaciones, lo que puede convertirse en un cuello de botella.
- Integridad. Debido a que no todos los datos se ubican en un lugar centralizado – una estación (nodo) - el fracaso podría ocasionar una pérdida de datos para otros nodos.
Sistema De Bases De Datos Distribuida (SBDD)
Sistema en el cual múltiples
sitios de bases de datos están ligados por un sistema de comunicaciones, de tal
forma que, un usuario en cualquier sitio puede accesar los datos en cualquier
parte de la red exactamente como si los datos estuvieran almacenados en su
sitio propio.

Características:
- Permitir que cada sitio almacene y mantenga su propia BD facilita el acceso inmediato y eficaz de sus datos que se usan más frecuentes.
- Mejora la fiabilidad si la computadora de un sitio se cae, el resto de la red sigue funcionando.
- Permitir el control local de los datos en un sitio mejora el grado de satisfacción de los usuarios con relación al sistema de BD.
- Cuando cada sitio procesa sus datos locales se elimina un poco el tráfico de la red, pero si los sitios usan frecuentemente datos almacenados en otros sitios las comunicaciones pueden convertirse en un cuello de botella.
Funciones.
- Recopilación y captura de datos.
- Edición de datos y corrección de errores.
- Diseño de archivos y mantenimiento de programas.
- Localización de archivos grandes.
- Procesamiento de transacciones

AMBRENTE CON MÚLTIPLES PROCESADORES
Un procesador multinúcleo es aquel que
combina dos o más microprocesadores independientes en un solo paquete, a menudo
un solo circuito integrado. Un dispositivo de doble núcleo contiene
solamente dos microprocesadores independientes. En general, los microprocesadores
multinúcleo permiten que un dispositivo computacional exhiba una cierta forma
del paralelismo a nivel de (TLP) sin incluir múltiples microprocesadores
en paquetes físicos separados. Esta forma de TLP se conoce a menudo
como multiprocesamiento a nivel de chip o CMP.
Multiprocesamiento es un Procesamiento simultáneo con dos
o más procesadores en un computador, o dos o más computadores que están
procesando juntos. Cuando se usa dos o más computadores, se unen con un canal
de alta velocidad y comparten la carga de trabajo general entre ellos. En caso
de que uno falle el otro se hace cargo. El multiprocesamiento también se
efectúa en computadores de propósitos especiales, como procesadores
vectoriales, los cuales proveen procesamiento simultáneo de conjunto de datos.
Aunque los computadores se construyen con diversas características que se
superponen, como ejecutar instrucciones mientras se ingresan y se sacan datos,
el multiprocesamiento se refiere específicamente a la ejecución de
instrucciones simultáneas.
ASPECTOS IMPORTANTES DE LOS
SISTEMAS GESTORES
SISTEMAS GESTORES

Los SGBD pueden considerarse como intermediarios entre
las aplicaciones y la representación de los datos. Así, los desarrolladores ven
los datos desde una perspectiva de más alto nivel. Esa perspectiva es la del modelo
de bases de datos utilizado. De esta forma, el desarrollo de aplicaciones
separa dos aspectos:
- El diseño de la(s) bases de datos, que finaliza con una base de datos creada en un SGBD terminado y diseñada de acuerdo a un modelo.
- El diseño y desarrollo de las aplicaciones, que se hace utilizando el diseño de la base de datos.
Ambos tipos de actividades no se hacen en secuencia, sino
de forma simultánea, pero en la mayoría de las aplicaciones actuales se utiliza
un SGBD de un tipo u otro. Así, el desarrollo de las aplicaciones en general
requiere menos esfuerzo, ya que los desarrolladores no tienen que preocuparse
de diseñar una gestión de datos eficiente, dado que el SGBD se supone que se
encarga de eso. Los desarrolladores solo tratan con el SGBD mediante lenguajes
normalizados (y a veces estandarizados) de alto nivel que ocultan muchos
detalles de almacenamiento y permiten al programador centrarse en definir qué
datos quiere obtener o guardar, y no en los detalles de cómo estos datos están
almacenados y cómo se puede acceder de forma eficiente a ellos.
En otras palabras, es una función esencial de los SGBD en
proporcionar independencia de los datos y las aplicaciones. Así, se puede
diseñar la base de datos incluso antes que las aplicaciones, y ese diseño
permitirá que se desarrollen múltiples aplicaciones posteriormente.
Los SGBD ocultan la representación interna de los datos
ofreciendo un conjunto de funciones de más alto nivel. No obstante, en
ocasiones es necesario “descender” un poco en los detalles de almacenamiento.
Por ejemplo, esto a veces hace falta cuando se necesita ajustar el rendimiento
de las consultas al máximo. En otros casos, una base de datos puede guardar información
de cientos de entidades. Esto sucede por ejemplo en algunos sistemas de gestión
empresarial. Pero muchas aplicaciones no requieren manipular o
consultar todas las tablas, sino que a veces sólo necesitan algunos datos de
unas pocas entidades.
Los diferentes niveles de abstracción a menudo se denominan niveles:
El nivel físico permite ver (algunos) detalles
de la representación de la información en ficheros. Este nivel sólo es de
interés para los desarrolla dores que se encargan de afinar el
rendimiento de las consultas y actualizaciones. Requiere conocimientos técnicos
muy específicos del SGBD concreto que se esté utilizando, y no están
normalizados ni estandarizados.
El nivel lógico es el que se utiliza en el
desarrollo (a excepción de las tareas que acabamos de mencionar), y considera
la base de datos como un conjunto de informaciones y sus relaciones. Lo que se
maneja es el qué información se almacena y no cómo está almacenada.
Este nivel lógico suele ajustarse a un determinado modelo de bases de datos, y
en ocasiones estos modelos tienen un cierto nivel de estandarización. Por
ejemplo, los SGBD que implementan el modelo relacional son a nivel lógico
prácticamente iguales, y cuentan con lenguajes de consulta como SQL que han
sido estandarizados.
El nivel de vistas permite que se oculte a
nivel lógico una parte de la base de datos, y que sólo veamos algunas
informaciones determinadas. Una vista es un subconjunto de la información de
una base de datos que se ha definido para abstraer una parte concreta de una
base de datos. Las vistas se utilizan para simplificar su uso por parte
de desarrolla dores y usuarios.
No hay comentarios:
Publicar un comentario