domingo, 18 de noviembre de 2012

Bases de Datos Distribuidas: soluciones homogéneas y heterogéneas, integradas, federadas o multibase


¿Que significa Bases de Datos Distribuidas: Soluciones homogéneas y heterogéneas, integradas, federadas o multibase?

Las Bases de Datos Distribuidas son las que almacenan datos que pertenecen lógicamente a un solo sistema, pero se encuentran físicamente esparcidos en varios sitios de la red.

Las soluciones homogéneas

Son todos los sistemas que emplean el mismo software de gestión de base de datos.

Las soluciones heterogéneas

Se refieren cuando se utilizan software de gestión de sistemas de base de datos diferentes.

Las Soluciones integradas

Se refieren a las preferencias de las pequeñas y medianas empresas debido a que tiene un costo menor y es de fácil manejo.

 Las soluciones federadas

Son aquellas que permiten administrar entidades interdependientes entre compañías.


Arquitectura Cliente/Servidor


¿Que es la arquitectura Cliente/ Servidor?

Se refiere a un modelo de aplicación distribuida, donde los trabajos de recursos y servicios se distribuyen entre los proveedores. Estos son los llamados servidores. Mientras que los solicitantes son los clientes.

¿Cómo surgió la arquitectura cliente/Servidor?

Con el aumento de la velocidad y potencia de las computadoras personales y el decremento en su  precio, los sistemas se han ido distanciando de la arquitectura centralizada. Los terminales conectados a un sistema central han sido suplantados por computadoras personales. De igual forma, la interfaz de usuario, que solía estar gestionada directamente por el sistema central, está pasando a ser gestionada cada vez más  por las computadoras personales. Como consecuencia, los sistemas centralizados actúan hoy como sistemas servidores que satisfacen las peticiones generadas por los sistemas clientes.

¿Qué características presenta un sistema con esta arquitectura?
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 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 Centralizada en una Base de Datos


3. ¿Que es la Arquitectura Centralizada?
Es un sistema de arquitectura centralizada, un controlador centralizado envía información a los actores e interfaces según el programa, la configuración y la información que recibe de sensores, sistemas interconectados y usuarios.  Se basa en la existencia de una maquina servidora que almacena los datos y las aplicaciones que los procesan.

Otra definición podría ser:
 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 mono-usuario ejecutándose en computadoras personales hasta los sistemas de bases de datos de alto rendimiento ejecutándose en grandes sistemas.


Recuperación de una Base de Datos


¿Que significa recuperación de la Base de datos?

Se refiere al proceso de recuperación de datos de un disco duro, disco extraíble o cualquier tipo de medio de almacenamiento electrónico (por ejemplo, copia de seguridad de cinta, matriz RAID, servidor, base de datos, memoria flash, etc.) cuando los datos ya no son accesibles por medios normales. La recuperación de datos es un proceso de: Evaluación (determinar el alcance de los daños); La estimación (Sobre la cantidad de datos que se recuperarán); Duplicado (de los datos accesibles en una ubicación segura si el medio en cuestión es físicamente funcional cuando se recibe); Reparación (de cualquier daño eléctrico o físico); Recuperación (de los datos mediante procesos lógicos: Software, que funcionen con los datos brutos de un disco); análisis (Generar un informe de los resultados de la recuperación); Devolución (de los datos recuperados).

Algunos ejemplos de recuperación de Base de Datos:

Recuperación de servidores SQL.
Recuperación de Base de Datos de SharePoint
Recuperación de Base de Datos Access
Recuperación de Base de Datos Lotus Notes
Recuperación de Base de Datos de servidores Exchange

Algunos ejemplos de recuperación de Base de Datos desde:

Ficheros Backup de las Baste de Datos (Ms, SQl server, MySQL, Ms Access).
Las cintas de Backup.
Los ficheros nativos de Base de Datos ( .mdf, .ndf, .ldf, .db, .dbf, etc ).

Seguridad de la Base de Datos.


¿Que es la Seguridad de la Base de Datos?

Podemos decir que es la capacidad del sistema para proteger datos, servicios y recursos de usuarios no autorizados. El fin de la seguridad es garantizar la protección o estar libre de todo peligro y/o daño, y que en cierta manera es infalible. Pero ¿De quienes nos protegemos? Los elementos que potencialmente pueden dañar a nuestro sistema son las personas (personal, ex empleados, curiosos, Hackers, Terroristas, etc.) y las amenazas lógicas (Software incorrecto, virus, gusanos, caballos de troya, etc.).

También se puede resumir en:

-          Revelación no autorizada, o también llamada confidencialidad.

-          Alteración no autorizada, relacionada con la integridad.

-          Destrucción intencional o involuntaria.

Dicha protección debe estar dirigida a dos tipos de usuario:

-          Los que no tienen derecho de acceso. (no autorizados)

-          Los que tienen derechos limitados a ciertas acciones. (usuarios limitados)

¿Por qué se debe contar con seguridad en una Base de Datos?

Se debe contar con seguridad en una Base de Datos debido a que los datos almacenados en dicha Base, son los activos esenciales mas valiosos de la organización. Es por esta razón que se necesita manejar dichos datos de forma cuidadosa.

¿Cuáles son los objetivos principales en la protección de la Base de Datos?

Integridad
Se refiere a que solo los usuarios con autorización podrán tener el privilegio de poder modificar los datos.


-          Disponibilidad
Los datos almacenados en dicha Base de Datos deberán estar disponibles siempre para los usuarios autorizados.

-          Confidencialidad
Se refiere a proteger los datos contra revelaciones no autorizadas en la Base de Datos.

¿Qué mecanismo de seguridad existen en una Base de Datos?

Los principales son:

-          Control de acceso.
-          Control de flujo.
-          Control de inferencia.
-          Encriptado.

jueves, 15 de noviembre de 2012

Integridad y Concurrencia

INTEGRIDAD

En una Base de Datos, cuando hablamos de integridad nos referimos directamente a que los datos junto con la información contenida en la base de datos este correcta. Se  debe verificar que las transacciones  que  realicen  los  usuarios autorizados para ello, cumplan con unas pre-condiciones o pos-condiciones que mantengan la base de datos en un estado válido.



1.      La integridad se puede clasificar en:

Integridad de dominio: significa que debemos velar porque cada valor o instancia de unatributo esté en el dominio o conjunto de valores posibles  para ese atributo


El dominio puede ser:


-      ContinuoSe dice que un atributo tiene un dominio continuo cuando toma cualquier valor en un rango dado.   Ejemplos:   el peso de un producto, el tiempo de calentamiento y la demanda de energía.

-      Discreto: se dice que un atributo tiene un dominio discreto cuando puede tomar
valores de una lista dada.   Ejemplos:   el estado civil, el sexo, la profesión y la dependencia donde trabaja un empleado.

El dominio también puede subdividirse en:

-          Dinámico: Se caracteriza porque puede variar a través del tiempo.   Ejemplo:
Dependencia, sueldo.

-   Estático: No varían con el tiempo.  Ejemplos:  el sexo (hay casos excepcionales) o la
Cédula.

2.    Integridad de entidad:  Este tipo de integridad vigila que toda instancia de una entidad se distinga de   las demás, inequívocamente. Las entidades dentro de una base de datos corresponden a entidades del mundo real donde sus instancias son completamente diferenciables; por ello, cada instancia debe poseer  un  identificador  único   no  nulo  denominado  clave  primaria  e e modelo relacional.  El  mecanismo  empleado  por  casi  todos los DBMS para garantizar la integridad de entidad es la restricción impuesta a los atributos que forman parte del identificador único de la entidad con la cláusula PRIMARY KEY cuando se define una tabla.


3.    Integridad Referencial:  Este tipo de integridad vigila que un dato que sirva de referencia en una relación o tabla del modelo relacional, de verdad exista en la tabla referenciada. El dato (oconjunto de datos) de referencia es llamado clave foránea  y es clave primaria en otra entidad.

4.  Integridad Definida por el Usuario son reglas establecidas por el propio diseñador de labase de datos y que corresponden a políticas o normas de la empresa.

Algunas de estas reglas se pueden especificar en la base de datos, sin tener que definirlas en las aplicaciones.  Esto sería lo ideal no sólo para velar por la integridad de la base de datos, sin importar el ambiente desde el cual se esté teniendo acceso a la base de datos, sino por la reutilización de código que además permite una mayor adaptabilidad del sistema a los cambios organizacionales.

CONCURRENCIA

Las bases de datos relacionales poseen un sistema de manejo de concurrencia, que permite quemúltiples usuarios compartan los mismos recursos al mismo tiempo.  Los recursos son objetos dela base de datos.


Los objetivos de un sistema de concurrencia son:

 Que el acceso a los objetos en forma simultánea, por los usuarios, sea coordinado.

 Consistencia de los datos:  Un usuario siempre debe tener una vista consistente de los datos que está manipulando.

Cuando varias transacciones son ejecutadas concurrentemente en una base de datos compartida, sus ejecuciones deben ser sincronizadas. Esto es, el efecto de una transacción debe ser el mismo que sería si no existiera ninguna otra transacción que se   estuviera   ejecutando   concurrentemente.   El   efecto   de   ejecutar   varias transacciones al tiempo, debe ser elmismo que si fueran ejecutadas   en serie con algún orden. Si esto se puede lograr, se dice que las transacciones son serializables.


Administración de Objetos y Recursos en una Base de Datos

La  Administración de Objetos y Recursos en una Base de Datos es sencillamente una actividad que se encarga principalmente de la administración de una aglomeración o agrupación de datos de alguna entidad u organización (Data Base). Dicha administración antes mencionada, tiene como objetivo principal satisfacer la gran cantidad de necesidades que exigen los consumidores o colaboradores del negocio.
Cuando hablamos de Base de datos orientada a objetos nos referimos a una Data Base que tiene como característica la incorporación de conceptos importantes de objetos (programación), dentro de estos conceptos tenemos :
  •   Encarcelación: Propiedad que permite ocultar información al resto de los objetos, impidiendo así accesos incorrectos o conflictos.
  •  Herencia: Propiedad a través de la cual los objetos heredan comportamientos dentro de una jerarquía de clases.
  •  Polimorfismo: Propiedad de una operación mediante la cual puede ser aplicada a distintos tipos de objetos.


A parte de las ventajas antes mencionadas, en una Base de datos orientada a objetos podemos definir ciertas operaciones sobre los datos  como parte de la definición de la base de datos.
Otra cosa que debemos resaltar, es que por ser orientadas a objetos podemos hacer uso de diversos lenguajes de programación, siendo esta una de las formas más eficientes de procesar información de una manera concreta, rápida y segura.

¿Por qué se crearon las Base de Datos orientadas a objetos?
Las bases de datos orientadas a objetos se crearon por el simple hecho de que en la actualidad existen múltiples lenguajes de programación y dichos lenguajes se actualizan constantemente. Esto nos da a entender que la razón principal de la orientación a objetos es el uso creciente que se le da a los lenguajes orientados a objetos para la creación de aplicaciones.

¿Qué lenguajes de programación se aplican en este tipo de Base de Datos?
  •           Visual Studio .Net
  •           C++.
  •           C#.
  •          Microsoft SQL Server.
  •           Oracle.
  •           Java.


¿Qué ventajas trae este tipo de Base de datos?
-        
  •   Manipulación de datos complejos de forma rápida.
  •  Flexibilidad.

¿Qué desventajas trae este tipo de Base de Datos?

  • Imposibilidad de procesamiento almacenado, hay que los objetos como condición solo pueden ser consultados con el cliente.
  • No hay agrupamiento físico de objetos (problemas de especialización).
  • Mecanismo de consultas muy primitivos.