viernes, 20 de febrero de 2015

Actividad 8



Características de BDD modelo cliente/servidor


  • Características funcionales
Esta arquitectura se puede clasificar en cinco niveles, según las funciones que asumen el cliente y el servidor.

1.- En el primer nivel el cliente asume parte de las funciones de presentación de la aplicación, ya que siguen existiendo programas en el servidor dedicados a esta tarea. Dicha distribución se realiza mediante el uso de productos para el "maquillaje" de las pantallas del mainframe. Esta técnica no exige el cambio en las aplicaciones orientadas a terminales, pero dificulta su mantenimiento. Además, el servidor ejecuta todos los procesos y almacena la totalidad de los datos. En este caso se dice que hay una presentación distribuida o embellecimiento.

2.- En el segundo nivel la aplicación está soportada directamente por el servidor, excepto la presentación que es totalmente remota y reside en el cliente. Los terminales del cliente soportan la captura de datos, incluyendo una validación parcial de los mismos y una presentación de las consultas. En este caso se dice que hay una presentación remota.

3.- En el tercer nivel la lógica de los procesos se divide entre los distintos componentes del cliente y del servidor. El diseñador de la aplicación debe definir los servicios y las interfaces del sistema de información de forma que los papeles de cliente y servidor sean intercambiables, excepto en el control de los datos que es responsabilidad exclusiva del servidor. En este tipo de situaciones se dice que hay un proceso distribuido o cooperativo.

4.- En el cuarto nivel el cliente realiza tanto las funciones de presentación como los procesos. Por su parte, el servidor almacena y gestiona los datos que permanecen en una base de datos centralizada. En esta situación se dice que hay una gestión de datos remota.


5.- En el quinto y último nivel, el reparto de tareas es como en el anterior y además el gestor de base de datos divide sus componentes entre el cliente y el servidor. Las interfaces entre ambos están dentro de las funciones del gestor de datos y, por lo tanto, no tienen impacto en el desarrollo de las aplicaciones. En este nivel se da lo que se conoce como bases de datos distribuidas.

  • Características físicas
La idea principal consiste en aprovechar la potencia de los ordenadores personales para realizar sobre todo los servicios de presentación y, según el nivel, algunos procesos o incluso algún acceso a datos locales. De esta forma se descarga al servidor de ciertas tareas para que pueda realizar otras más rápidamente.
También existe una plataforma de servidores que sustituye al ordenador central tradicional y que da servicio a los clientes autorizados. Incluso a veces el antiguo ordenador central se integra en dicha plataforma como un servidor más. Estos servidores suelen estar especializados por funciones (seguridad, cálculo, bases de datos, comunicaciones, etc.), aunque, dependiendo de las dimensiones de la instalación se pueden reunir en un servidor una o varias de estas funciones.

  • Características lógicas

Una de las principales aportaciones de esta arquitectura a los sistemas de información es la interfaz gráfica de usuario. Gracias a ella se dispone de un manejo más fácil e intuitivo de las aplicaciones mediante el uso de un dispositivo tipo ratón. En esta arquitectura los datos se presentan, editan y validan en la parte de la aplicación cliente.

En cuanto a los datos, cabe señalar que en la arquitectura cliente/servidor se evitan las duplicidades (copias y comparaciones de datos), teniendo siempre una imagen única y correcta de los mismos disponible en línea para su uso inmediato.

Todo esto tiene como fin que el usuario de un sistema de información soportado por una arquitectura cliente/servidor trabaje desde su estación de trabajo con distintos datos y aplicaciones, sin importarle dónde están o dónde se ejecuta cada uno de ellos.


Características del sistema de archivos convencionales




Los sistemas de archivos están diseñados para hacer la vida más fácil y ayudarle a navegar por la enorme cantidad de datos almacenados en sus computadoras , teléfonos celulares, unidades USB y otros dispositivos. Trabajo principal del sistema de archivos es organizar los datos ( archivos, programas multimedia) que almacena lo que se puede recuperar fácilmente .
  • Diferencias con Archivos
El Archivo por sí mismo no constituye una Base de Datos, sino más bien la forma en que está organizada la información es la que da origen a la Base de Datos.

Las Bases de Datos manuales, pueden ser difíciles de gestionar y modificar.

Por ejemplo: En una guía de teléfonos no es posible encontrar el número de un individuo si no sabemos su apellido, aunque conozcamos su domicilio.

Del mismo modo, en un Archivo de pacientes en el que la información esté desordenada por el nombre de los mismos, será una tarea bastante engorrosa encontrar todos los pacientes que viven en una zona determinada.

No podemos comparar directamente Base de Datos con Archivos, porque para ello es necesario tener más de un Archivo, pero si esto es así entraríamos en los problemas de: redundancia de datos, inconsistencia de datos, heterogeneidad de formatos de datos, no podemos compartir datos de las distintas aplicaciones, no manejamos la seguridad de todos losArchivos y por último ante pequeñas modificaciones en la estructura de los datos se requiere de muchas horas de programación para adecuar las mismas.

Los problemas expuestos anteriormente se pueden resolver creando un Sistemas de Gestión de Bases de Datos (SGBD), DBMS (Data Base Management System).

http://www.dataprix.com/23-principales-diferencias-archivos-convencionales
http://es.slideshare.net/spgutierrez86/semana1-10144829

martes, 10 de febrero de 2015

Actividad 7


Arquitecturas en las BDD



La arquitectura define la estructura. 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.
Desde el punto de vista de las bases de datos, conceptualmente existen tres tipos de ambientes que se integran con múltiples procesadores:

  • 1. Arquitecturas de memoria compartida. Consisten de diversos procesadores los cuales accedan una misma memoria y una misma unidad de almacenamiento (uno o varios discos).
  •  2. Arquitecturas de disco compartido. Consiste de diversos procesadores cada uno de ellos con su memoria local pero compartiendo una misma unidad de almacenamiento (uno o varios discos).
  • 3. Arquitecturas nada compartido. Consiste de diversos procesadores cada uno con su propia memoria y su propia unidad de almacenamiento.

Ventajas.

  • 1. 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.
  • 2. El procesamiento es rápido debido a que varios nodos intervienen en el procesamiento de una carga de trabajo, 
  • 3. Nuevos nodos se pueden agregar fácil y rápidamente.
  • 4. 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.
  • 5. Control local de los datos con que se interactúa.
  • 6. Mayor tolerancia a los fallos

Desventajas.

  • 1. Es más complicado el control y la manipulación de los datos
  • 2. 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.
  • 3. 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.

Lugares 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 de datos mediante 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 de débito o crédito.
  • 5. Hotel.
Utiliza una base de datos para saber cuántos turistas o visitantes se registran y ocupan las habitaciones del hotel.
  • 6. Clínicas.
Lleva una base de datos con un registro personal de cada paciente que en el se incluyen todo su historial médico.

  • 7. Penales federales.
Emplea una base de datos con los expedientes de cada uno de los presos, y ésta se encarga de llevar un control total de la información.

  • 8. Sindicatos laborales.
La base de datos lleva el control de las plazas de cada personal y cual es el empleo.

  • 9. Registro civil.
Utiliza una base de datos para el registro de la natalidad, matrimonios, divorcios, etc.

  • 10. Tiendas de abarrotes.
Esta emplea una base de datos para el registro de la mercancía, gatos y ganancias.

Fuente: http://delaoarrieta.blogspot.mx/2012/09/uso-de-las-bdd-en-diversos-sectores.html
http://atlas.puj.edu.co/~caolarte/puj/cursos/cc100/files/clases/Arquitecturas.pdf
http://es.scribd.com/doc/82807834/1-4-Arquitectura-de-Base-de-Datos-Distribuidas-Copia#scribd

viernes, 6 de febrero de 2015

Actividad 6

Bases de datos distribuidas en sectores productivos


El uso de las bases de datos distribuidas ha ido en aumento con el paso del tiempo, conforme los negocios evolucionan hacia otros países, y hacia los sistemas descentralizados.

Los sectores productivos en donde el uso de las BDD es más frecuente son:
  • Cualquier organización que tiene una estructura descentralizada. - Casos típicos de lo anterior son: organismos gubernamentales y/o de servicio público.
Como su trabajo mismo lo indica, la implementación de una BDD facilita el alcance que tienen hacia sus clientes, ya sean de carácter público o privado.
  • La industria de la manufactura, particularmente, aquella con plantas múltiples. Por ejemplo, la industria automotriz.
  •  Lineas de transportación aérea.
  • Cadenas hoteleras.
Grandes empresas comerciales como éstas, inicialmente fueron construidas con hardware dedicado a sistemas centralizados. Con el auge de su éxito, fue necesario transportar sus BD hacia los sistemas de BDD ya que éstos, por sus características de distribución geográfica y necesidad de acceso desde diferentes puntos del mundo.
  • Aplicaciones de control y comando militar.
Con el uso de las redes WAN y su gran crecimiento, el intercambio de información y datos específicos- en este caso militares y de control- fue necesario ampliar sus bases hacia lo distribuido, primordialmente con fines tácticos y políticos.

  • Servicios bancarios y financieros
Quizá sea este el sector productivo más conocido ya que las BDD son de vital importancia en cualquier transacción bancaria. Además, que su uso es confiable y sus clientes se ven beneficiados con esto.

Como podemos observar, cada vez son más y muy diferentes las áreas en donde podemos implementar una BDD.


Fragmentación y Transparencia de las BDD

La transparencia oculta al usuario la parte del cómo están organizadas las bases de datos distribuidas en los diferentes nodos físicos en las que se encuentran, esto hace que el usuario vea a la base de datos distribuida como si fuera una sola base de datos.


Dentro de los principales niveles de trasparencia tenemos:

Transparencia de Sistemas de gestión de base de datos SGBD
Transparencia de transacción
Transparencia de concurrencia
Transparencia respecto a fallos

Transparencia de Sistemas de gestión de base de datos SGBD


No es necesario para el usuario saber los nombres de los fragmentos menos la ubicación de estos, como se hace la replicación los nombres en cada uno de los nodos.
Transparencia de fragmentación. El usuario no sabe cómo están fragmentadas las tabla en las base de datos. El usuario no necesita especificar el nombre de los fragmentos de las tablas.
Transparencia de la ubicación. Puede darse el caso de que el usuario conozca cómo se encuentran fragmentadas las tablas, pero no conoce y no es necesario que sepa la ubicación de etas.
Transparencia de la replicación. El usuario no sabe que nodos que contienen los fragmentos son replicados, tampoco es necesario que lo sepa para poner en funcionamiento una aplicación.
Transparencia de denominación. Cada elemento de la base de datos distribuida debe tener un nombre igual en cada uno de los nodos en que se encuentra distribuida, eso hace que el usuario manipule los elementos como si estudiaran centralizados en una sola base de datos.

Transparencia de concurrencia

Los sistemas de gestión de base de datos distribuidas brindan transparencia de concurrencia si es que las transacciones independientes son lógicas y tienen similitud con que se puedan hacer al mismo tiempo, es decir los resultados serían los mismos se hiciere de una sola vez. Esto sucede con la replicación, por ejemplo, dado que este proceso es asíncrono.

Transparencia de transacción

Se garantiza que todas las transacciones mantengan la integridad y coherencia de datos de la base de datos distribuida, es decir en todos sus nodos y fragmentos. Por ejemplo se puede utilizar todos los fragmentos de una tabla – estos fragmentos pueden estar físicamente en diferentes ubicaciones – de una sola vez.
Una transacción internamente está dividida en sub transacciones para ocupar cada uno de los nodos que contenga los datos que se requiere, esto no es visible para el usuario. Este, simplemente envía una sola transacción.

Transparencia respecto a fallos
Garantizar la atomicidad de la transacción, es decir mostrar los resultados si es que todas las sub transacciones no tuvieron error, o parar todo el proceso y algún subproceso tuvo error. Por lo tanto SGBDD debe sincronizar todas las sub transacciones mediante la transacción global.

Tipos de fragmentación:

Dado que una relación se corresponde esencialmente con una tabla y la cuestión consiste en dividirla en fragmentos menores, inmediatamente surgen dos alternativas lógicas para llevar a cabo el proceso: la división horizontal y la división vertical.

Fragmentación Horizontal:

Como se ha explicada anteriormente, la fragmentación horizontal se realiza sobre las tuplas de la relación. Cada fragmento será un subconjunto de las tuplas de la relación. Existen dos variantes de la fragmentación horizontal: la primaria y la derivada. La fragmentación horizontal primaria de una relación se desarrolla empleando los predicados definidos en esa relación. Por el contrario, la fragmentación horizontal derivada consiste en dividir una relación partiendo de los predicados definidos sobre alguna otra.


Fragmentación Vertical:



El objetivo de la fragmentación vertical consiste en dividir la relación en un conjunto de relaciones más pequeñas tal que algunas de las aplicaciones de usuario sólo hagan uso de un fragmento. Sobre este marco, una fragmentación óptima es aquella que produce un esquema de división que minimiza el tiempo de ejecución de las aplicaciones que emplean esos fragmentos.


Fragmentación mixta o híbrida:

En muchos casos la fragmentación vertical u horizontal del esquema de la base de datos no será suficiente para satisfacer los requisitos de las aplicaciones. Como ya se citó al comienzo de este documento podemos combinar ambas, utilizando por ello la denominada fragmentación mixta. Cuando al proceso de fragmentación vertical le sigue una horizontal, es decir, se fragmentan horizontalmente los fragmentos verticales resultantes, se habla de la fragmentación mixta HV

martes, 3 de febrero de 2015

Actividad 4

 Bases de datos centralizadas Vs bases de datos distribuidas

Bases de datos centralizadas


¿Qué es?

Una base de datos centralizada 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.


Características

Entre las características principales de una base de datos centralizada se encuentran:

  • Se almacena completamente en una localidad central, es decir, todos los componentes del sistema residen en un solo computador o sitio.
  • No posee múltiples elementos de procesamiento ni mecanismos de intercomunicación como las bases de datos distribuidas.
  • Los componentes de las bases de datos centralizadas son: los datos, el software de gestión de bases de datos y los dispositivos de almacenamiento secundario asociados.
  • El problema de seguridad es fácil en estos sistemas de bases de datos.
Ventajas

  • 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.

Desventajas

  • Los mainframes no ofrecen mejor proporción precio/rendimiento que los microprocesadores de los sistemas distribuidos.
  • Cuando un sistema de bases de datos centralizada falla, se pierde toda disponibilidad de procesamiento y sobre todo de información confiada al sistema.
  • 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.
  • Un mainframe en comparación con un sistema distribuido no tiene mayor poder de cómputo.

Bases de datos distribuidas

¿Qué es?


Una base de datos distribuida 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, los cuales tienen la capacidad de procesamiento autónomo lo que indica que puede realizar operaciones locales o distribuidas.

Características

Entre las características principales de una base de datos distribuida se encuentran:

  • Autonomía Local: los sitios distribuidos deben ser autónomos, es decir, que todas las operaciones de un sitio se controlan desde ese sitio. 
  • Operación continua: nunca debería apagarse para realizar alguna función, como añadir un nuevo sitio.
  • Independencia con respecto a la localización: no debe haber dependencia de un sitio central para obtener un servicio.
  • Independencia con respecto a la fragmentación: la fragmentación es deseable por razones de desempeño.
  • Procesamiento distribuido de consultas: el objetivo es convertir transacciones de usuario en instrucciones para manipulación de datos, y así reducir el trafico en la red implica que el proceso mismo de optimización de consultas debe ser distribuido.
    Independencia con respecto al equipo.
  • Independencia con respecto al sistema operativo. 
  • Independencia con respecto a la red.
  • Puede leer y escribir datos localizados en diferentes nodos de la red.

Ventajas
  • Los datos son localizados en un 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.

Desventajas


  • Los datos residen en muchos nodos diferentes y se pueden consultar por nodos diversos de la red.
  • La probabilidad de violaciones de seguridad es creciente si no se toman las precauciones debidas. 
  • Dado que los datos pueden estar replicados, el control de concurrencia y los mecanismos de recuperación son mucho más complejos que un sistema centralizado.
  • La distribución produce un aumento en la complejidad del diseño y en la implementación del sistema.



Conclusiones

Desde la aparición de los métodos de bases de datos distribuidas hace ya años, parece que el salto de lo centralizado a lo distribuido a escala comercial está llegando.Las bases de datos distribuidas son cada vez más usadas por las empresas y suponen una ventaja competitiva frente a los sistemas centralizados, siempre y cuando la empresa en cuestión tenga necesidad de usar una base de datos de este tipo. Lo más habitual es disponer de varias sedes y tener que manejar información común, para lo cual las bases de datos distribuidas son especialmente útiles.