viernes, 20 de febrero de 2015

Actividad #8


Una base de datos distribuida (BDD) es una colección de datos que se encuentran distribuidos en diferentes computadoras de una red. Cada máquina de la red posee capacidad de procesamiento autónomo y puede efectuar aplicaciones locales. Cada máquina  de la red participa también en la ejecución de cuando menos, una aplicación global que requiere accesar datos de varias máquinas por medio de subsistema de comunicaciones.

Características de BBD:
  Los datos deben estar físicamente en más de un ordenador (distintas sedes)
   Las sedes deben estar interconectadas mediante una red (cada sede es un nodo de la red)
   Los datos han de estar lógicamente integrados (recuperación y actualización) tanto en local como remoto (esquema lógico global y único)
   En una única operación se puede acceder (recuperar o actualizar) datos que se encuentran en más de una sede (acceso a datos locales o remotos)
   Todas las acciones que necesiten realizarse sobre más de una sede serán transparentes al usuario (transparencia de distribución para el usuario)

Características de una BDD y una BDC
1.- Control centralizado.- Una BDC (Base de Datos Centralizada),  tiene control centralizado ya que cuenta con mayor seguridad de los datos, los procesos son más confiables y rápidos, en cambio en la BDD no hay control centralizado a lo largo de la red pero cada sitio si tiene control sobre sus datos (autonomía de sitio). En la BDC tiene el control el DBA y en el BDD hay un DBA global y cada estación o sitio tiene su propio DBA.
2.- Independencia de Datos.- Los dos tienen independencia de datos por ejemplo en una BDD la distribución física de los datos no afectan los programas de aplicación.
3.-Redundancia de Datos.- En una BDC no es conveniente tener muchas copias y en una BDD si es conveniente ya que si se daña la Base de Datos puede recuperarse en otro sitio que este respaldada esta información.
4.- Estructuras Físicas, Complejas  y Acceso Eficiente.-  Las estructuras de acceso como índices secundarios, cadenas entre archivos y otras son aspectos de una BDC, en una BDD las estructuras complejas no son la mejor alternativa de acceso dado que afecta las estructuras físicas de los datos.
5.- Integridad, recuperación  y control de concurrencia.- La solución a estos problemas es proveer una unidad atómica a las ejecuciones; en una BDD es más difícil que se de por el hecho de que en algunas aplicaciones pudieran ser distribuidas o globales y en caso de falla puede suceder que las operaciones que se estaban efectuando se deshagan.
6.-Privacidad y Seguridad.- Esta es una ventaja de una BDC ya que el DBA tiene control centralizado de sus datos y puede asegurarse de que todos los accesos a la Base de Datos sea supervisada, las BDD son vulnerables dado que la responsabilidad es compartida y la privacidad se pierde.

QUE SON LAS BDC/S?
Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.


En la arquitectura C/S el remitente de una solicitud es conocido como cliente. Sus características son:
  Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación (dispositivo maestro o amo).
  Espera y recibe las respuestas del servidor.
  Por lo general, puede conectarse a varios servidores a la vez.
  Normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario.

 Al receptor de la solicitud enviada por cliente se conoce como servidor. Sus características son:
  Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en la comunicación (dispositivo esclavo).
  Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente.
  Por lo general, aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado).
  No es frecuente que interactúen directamente con los usuarios finales.



lunes, 9 de febrero de 2015

Actividad #7


ARQUITECTURA DE BASES DATOS DISTRIBUIDAS
La arquitectura general de un sistema de bases de datos distribuida, introducirá el concepto de fragmentación de datos relacionado con el nivel de transparencia de distribución que un SBDD debe ofrecer. Se dará una descripción acerca de las componentes de las bases de datos distribuidas.
La arquitectura define la estructura de un sistema. Al definir la arquitectura se deben identificar las componentes de un sistema, las funciones que realiza cada una de las componentes y las interrelaciones e interacciones entre cada componente.
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 (ya veremos más adelante que significa esto).
Una base de datos específica tiene un único nivel interno y un único nivel conceptual pero puede tener varios niveles externos.
Ventajas
  • El acceso a los datos es más rápido debido a que los datos se localizan más cercanos al lugar donde se utilizan.
  • 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 probabilidad de que una falla en un solo nodo afecte al sistema es baja y existe una autonomía e independencia entre los nodos.
  • Control local de los datos con que se interactúa.
  • Mayor tolerancia a los fallos

Desventajas
  • Es más complicado el control y la manipulación de los datos
  • Es compleja el aseguramiento de la integridad de la información en presencia de fallas no predecibles tanto de componentes de hardware como de software. La integridad se refiere a la consistencia, validez y exactitud de la información.
  • El control de concurrencia y los mecanismos de recuperación son mucho más complejos que en un sistema centralizado dado que los datos pueden estar replicados.


Donde se utilizan las bases de datos distribuidas:

1. Instituciones educativas.
Es una base de datos estructurada que permite organizar documentos, información personal, trámites institucionales, becas, calificaciones semestrales mediante la red institucional.

2. Empresas automotrices:
Base de datos que se encarga de llevar un conteo de cuantos automóviles llegan a las empresas y cuantos automóviles salen en venta, también de los ingresos, gastos y ganancias que estos generan.

3. Centro comercial:
Utiliza una base de datos que administra y ofrece mercancía a todos sus consumidores a un bajo costo, esta lleva una base datos mediante toda su mercancía a toda su mercancía como productos de belleza, comida rápida, etc.

4. Banco:
Utiliza una base de datos para las transacciones y retiro de dinero  usuarios que poseen una cuenta como débito y crédito.

5. Hotel:
Utilizar base de datos para saber cuántos turistas o visitantes se registran y ocupan los habitantes del hotel, cuantos ingresan, gastos y ganancias se generan mensualmente.

6. clínicas u hospitales:
Lleva una base de datos con un registro personal de cada paciente que en el se incluyen las alergias, enfermedades y los tipos de medicamentos a los cuales son alérgicos, (historial médico).

7. Penales federales:
Emplea una vas de datos con los expedientes de cada uno de los presos, y esta se encarga de llevar un control total de la información personal de cada uno de sus reclusos, también lleva el control de todos los reos que en e ingresan o salen.

8. Sindicatos laborales:
La base de datos lleva el control de las plazas de cada personal y cual es estemple laboral.

9. Registro Civil:
Utiliza una base de datos para el registro de la natalidad, matrimonios y divorcios del país, estado o región.

fuentes: http://fannycruzsuarez.blogspot.mx/2013/02/10-lugares-donde-se-utiliza-base-de.html

viernes, 6 de febrero de 2015

Actividad #6

El uso de la bases de datos distribuidas sectores productivos

Para cualquier organización que está operando en el sector productivo de un país, es indispensable contar con medios para el control de la información, ya que de ello depende en gran medida que se lleguen a tomar decisiones en momentos de crisis económica o problemas legales.
El impacto de las bases de datos tanto en el sector privado como gubernamental, ha sido tan grande que prácticamente todas las empresas desde las PyMES hasta las multinacionales  (de gobierno o privadas) hacen uso de las bases de datos. 

Los ambientes en los que se encuentra con mayor frecuencia el uso de las bases de datos distribuidas son:
  • Cualquier organización que tiene una estructura descentralizada.
  • Casos típicos de lo anterior son: organismos gubernamentales y/o de servicio público.
  • La industria de la manufactura, particularmente, aquella con plantas múltiples. Por ejemplo, la industria automotriz.
  • Aplicaciones de control y comando militar.
  • Líneas de transportación aérea.
  • Cadenas hoteleras.
  • Servicios bancarios y financieros.

Transparencia y Fregmentacion

Niveles de Transparencia en una Base de Datos Distribuida:


El propósito de establecer una arquitectura de un sistema de bases de datos distribuidas es ofrecer un nivel de transparencia adecuado para el manejo de la información.


La transparencia se define como la separación de la semántica de alto nivel de un sistema de los aspectos de bajo nivel relacionados a la implementación del mismo. Un nivel de transparencia adecuado permite ocultar los detalles de implementación a las capas de alto nivel de un sistema y a otros usuarios.

La independencia de datos se puede dar en dos aspectos: lógica y física.
  • Independencia lógica de datos. Se refiere a la inmunidad de las aplicaciones de usuario a los cambios en la estructura lógica de la base de datos. Esto permite que un cambio en la definición de un esquema no debe afectar a las aplicaciones de usuario. Por ejemplo, el agregar un nuevo atributo a una relación, la creación de una nueva relación, el reordenamiento lógico de algunos atributos.
  • Independencia física de datos. Se refiere al ocultamiento de los detalles sobre las estructuras de almacenamiento a las aplicaciones de usuario. la descripción física de datos puede cambiar sin afectar a las aplicaciones de usuario. Por ejemplo, los datos pueden ser movidos de un disco a otro, o la organización de los datos puede cambiar.

La transparencia al nivel de red se refiere a que los datos en un SBDD se accedan sobre una red de computadoras, sin embargo, las aplicaciones no deben notar su existencia. La transparencia al nivel de red conlleva a dos cosas:
  • Transparencia sobre la localización de datos. el comando que se usa es independiente de la ubicación de los datos en la red y del lugar en donde la operación se lleve a cabo. Por ejemplo, en Unix existen dos comandos para hacer  una copia de archivo. Cp se utiliza para copias locales y rcp se utiliza para copias remotas. En este caso no existe transparencia sobre la localización.
  • Transparencia sobre el esquema de nombramiento. Lo anterior se logra proporcionando un nombre único a cada objeto en el sistema distribuido. Así, no se debe mezclar la información de la localización con en el nombre de un objeto.

La transparencia sobre replicación de datos se refiere a que si existen réplicas de objetos de la base de datos, su existencia debe ser controlada por el sistema no por el usuario. Se debe tener en cuenta que cuando el usuario se encarga de manejar las réplicas en un sistema, el trabajo de éste es mínimo por lo que se puede obtener una eficiencia mayor. Sin embargo, el usuario puede olvidarse de mantener la consistencia de las réplicas teniendo así datos diferentes.
La transparencia a nivel de fragmentación de datos permite que cuando los objetos de la bases de datos están fragmentados, el sistema tiene que manejar la conversión de consultas de usuario definidas sobre relaciones globales a consultas definidas sobre fragmentos. Así también, será necesario mezclar las respuestas a consultas fragmentadas para obtener una sola respuesta a una consulta global. El acceso a una base de datos distribuida debe hacerse en forma transparente.

-Fragmentación:
Existen tres tipos de fragmentacion la horizontal, la vertical y la mixta

1.-Fragmentación Horizontal
Una tabla T se divide en subconjuntos, T1, T2, ...Tn. Los fragmentos se definen a través de una operación de selección y su reconstrucción se realizaráconuna operación de unión de los fragmentos componentes. Cada fragmento se sitúa en un nodo.

2.-Fragmentación Vertical
Una tabla T se divide en subconjuntos, T1, T2, ...Tn. Los fragmentos  se definen a través de una operación de proyección. Cada fragmento debe incluir la clave primaria de la tabla. Su 
reconstrucción se realizará con una operación de join de los fragmentos componentes, pueden existir fragmentos no disjuntos: combinación de fragmentación y replicación.


3.-Fragmentación Mixta
Como el mismo nombre indica es una combinación de las dos anteriores vistas he aquí un ejemplo apartir de una tabla fragmentada horizontalmente.





jueves, 5 de febrero de 2015

Actividad #5

ARQUITECTURA DE BASES DE DATOS DISTRIBUIDAS

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. Es la arquitectura de los centros de proceso de datos tradicionales. Se basa en tecnologías sencillas, muy experimentadas y de gran robustez.
  • 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. Esta división de trabajo ha conducido al desarrollo de sistemas de bases de datos cliente-servidor.
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.
 
Arquitectura 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).

Características de un sistema Cliente/Servidor

Un sistema cliente/servidor es aquel en el que uno o más clientes y uno o más servidores, conjuntamente con un sistema operativo subyacente y un sistema de comunicación entre procesos, forma un sistema compuesto que permite cómputo distribuido, análisis, y presentación de los datos. Si existen múltiples servidores de procesamiento de base de datos, cada uno de ellos deberá procesar una base de datos 12 distinta, para que el sistema sea considerado un sistema cliente/servidor. Cuando dos servidores procesan la misma base de datos, el sistema ya no se llama un sistema cliente/servidor, sino que se trata de un sistema de base de datos distribuido.
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.

Arquitectura de bases de datos distribuidas

Un sistema de computación distribuida consiste en un conjunto de computadores (que no necesariamente tienen que ser homogéneos), que están interconectados entre sí formando una red, y que cooperan para realizar una determinada tarea. Un sistema de computación distribuida parte un problema grande en pequeñas piezas, y soluciona cada una de ellas eficientemente de una manera coordinada.
En la arquitectura distribuida el SGBD y la BD no están asociados a un determinado ordenador, sino a una red cuyos nodos se reparten las funciones. Una base de datos distribuida es vista por las aplicaciones igual que si fuera centralizada. Es el SGBDD el que se encarga de preservar la integridad y coherencia de la BD. Sin embargo existe otra definición mucho menos estricta de base de datos distribuida utilizada por muchos fabricantes de SGBD, según la cual una base de datos es distribuida sí permite lecturas y modificaciones remotas, independientemente de que éstas sean transparentes o no para las aplicaciones. Esta definición no es adecuada cuando se desea seleccionar una BD realmente distribuida.
Los usuarios acceden a la base de datos distribuida a través de aplicaciones. Estas aplicaciones se pueden clasificar en aquellas que no requieren datos de otros computadores (aplicaciones locales) y aquellos que requieren datos de otros computadores (aplicaciones globales). Un SGBDD tiene las siguientes características:    
  •  Una  colección de datos compartidos y relacionados lógicamente.
  •  Los datos están divididos en fragmentos.
  •  Los fragmentos se pueden duplicar.
  •  Los fragmentos se colocan en  varios emplazamientos (computadores).
  •  Dichos emplazamientos están conectados por una red.
  •  Los datos de cada emplazamiento están bajo el control de un SGBD.
  •  El SGBD en cada emplazamiento puede manejar aplicaciones locales autónomamente.
  •  Cada SGBD participa en al menos una aplicación global.

martes, 3 de febrero de 2015

Actividad #4

Bases de datos centralizados

Es una base de datos almacenada en su totalidad en un solo lugar físico, es decir, es una base de datos almacenada en una sola máquina y en una sola CPU, en donde los usuarios trabajan en terminales "tontas" que solo muestran resultados.

Los sistemas de bases de datos centralizadas 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 mono usuarios ejecutándose en computadoras personales hasta los sistemas de bases de datos de alto rendimiento encuitándose en grandes sistemas.

Bases de Datos distribuidas

Son la que almacenan 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 distribuidos se compone de un conjunto de sitios, conectados entre sí mediante algún tipo de red de comunicaciones, en el cual:
•  Cada sitio es un sistema de base de datos en sí mismo.
•  Los sitios trabajan en conjunto 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.


Cuadro comparativo de  bases de datos centralizados y bases de datos distribuidas


Ventajas
Desventajas










Bases de datos   centralizadas
  • Se evita la redundancia.
  • Se evita la inconsistencia. Ya que si un hecho específico se representa por una sola entrada, la no-concordancia de datos no puede ocurrir.
  • Pueden aplicarse restricciones de seguridad.
  • Puede conservarse la integridad.
  • El procesamiento de los datos ofrece un mejor rendimiento y resulta más confiable que los sistemas distribuidos.

  • En caso de un desastre o catástrofe, la recuperación es difícil de        sincronizar.
  • Las cargas de trabajo no se pueden difundir entre varias computadoras, ya que los trabajos siempre se ejecutarán en la misma máquina.












Bases de datos   distribuidas
·         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).

·         Complejidad – Se debe asegurar que la base de datos sea transparente, se debe lidiar con varios sistemas diferentes que pueden presentar dificultades únicas. El diseño de la base de datos se tiene que trabajar tomando en cuenta su naturaleza distribuida, por lo cual no podemos pensar en   hacer joins que afecten varios sistemas.
·         Economía – la complejidad y la infraestructura necesaria implica que se necesitará una mayor mano de obra.
·         Seguridad – se debe trabajar en la seguridad de la infraestructura así como cada uno de los sistemas.
·         Integridad – Se vuelve difícil mantener la integridad, aplicar las reglas de integridad a través de la red puede ser muy caro en términos de transmisión de datos.
·         Falta de experiencia – las bases de datos distribuidas son un campo relativamente nuevo y poco común por lo cual no existe mucho personal con experiencia o conocimientos adecuados.
·         Carencia de estándares – aún no existen herramientas o metodologías que ayuden a los usuarios a convertir un DBMS centralizado en un DBMS distribuido.