Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Unidad I

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

UNIVERSIDAD NACIONAL DE INGENIERÍA

FACULTAD de ELECTROTECNIA Y COMPUTACIÓN


DEPARTAMENTO LENGUAJES Y SIMULACIÓN

UNIDAD I: INTRODUCCION A LOS SISTEMAS DISTRIBUIDOS

OBJETIVOS PARTICULARES

- Comprender los conceptos básicos de los sistemas operativos distribuidos


a través de un ejemplo práctico.
- Investigar los principios de las bases de datos distribuidas definiendo sus
ventajas y desventajas, elaborando diagramas y procesos
- Reconocer el origen y evolución de los sistemas distribuidos asumiendo con
compromiso ético su rol como futuro ingeniero en computación trabajo
colaborativo, actitud proactiva y responsable

CONTENIDOS

1.1 Origen, evolución y conceptos básicos


1.2 Conceptos de Hardware y Software.
1.3 Aspectos del Diseño.
1.4 Principios de bases de datos distribuida.
1.5 Ventajas y desventajas

Origen, evolución y conceptos básicos

Los sistemas distribuidos son colecciones de computadoras separadas físicamente


donde están conectadas por una red de comunicaciones, cada computador posee
sus propios componentes de hardware y software donde el programador lo ve como
un sistema. (colouris 1964)

Cuando hablamos del desarrollo de los sistemas distribuidos viene junto de las redes
locales de alta velocidad a principios de 1970. Esto ha resultado en un mayor
desplazamiento hacia los sistemas distribuidos en la disponibilidad de computadoras
personales estaciones de trabajo y ordenadores o servidores.

La tendencia del uso de los sistemas distribuidos se ha acelerado por el desarrollo


de software para los propios sistemas, diseñado con el fin de soportar el desarrollo
UNIVERSIDAD NACIONAL DE INGENIERÍA
FACULTAD de ELECTROTECNIA Y COMPUTACIÓN
DEPARTAMENTO LENGUAJES Y SIMULACIÓN

de software para aplicaciones distribuidas con las funciones de coordinar las


actividades y compartir los recursos del sistema hardware, software y datos.

En la implementación de estos sistemas se habla de diversas plataformas de


hardware, desde un pequeño grupo de trabajo de área local hasta el internet, donde
la conexión de redes de área local y de área extensa están interconectadas y enlazan
a millones de equipos.

Cuando hablamos de la capacidad tenemos en cuenta que los sistemas distribuidos


varían desde la capacidad de computo a grupos de usuarios, hasta sistemas
bancarios prácticamente abarcan todas las aplicaciones comerciales y técnicas de los
equipos

ESTRATEGIA CLIENTE SERVIDOR

Una vez entendido estos conceptos observamos la arquitectura implementada de un


sistema distribuido como el cliente-servidor. El cliente servidor es un modelo de
diseño de software en las que las tareas se reparten entre los proveedores, recursos
o servicios llamados servidores y los clientes.

Un cliente realiza peticiones a otro programa, el servidor, quien le da respuesta.

Ventajas:
Una de las ventajas de los sistemas distribuidos es la economía, pues es mucho más
barato, añadir servidores y clientes cuando se requiere aumentar la potencia de
procesamiento.
El trabajo en conjunto. Por ejemplo: en una fábrica de ensamblado, los robots tienen
sus CPUs diferentes y realizan acciones en conjunto, dirigidos por un sistema
distribuido.
Tienen una mayor confiabilidad. Al estar distribuida la carga de trabajo en muchas
máquinas la falla de una de ellas no afecta a las demás, el sistema sobrevive como
un todo.

Desventajas:
El principal problema es el software, es el diseño, implantación y uso del software
distribuido, pues presenta numerosos inconvenientes donde se hacen preguntas
como:
UNIVERSIDAD NACIONAL DE INGENIERÍA
FACULTAD de ELECTROTECNIA Y COMPUTACIÓN
DEPARTAMENTO LENGUAJES Y SIMULACIÓN

Tipo de S. ¿O, lenguaje de programación y aplicaciones son adecuadas para este


sistema?

Conclusiones:

Los sistemas distribuidos abarcan una cantidad de aspectos considerables, por lo


cual su desarrollo implica mucha complejidad.

Se nota también que muchas tecnologías están en constante desarrollo y


maduración, lo cual implica un minucioso estudio previo de muchos factores antes
de apostar por alguna tecnología en especial.

Historia de los Sistemas Operativos Distribuidos.

Un sistema distribuido se define como una colección de computadores autónomos


conectados por una red, y con el software distribuido adecuado para que el sistema sea
visto por los usuarios como una única entidad capaz de proporcionar facilidades de
computación. [ Colouris 1994 ]

El desarrollo de los sistemas distribuidos vino de la mano de las redes locales de alta
velocidad a principios de 1970. Mas recientemente, la disponibilidad de computadoras
personales de altas prestaciones, estaciones de trabajo y ordenadores servidores ha
UNIVERSIDAD NACIONAL DE INGENIERÍA
FACULTAD de ELECTROTECNIA Y COMPUTACIÓN
DEPARTAMENTO LENGUAJES Y SIMULACIÓN

resultado en un mayor desplazamiento hacia los sistemas distribuidos en detrimento de los


ordenadores centralizados multiusuario. Esta tendencia se ha acelerado por el desarrollo
de software para sistemas distribuidos, diseñado para soportar el desarrollo de aplicaciones
distribuidas. Este software permite a los ordenadores coordinar sus actividades y compartir
los recursos del sistema - hardware, software y datos.

Los sistemas distribuidos se implementan en diversas plataformas hardware, desde unas


pocas estaciones de trabajo conectadas por una red de área local, hasta Internet, una
colección de redes de área local y de área extensa interconectados, que en lazan millones
de ordenadores.

Las aplicaciones de los sistemas distribuidos varían desde la provisión de capacidad de


computo a grupos de usuarios, hasta sistemas bancarios, comunicaciones multimedia y
abarcan prácticamente todas las aplicaciones comerciales y técnicas de los ordenadores.
Los requisitos de dichas aplicaciones incluyen un alto nivel de fiabilidad, seguridad contra
interferencias externas y privacidad de la información que el sistema mantiene. Se deben
proveer accesos concurrentes a bases de datos por parte de muchos usuarios, garantizar
tiempos de respuesta, proveer puntos de acceso al servicio que están distribuidos
geográficamente, potencial para el crecimiento del sistema para acomodar la expansión del
negocio y un marco para la integración de sistema usados por diferentes compañías y
organizaciones de usuarios.

¿Qué es un sistema distribuido?

Un sistema distribuido es un conjunto de programas informáticos que utilizan


recursos computacionales en varios nodos de cálculo distintos para lograr un
objetivo compartido común. Este tipo de sistemas, también denominados
"computación distribuida" o "bases de datos distribuidas", usan nodos distintos para
comunicarse y sincronizarse a través de una red común. Estos nodos suelen
representar dispositivos de hardware físicos diferentes, pero también pueden
representar procesos de software diferentes u otros sistemas encapsulados
recursivos. La finalidad de los sistemas distribuidos es eliminar los cuellos de botella
o los puntos de error centrales de un sistema.
UNIVERSIDAD NACIONAL DE INGENIERÍA
FACULTAD de ELECTROTECNIA Y COMPUTACIÓN
DEPARTAMENTO LENGUAJES Y SIMULACIÓN

Los sistemas de computación distribuida tienen las características siguientes:

Recursos compartidos: los sistemas distribuidos pueden compartir hardware,


software o datos

Procesamiento simultáneo: varias máquinas pueden procesar la misma función a


la vez

Escalabilidad: la capacidad computacional y de procesamiento puede escalarse


hacia arriba según sea necesario cuando se añaden máquinas adicionales

Detección de errores: los errores se pueden detectar más fácilmente

Transparencia: un nodo puede acceder a otros nodos del sistema y comunicarse


con ellos.
UNIVERSIDAD NACIONAL DE INGENIERÍA
FACULTAD de ELECTROTECNIA Y COMPUTACIÓN
DEPARTAMENTO LENGUAJES Y SIMULACIÓN

¿Cuál es la diferencia entre un sistema centralizado y un sistema


distribuido?

Un sistema de computación centralizado es aquel en el que todos los cálculos los


realiza un solo ordenador en una ubicación. La principal diferencia entre un sistema
centralizado y un sistema distribuido es el patrón de comunicación entre los nodos
del sistema. El estado de un sistema centralizado se encuentra dentro de un nodo
central al que los clientes acceden a través de un método personalizado. Todos los
nodos de un sistema centralizado acceden al nodo central, lo que puede sobrecargar
y ralentizar la red. Los sistemas centralizados tienen un punto de error único. Este no
es el caso de los sistemas distribuidos.

Ventajas, inconvenientes y riesgos de los sistemas distribuidos

Los sistemas distribuidos suelen contribuir a mejorar la fiabilidad y el rendimiento


del sistema. La fiabilidad se mejora eliminando los puntos de error centrales y los
cuellos de botella. Los nodos de un sistema distribuido ofrecen redundancia, de
modo que, si un nodo falla, hay otros que pueden sustituirlos y reparar el error. El
rendimiento se mejora porque los nodos pueden escalarse fácilmente en sentido
UNIVERSIDAD NACIONAL DE INGENIERÍA
FACULTAD de ELECTROTECNIA Y COMPUTACIÓN
DEPARTAMENTO LENGUAJES Y SIMULACIÓN

horizontal y vertical. Si un sistema se somete a una carga extensiva, pueden añadirse


nodos adicionales para ayudar a absorber dicha carga. También es posible aumentar
la capacidad de un nodo concreto para gestionar una carga extensiva.

Sin embargo, uno de los inconvenientes que presentan estos sistemas puede ser la
"expansión del desarrollo", que implica que los sistemas acaban siendo
excesivamente complejos y difíciles de mantener. Esta mayor complejidad puede
complicar a los equipos las tareas de organización, gestión y mejora de estos
sistemas. Parte de la dificultad puede ser entender la relación que hay entre los
distintos componentes o quién posee un componente de software concreto. Esto
hace que sea difícil saber cómo modificar los componentes para maximizar su
rendimiento y evitar que ello tenga un impacto negativo no solo en los componentes
dependientes, sino también en los clientes. Cuando un sistema distribuido tiene
varios repositorios, puede que sea necesario utilizar herramientas especializadas
como Atlassian Compass para gestionar y organizar el código del sistema.

Casos de uso de los sistemas distribuidos

Muchas aplicaciones modernas utilizan sistemas distribuidos. Las aplicaciones web


y móviles con mucho tráfico son sistemas distribuidos. Los usuarios se conectan
siguiendo un modelo cliente-servidor, donde el cliente es un navegador web o una
aplicación móvil. El servidor es pues su propio sistema distribuido. Los servidores
web modernos siguen un patrón de sistema por capas. Se utiliza un equilibrador de
carga para delegar las solicitudes a muchos nodos lógicos de servidor que se
comunican a través de sistemas de cola de mensajes.
Kubernetes es una herramienta muy utilizada en los sistemas distribuidos porque
puede crear un sistema distribuido a partir de una colección de contenedores. Los
contenedores crean nodos del sistema distribuido y Kubernetes orquesta la
comunicación de red entre esos nodos, además de gestionar el escalado dinámico
horizontal y vertical de los nodos en el sistema.
UNIVERSIDAD NACIONAL DE INGENIERÍA
FACULTAD de ELECTROTECNIA Y COMPUTACIÓN
DEPARTAMENTO LENGUAJES Y SIMULACIÓN

Principios de Bases de Datos Distribuidas

INTRODUCCIÓN

Los sistemas de información basados en bases de datos distribuidas, buscan el


manejo eficiente e integrado de la información generada en cualquier tipo de
entorno productivo; los sistemas de bases de datos distribuidas, que no
necesariamente deben ser homogéneos, permiten a los usuarios obtener una visión
generalizada de la información disponible. Este proceso de consolidación de la
información no implica la centralización de los datos, más bien, con la estructuración
de redes de computadoras, la información se mantiene localizada en diversos
lugares y los sistemas de bases de datos distribuidos permiten el acceso a ella como
si estuviera localizada en un solo lugar. La distribución de la información permite,
entre otras cosas, tener accesos rápidos a la información y generar de una manera
más fiable copias de seguridad de la información creada en los diferentes procesos
implementados por un sistema de información.

DEFINICION DE BASE DE DATOS DISTRIBUIDAS: Es una colección de datos que


pertenecen lógicamente a un sólo sistema, pero se encuentra físicamente esparcido
en varios sitios de la red. Un sistema de base de datos distribuidas se compone de
un conjunto de sitios, conectados entre sí mediante algún tipo de red de
comunicaciones, en el cual : 1. cada sitio es un sistema de base de datos en sí mismo,
pero 2. los sitios han convenido en trabajar juntos ( si es necesario ) con el fin de que
un usuario de cualquier sitio pueda obtener acceso a los datos de cualquier punto
de la red tal como si todos los datos estuvieran almacenados en el sitio propio del
usuario.

El procesamiento de bases de datos distribuidas es el proceso en el cual la ejecución


de transacciones y la recuperación y actualización de los datos acontece a través de
dos o más computadoras independientes, por lo general separadas
geográficamente. Las Bases de Datos Distribuidas, no son simplemente
implementaciones distribuidas de bases de datos centralizadas, porque ellas
permiten el diseño de sistemas que representan diferentes características de las
tradicionales, de sistemas centralizados. Esto es por lo tanto útil para ver las
características típicas de BDD. Los rasgos que caracterizan los BD tradicionales se
aproximan al control centralizado, independencia de datos, reducción de
redundancia, estructuras físicas complejas para acceso eficiente, integridad,
UNIVERSIDAD NACIONAL DE INGENIERÍA
FACULTAD de ELECTROTECNIA Y COMPUTACIÓN
DEPARTAMENTO LENGUAJES Y SIMULACIÓN

recuperación control de concurrencia, privacidad y seguridad. Los principales


factores que distinguen un SBDD de un sistema centralizado son los siguientes: 
Hay múltiples computadores, llamados sitios o nodos.  Estos sitios deben de estar
comunicados por medio de algún tipo de red de comunicaciones para transmitir
datos y órdenes entre los sitios 1.2 Objetivos de las B.D.D. Transparencia de
ubicación. Permite a los usuarios tener acceso a los datos sin que tenga
conocimiento de la ubicación de éstos. Transparencia de duplicación. Para que la
transparencia de duplicación sea posible, los administradores de transacciones
deben traducir las solicitudes de procesamiento de transacción en acciones para el
administrador de datos. Transparencia de concurrencia. Cuando varias transacciones
se ejecuten al mismo tiempo, los resultados de las transacciones no deberán
afectarse. Transparencia de fallas. Significa que a pesar de fallas las transacciones
sean procesadas de un modo correcto. Frente a una falla, las transacciones deben
ser atómicas, significa que se procesen todas o ninguna de ellas. Localidad del
procesamiento. Los datos se deben distribuir lo más cerca posible de las aplicaciones
que los usan para maximizar la localidad del procesamiento, este principio responde
a minimizar el acceso remoto a los datos. Particionado de la Base de Datos. La base
de datos se distribuye de modo que no haya solapamiento o duplicación de los datos
mantenidos en las diferentes localidades, como no hay duplicaciones de los datos,
se evitan los costos asociados con el almacenamiento y mantenimiento de datos
redundantes. Fragmentación de datos. Consiste en subdividir las relaciones y
distribuirlas entre los sitios de la red, tiene como objetivo buscar formas alternativas
de dividir una las instancias de relaciones en otras más pequeñas.

Arquitectura de bases de datos distribuidas Podemos destacar tres niveles


principales según la visión y la función que realice el usuario sobre la base de datos:
 Nivel Interno: es el nivel más cercano al almacenamiento físico de los datos.
Permite escribirlos tal y como están almacenados en el ordenador. En este nivel se
diseñan los archivos que contienen la información, la ubicación de los mismos y su
organización, es decir se crean los archivos de configuración.  Nivel conceptual: En
este nivel se representan los datos que se van a utilizar sin tener en cuenta aspectos
como lo que representamos en el nivel interno.  Nivel externo: es el más cercano
al usuario. En este nivel se describen los datos o parte de los datos que más interesan
a los usuarios. Estos tres niveles de visión de usuarios los proporcionan los sistemas
gestores de base de datos.
UNIVERSIDAD NACIONAL DE INGENIERÍA
FACULTAD de ELECTROTECNIA Y COMPUTACIÓN
DEPARTAMENTO LENGUAJES Y SIMULACIÓN

Bibliografía:

http://froac.manizales.unal.edu.co/roap/scorm/472/13_que_es_una_base_de_datos_distribuid
a.html

También podría gustarte