TAREA ACADÉMICA: Procesamiento de Transacciones y Arquitecturas de Distribución de Datos


Alumno: José Daniel Galván

Curso: Base de Datos

Profesor: Luis Serna

Ciclo: 2012-2

7. Bases de Datos Distribuidas


La base de datos distribuida, primeramente, es en un almacén de datos, es decir en un conjunto de datos almacenado para tener posteriores usos. Sin embargo, este tipo de base de datos 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 conectados entre si.
Cada uno de los procesadores que integran dicho sistema recibe 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.

Cada localidad tiene una base de datos local aunque la información que se necesite puede provenir tanto de la base de datos local como de otras localidades, estas operaciones reciben el nombre de transacciones locales o transacciones globales respectivamente.
En cuanto a las formas que pueden conectarse las localidades, podemos mencionar a: la red totalmente conectada, la red prácticamente conectada, la red con estructura de árbol, la red de estrella o la red de anillo.

Ventajas
  •           Las consultas se realizan de manera rápida.
  •           Si una localidad falla, no afecta a las demás debido a que son independientes.
  •           Los propietarios de los datos pueden confiar en la seguridad y protección de los mismos.

Desventajas
  •           La instalación es muy compleja.
  •         Difícil sincronización para su recuperación.



Soluciones Homogéneas.-
En los sistemas de bases de datos distribuidas homogéneas, todos los sitios emplean el mismo software de gestión de bases de datos,  y conocen los demás sitios de tal forma que puedan cooperar en el procesamiento de las solicitudes de los usuarios.  

Soluciones Heterogéneas.-
En las bases de datos distribuidas heterogéneas puede que los diferentes sitios utilicen esquemas y software de gestión de sistemas de bases de datos diferentes. Puede que algunos sitios no tengan información de la existencia del resto y que solo proporcionen facilidades limitadas para la cooperación en el procesamiento de las transacciones de los usuarios.

Soluciones Integradas.-
Son aquellas que prefieren las pequeñas o medianas empresas debido a que tienen un costo menor y es de fácil manejo.

Soluciones Federadas.-
Permite que administrar entidades interdependientes entre compañías. De esta forma, los usuarios de EShop´s podrán acceder a varias áreas de la base de datos con sus datos de ingreso al sistema.



6. Arquitectura Cliente/Servidor



Un servidor es una aplicación que ofrece un servicio a los usuarios de Internet; un cliente es el que solicita ese servicio. 

Una aplicación está compuesta por dos partes: una de servidor y la otra de cliente, estos se pueden ejecutar en el mismo sistema o en diferentes. Los usuarios utilizan la parte del cliente y envían su solicitud al servidor de la aplicación.

El servidor recibe una solicitud, realiza el servicio requerido y devuelve los resultados en forma de una respuesta. Generalmente un servidor puede tratar múltiples peticiones al mismo tiempo. 

Algunos servidores esperan las solicitudes en puertos bien conocidos de modo que sus clientes saben a donde deben dirigir sus peticiones. Los clientes que se quieren comunicar con un servidor que no usa un puerto bien conocido tienen otro mecanismo para saber a qué puerto dirigirse. 

Los sistemas Cliente/Servidor se desarrollaron inicialmente para conseguir un rendimiento considerablemente superior con un aumento moderado del precio, pasando parte del procesamiento de la parte del cliente al servidor. De esta forma puede mejorar el rendimiento, pero apenas afecta al costo.

Desventajas en cuanto a costos.-

  • Alojan los costos por función en lugar de hacerlo por las actividades que lo generan.
  • Los costos en los que se incurren durante la planeación, diseño y prototipos que se deben realizar son muy caros.

Ventajas.-

  • Costos. Utilizar la arquitectura cliente/servidor es económico.
  • Fácil acceso a la información.
  • Buena interfaz gráfica.
  • Buena tecnología en el lugar adecuado. 
  • Permite separar módulos específicos.



5. Arquitectura Centralizada


Una base de datos centralizada es aquella que está totalmente en un solo lugar físico, es decir, está almacenada en una sola maquina y en una sola CPU, en la cual los usuarios trabajan en terminales que solo muestran resultados.

Los sistemas de bases de datos centralizadas son aquellos que se ejecutan en un único sistema informático sin interactuar con ninguna otra computadora. Tales sistemas van 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.

Características de las bases de datos centralizadas.-

  • Se almacena completamente en una localidad central.
  • 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 de manejar en estos sistemas de bases de datos.

Ventajas de las bases de datos centralizadas.-

  • Se evita la redundancia.
  • Se evita la inconsistencia.
  • 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 de las bases de datos centralizadas.-

  • Si el sistema de base de datos falla, se pierde la disponibilidad y procesamiento de la información que posee el sistema.
  • Difícil sincronización para su recuperación.
  • Las cargas de trabajo no se pueden difundir entre varias computadoras.



4. Recuperación de la Base de Datos


Es de gran interés para las empresas mantener la información que poseen sin que ésta sea dañada o extraviada. Sin embargo, ¿que sucede si nuestra base de datos se daña y queremos recuperarla?

Recuperación.- Cuando se presenta un error en los datos, se puede afirmar que hay un bug de programa o de hardware. Sin embargo, el Administrador de Base de Datos puede traer y recuperar la base de datos al estado en el que se encontraba antes que se dañase. Estas actividades consisten en un respaldo continuo que se le da a la base de datos en sí. Consiste mayormente en la creación de copias que se almacenan en lugares distintos al que se encuentra la base de datos en mención. Cabe resaltar que estas copias, en ocasiones, se guardan en puntos geográficamente distintos para así poder garantizar una mayor seguridad en caso de pérdidas, daños, entre otros.



Daños en Bases de Datos.-
  •           Bases de Datos interrumpidas por factores externos.
  •           Tablas borradas.
  •           Tablas corruptas.
  •           Ficheros corruptos y dañados.
  •           Índices dañados.
  •           Imposibilidad o problemas de acceso a alguna tabla.
  •           Páginas de datos dañadas.
  •           Entre otros.

Tiene dos formas primarias de recuperación.-
  •           La recuperación de la base de datos consisten en información y registros de tiempo, los cuales se cambian de manera tal que sean consistentes en un momento y fecha en particular. Es posible hacer respaldos de las bases de datos que no incluyan los registros de tiempo, la diferencia reside en que el Administrador de Base de Datos debe detener la base de datos en caso de llevar a cabo una recuperación.
  •           Se puede restaurar una base de datos que se encuentra fuera de línea sustituyendo con una copia de la base de datos.

3. Seguridad de la Base de Datos

La seguridad de las bases de datos se basa en la protección contra:
  • Pérdida de confidencialidad
  • Alteración no autorizada de datos
  • Destrucción intencional o involuntaria

De acuerdo a lo mencionado, es preciso mencionar que se debe aplicar las medidas en mención con los usuarios que no tienen derechos de acceso y con los de acceso limitado.
Dado que los datos son los activos más importantes de una organización, merecen mucho cuidado y protección. Sin embargo, no son los únicos que necesitan ser protegidos, pues hay brechas de seguridad que afectan a otras partes del sistema, los cuales están directamente relacionados con la base de datos.

Objetivos de los Sistemas de seguridad de Bases de Datos.-

  •           Integridad.- Sólo algunos usuarios autorizados pueden modificar datos en la base de datos.
  •           Disponibilidad.- Los datos deben estar disponibles para usuarios y programas de actualización autorizados.
  •          Confidencialidad.- Protección de los datos que no pueden ser revelados.

Algunos Aspectos Relativos a la seguridad.-

  •           Moral / Ético.- Pueden existir restricciones de índole moral o ético que autoricen únicamente a algunas personas del conocimiento de ciertos datos.
  •           Requisitos Legales.- Una organización debe manejar de manera discreta los datos de los individuos la conforman.
  •           Seguridad Comercial.- De gran interés para las empresas, pues hay datos que son muy útiles para la competencia.
  •           Fraude.- La información podría ser utilizada para confundir o estafar.
  •           Errores.- Cambios accidentales en los datos.

¿Qué elementos deben ser protegidos?
  •           Atributos de una tupla.
  •           Columnas.
  •           Una tupla individual.
  •           Conjunto de tuplas en una relación.
  •           La misma base de datos.                                                                                           
Mecanismos de Seguridad para Bases de Datos.-
  •           Control de Acceso Discrecional.- Garantiza privilegios a usuarios, de tal forma que ellos puedan modificar algunos archivos de datos.
  •           Control de Acceso Mandatorio.- Clasifica usuarios y datos en múltiples niveles de seguridad.
  •          Encriptado de Datos.- Enmascaran a los datos, de tal forma que sean ilegibles a menos que se tenga conocimiento del código.


2. Integridad y Concurrencia



Integridad

La integridad en una base de datos es la corrección y exactitud de la información que posee la misma. Además de ello, busca la seguridad en un sistema de bases de datos que permita el acceso a múltiples usuarios en tiempos paralelos.

Las condiciones que garantizan la integridad de los datos pueden ser de dos tipos:
  • Las restricciones de integridad de usuario: son condiciones específicas de una base de datos concreta que se deben cumplir con unos usuarios concretos.
  • Las reglas de integridad de modelo: son condiciones propias de un modelo de datos, y se deben cumplir en toda base de datos que siga dicho modelo.


Los SGBD deben proporcionar la forma de definir las restricciones de integridad de usuario de una base de datos y una vez definida, procurar que se cumplan. Las reglas de integridad del modelo, en cambio, no se deben definir para cada base de datos concreta, porque se consideran preestablecidas para todas las base de datos de un modelo.

Reglas de Integridad.-

Regla de integridad de unicidad de la clave primaria
Hace referencia a que los valores de una clave primaria no pueden repetirse entre los atributos de una misma tabla.
Regla de integridad de entidad de la clave primaria
La regla de integridad de entidad de la clave primaria dispone que los atributos de la clave primaria de una relación no puede tener valores nulos.
Regla de integridad referencial
La regla de integridad referencial está relacionada con el concepto de clave foránea, lo que determina que todos los valores que toma una clave foránea deben ser valores nulos o valores que existen en la clave primaria que referencia.
Restricción
La restricción en caso de borrado, consiste en no permitir borrar una tupla si tiene una clave primaria referenciada por alguna clave foránea y la restricción en caso de modificación consiste en no permitir modificar ningún atributo de la clave primaria de una fila si tiene una clave primaria representada por alguna clave foránea.
Actualización en cascada
La actualización en cascada consiste en permitir la operación de actualización de la tupla, y en efectuar operaciones que propaguen en cascada la actualización a las tuplas que la referenciaban; se actúa de este modo para mantener la integridad referencial.
Anulación
La anulación consiste en permitir la operación de actualización de la tupla y en efectuar operaciones que pongan valores nulos a los atributos de la clave foránea de las tuplas que la referencian; esta acción se lleva a cabo para mantener la integridad referencial.

Concurrencia

El termino concurrencia se refiere al hecho de que los DBMS (SISTEMAS DE ADMINISTRACION DE BD) permiten que muchas transacciones puedan realizarse en una misma base de datos a la vez. Para este sistema se necesita algún mecanismo de control para que las operaciones simultáneas no interfieran entre sí.




Métodos de control de concurrencia

Protocolos basados en técnicas de bloqueo
Un bloqueo es una operación usada para restringir las operaciones que se pueden aplicar sobre la base de datos. Existen varios tipos de bloqueo: binarios, compartidos, exclusivos, y bloqueos de certificación.

Bloqueos binarios
Poseen dos valores posibles, bloqueados y desbloqueados. Cada elemento de la base de datos tiene un bloqueo distinto. El bloqueo señala si una transacción está en ejecución sobre el elemento o está libre para que se pueda operar con él.

Bloqueos de lectura/escritura
Puede tener tres posibles posiciones: libre, bloqueado para lectura, y bloqueado para escritura. De esta forma, más de una transacción puede tener un mismo elemento de datos bloqueado para lectura, pero sólo una para escritura.

Problemas del bloqueo en dos fases: interbloqueo y espera indefinida
El interbloqueo se produce cuando una transacción T1 está esperando a algún elemento que está bloqueado por otra transacción T2. De esta forma, cada transacción está parada en espera a que otra transacción libere el recurso.
  • Exclusión mutua.- Cada elemento está bloqueado o está libre por una transacción.
  • Retención y espera.- Una transacción que ya ha bloqueado elementos puede solicitar un elemento adicional, y esperar que se le asigne, sin habilitar ninguno de los elementos anteriores.
  • No apropiación.- La transacción sólo puede liberar un elemento que tenga asignado; no se lo puede quitar a otra transacción que tenga mayor prioridad.
  • Espera circular.- Existe una cadena circular, compuesta por dos transacciones o más, y otros tantos elementos intercalados, de manera que cada proceso está esperando que se le asigne un elemento, el cual, a su vez, está asignado al siguiente proceso de la cadena.
  • Bloqueo mutuo o deadlock.- Un proceso se encuentra en estado de deadlock si está esperando por un suceso que no ocurrirá nunca.

FUENTE:
- ECURED (s.f.) Integridad de las Bases de Datos. http://www.ecured.cu/index.php/Integridad_de_las_Bases_de_Datos
- GARCÍA, Héctor. (s.f.) Concurrencia en Base de Datos. http://es.scribd.com/doc/55240694/Concurrencia-en-Base-de-Datos

1. Administración de Objetos y Recursos


Las bases de datos orientadas a objetos es aquella que está constituida por objetos, que pueden ser de muy diferentes tipos, sobre las cuales se encuentran definidas operaciones. Incorpora los conceptos importantes del modelo de objetos: Encapsulación, Herencia y Polimorfismo. Es en este tipo de bases de datos que los usuarios pueden definir operaciones sobre los datos como parte de la definición de datos. La orientación a objetos ofrece flexibilidad y no está limitada por los tipos de datos y los lenguajes de consulta de los sistemas de bases de datos tradicionales.

Los objetos estructurados se agrupan en clases.  No es necesaria una transformación del modelo de objetos hecho en un lenguaje de programación distinto pues las clases serán las mismas que en el modelo de bases de datos. Se requiere mucha abstracción para convertir objetos del mundo real a tablas en el modelo. Cabe resaltar que muchas organizaciones desean utilizar esta tecnología orientada a objetos.

Administración de objetos

Retomando el tema del interés de las empresas por utilizar esta tecnología, cabe resaltar que muchas de ellas utilizan un modelo de base de datos relacional y el proceso para migrarla a una base de datos orientada a objetos es la siguiente:
  • -           Crear una interface orientada a objetos encima de la base de datos relacional. No existe interrupción del sistema para la migración de datos y no existe perdida semántica de la información.
  • -           Los datos deben ser migrados de acuerdo con el motor de base de datos (por ejemplo Oracle 7 a 8), y las características orientadas a objetos solo pueden ser explotadas con la modificación o extensión del esquema.
  • -           La migración de la base de datos en donde un nuevo esquema bajo el OODBMS es creado y los datos son migrados de la base de datos relacional a la orientada a objetos.



En las bases de datos orientadas a objetos existen ciertos paradigmas:
  • -           Encapsulación: Propiedad que permite hacer privada u oculta alguna información al resto de los objetos, impidiendo algunos conflictos posteriores.
  • -           Herencia: Propiedad a través de la cual los objetos heredan comportamientos de otra tabla padre.
  • -           Polimorfismo: Propiedad de una operación mediante la cual, ésta puede ser aplicada a distintos tipos de objetos.


En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definición de la base de datos. Estas operaciones reciben el nombre de funciones, las cuales se dividen en dos partes: interfaz y tipo de datos a usar. La implementación, también llamada método, de la operación se especifica separadamente y puede modificarse sin afectar la interfaz.
Administración de recursos

Los datos son los principales recursos con los que cuenta una base de datos. El almacenamiento de los mismos es la tendencia más importante en la administración de la información en las organizaciones, pero al ser amplia la cantidad de datos que podemos encontrar en el entorno se presentan problemas, los cuales merecen atención:


  • -          La cantidad de datos que se maneja puede ser enorme, ya que las organizaciones cuentan con datos ya almacenados, estos deben permanecer a pesar de los constantes nuevos ingresos de datos al sistema.
  • -          Existen datos dispersados en muchas organizaciones, en diferentes métodos y dispositivos de recopilación.
  • -          Solo una parte de todos los datos que se recolectan dan la utilidad que espera obtener de ellos.
  • -          Para lograr eficiencia en la toma de decisiones, es necesario recurrir a datos externos ya que los conseguidos no dan la información que se necesita.
  • -          Los datos en bruto, son en muchas ocasiones de difícil acceso, ya que están almacenados en diferentes sistemas de cómputo, bases de datos, formatos, lenguajes humanos y de computador.
  • -          Las leyes relativas a los datos obtenidos, pueden diferir de un lugar a otro para su aplicación, así los datos conseguidos no pueden tener aplicabilidad global.
  • -          Se pueden presentar problemas de seguridad, calidad e integridad con la recopilación y el análisis de datos.
  • -          Existen problemas con la administración de datos por el gigante número de estos disponibles.

F
FUENTE:
- DE LA TORRE, Andrés (s.f.). Bases de Datos Orientadas a Objetos. http://www.monografias.com/trabajos79/base-datos-orientadas-objetos/base-datos-orientadas-objetos.shtml
- ASTUDILLO, Víctor (s.f.) Bases de Datos orientadas a Objetos. http://www.slideshare.net/migmorbus1/base-de-datos-orientado-a-objetos
- Universidad del Cauca (s.f.) Administración de Recursos de Datos. http://fccea.unicauca.edu.co/old/admondatos.htm