BDOO y BDD

 BDOO y BDD

Bases de Datos Orientada a Objetos

Las bases de datos orientadas a objetos son bases de datos que presentan su información de una manera diferente a la tradicional de tablas, en este tipo de bases de datos la información es presentada como un objeto, de esta manera se hace más fácil la manipulación de esta información en la programación orientada a objetos.

En comparación a las bases de datos tradicionales, las bases de datos orientadas a objetos, tienen un esquema de datos mucho más flexible, el acceso a los datos es más rápido debido a que los objetos pueden ser recuperados de forma directa sin búsqueda específica, estas no están limitadas por los tipos de datos y los lenguajes de consulta de los sistemas de bases de datos tradicionales.

Por otro lado, una característica principal de este tipo de bases de datos es la potencia que proporcionan al diseñador al permitirle especificar tanto la estructura de objetos complejos, como las operaciones que se pueden aplicar sobre dichos objetos.

Estas bases de datos orientadas a objetos han sido diseñadas para trabajar bien con lenguajes de programación orientados a objetos tales como Python, Java, C#, Ruby, Delphi, etc.

Ventajas de las BDOO:

  • Poseen un sistema declarativo que permite encontrar y recuperar objetos de la base de datos.
  • Es posible usar uno o varios objetos a través del lenguaje de programación para obtener análisis o manipulación de la información de una BDOO.
  • Las transacciones de datos son más seguras y solo se cumplen o terminan cuando no existen conflictos entre estos datos.
  • Estas bases de datos tienen un mecanismo de almacenamiento en cache que crea replicas parciales de la base de datos, esto permite minimiza el acceso al disco o el tráfico de red, lo que permite que las aplicaciones accedan a objetos desde la memoria del programa, esto puede significar un aumento en velocidad de acceso de datos.

Desventajas de las BDOO:

Las bases de datos orientadas a objetos aun no son lo suficientemente populares para que sean constantemente desarrolladas, esto lleva a un mayor riesgo de sostenibilidad de la base de datos en el largo plazo.

Por otro lado, aun no hay unos criterios claros de estandarización ya que este tipo de bases de datos apenas están emergiendo en el mercado, por esta razón existe poca documentación sobre los proyectos que las implementan y esto puede extender el tiempo de desarrollo de un proyecto que emplee este modelo de bases de datos.

Bases de Datos Distribuidas

Una base de datos distribuida consiste en varias bases de datos distribuidas en diferentes lugares físicos o lógicos que están conectados entre sí por un sistema de comunicaciones, estos sistemas pueden ser una red entre ciudades donde cada ciudad almacena una parte de la base de datos o un conjunto de computadores diferentes y en cada uno de estos hay una parte de la base de datos, normalmente este tipo de sistemas son invisibles para el usuario final ya que estás redes están hechas para que funcionen de manera conjunta y coordinada, estos diferentes lugares donde están estas bases de datos son llamados nodos o sitios; Este tipo de arquitectura permite que cada nodo de la base de datos funcione de una manera independiente, o sea, no depende si otros nodos en otros lugares estén funcionando.

La seguridad de este tipo de bases de datos debe de ser un poco más estricta que la seguridad de otras bases de datos más sencillas y convencionales, debido a que, si estas están distribuidas en diferentes localizaciones y se requiere intercambiar datos e información entre sí, se debe de implementar un sistema que garantice la seguridad, integridad y transporte de estos datos, algunas de estas medidas pueden ser sistemas de autentificación y autorización para que solo usuarios autorizados puedan acceder a estas bases de datos y manejar su información. El cifrado de datos transportados también es una buena manera de incrementar la seguridad de este tipo de bases de datos, al usar aplicaciones que cifren la información cuando salga y cuando entren de los diferentes nodos que conforma la base de datos.

Ventajas de BDD:

  • Este tipo de datos son modulares, o sea, se puede agregar, modificar o quitar nodos sin afectar el funcionamiento de los demás.
  • Es más económico tener una estructura conformada por computadores más sencillos que almacenen cada nodo de la base de datos en vez de un supercomputador que almacene todo a la vez.
  • La disponibilidad de este sistema no depende de otros nodos, o sea, si un nodo falla, este no afectará a toda la base de datos.
  • Cada nodo se hace responsable de la información y datos que almacenan, o sea, pueden controlar la información sin afectar otros nodos.
  • La organización de este sistema es el más adecuado para entidades que tienen diferentes sedes distribuidas en diferentes lugares o ciudades.

Desventajas de BDD:

  • La seguridad de este sistema debe de ser mucho mejor que la seguridad de sistemas más convencionales y centralizados, ya que la información que se transporta entre nodos debe de estar asegurada en todo momento.
  • Debido a su complejidad y su infraestructura, es necesario una mayor mano de obra con experiencia en este tipo de bases de datos, esto puede llevar a un incremento de costos.
  • Este tipo de bases de datos es relativamente nuevo y poco común por lo cual encontrar personal con experiencia o conocimiento en este tipo de bases de datos puede ser complicado.
  • Debido a lo anterior, las herramientas y metodologías que permiten convertir un sistema centralizado en un sistema distribuido son escasas.

¿Cuándo usar una BDOO y una BDD?

Para tomar la decisión sobre qué tipo de sistema de bases de datos se debe de usar primero es necesario pensar, analizar y evaluar qué tipo de información se va a manejar, que uso se le va a dar y que necesidad se desea cumplir.

Cuando usar una BDOO:

Se puede usar este tipo de bases de datos cuando se desea un sistema que sea de alto rendimiento, pueda manejar datos complejos y pueda satisfacer una necesidad de negocio, también cuando se desea sacarle provecho a los diferentes lenguajes que están diseñados para la programación orientada a objetos ya que este sistema de bases de datos toma algunos principios o características de este tipo de programación, como son la encapsulación, herencia y polimorfismo.

Cuando usar una BDD:

Este sistema de bases de datos se puede usar cuando se desea tener un sistema descentralizado y que no dependa de una computadora central para funcionar, también cuando se desea tener un sistema aparte o autónomo para cada una de las sedes o lugares de la red organizacional pero que al mismo tiempo permita el intercambio de información entre estos nodos o también cuando se desea creer un sistema distribuido un poco más económico ya que crear un sistema centralizado en un supercomputador puede llegar a ser mucho más costoso.


Comentarios

Entradas populares de este blog