Análisis BDD Y BDOO
Base de datos distribuida (BDD)
Una base de datos distribuida (BDD) es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales se encuentran distribuidas en diferentes espacios lógicos y geográficos (pej. un servidor corriendo 2 máquinas virtuales) e interconectados por una red de comunicaciones. Dichas BDD tienen la capacidad de realizar procesamientos autónomos, estos permiten realizar operaciones locales o distribuidas.
Características a tener en cuenta
- Está formada por varias computadoras, a las cuales se les denomina nodos.
- Los nodos se comunican entre sí mediante una red de comunicaciones.
- Cada uno de los ordenadores que forman parte de la red tiene autonomía local.
- Generalmente, la red de computadoras no depende de ningún sitio central.
- Tiene un funcionamiento independiente de su localización.
- Se realizan continuas transacciones de información entre nodos.
- La base de datos funciona independientemente del equipo, sistema operativo o red.
Ventajas
- Permiten trabajar a cada nodo de la red con autonomía local
- Aumentan la disponibilidad, confiabilidad y eficiencia en el acceso a la información.
- Se pueden expandir de forma indefinida en función de las necesidades de la empresa u organización.
- Permiten la escalabilidad sin necesidad de grandes inversiones.
- Los recursos se comparten entre nodos, de manera que se puede acceder a toda la información desde cualquier sitio.
Desventajas
- Resulta más difícil establecer mecanismos para controlar el acceso a los datos y garantizar la seguridad.
- Los errores en la red pueden tener graves consecuencias para la privacidad de la información.
- Es un sistema más complejo de implementar.
- Conseguir una transparencia óptima puede suponer un importante gasto de tiempo y dinero.
- Falta de experiencia y ausencia de estándares en el desarrollo e implementación de estas bases de datos.
- Posibles problemas de rendimiento o fiabilidad derivados del punto anterior.
Base de datos orientada a objetos (BDOO)
Una base de datos orientada a objetos es una base de datos inteligente soporta el paradigma orientado a objetos almacenando métodos y datos, y no solamente datos. Esta diseñada para ser eficaz, desde el punto de vista físico, para almacenar objetos complejos. Evite el acceso a los datos; esto gracias a los métodos almacenados en ella. Es mas segura, ya que no permite tener acceso a los datos (objetos); esto debido a que para poder entrar se tiene que hacer por los métodos que haya utilizado el programador.
Un SGBDOO es un SGBD que almacena objetos y por tanto posee todas las ventajas de la orientación a objetos.
Las bases de datos orientadas a objetos, se diseñan para trabajar bien en conjunción con los lenguajes de programación orientados a objetos como:
JAVA, C++, Visual Basic.Net, C#, entre otros.
En total deben de ser 13 características obligatorias para los SGBDOO, basado en dos criterios:
Debe ser un sistema orientado a objetos.
Debe de ser un sistema gestor de base de datos,
Características
- Debe de soportar objetos complejos. Debe de ser posible construir objetos complejos aplicando constructores a objetos básicos.
- Identidad del objeto. Todos los objetos deben tener un identificador, el cual es independiente de los valores de sus atributos.
- Encapsulamiento. Los programadores solo tienen acceso a la especificación de interfaz de los métodos, y los datos e implementación de estos métodos están ocultos en los objetos.
- Tipos o clases. El esquema de una base de datos orientada a objetos contiene un conjunto de clases o tipos.
- Tipos o clases deben de ser capaces de heredar de sus supertipos o superclases los atributos y los métodos.
- La sobrecarga debe ser soportada. Los métodos deben de poder aplicarse a diferentes tipos.
- El DML debe ser completo. El DML en los sistemas gestores de base de datos orientados a objetos debe ser un lenguaje de programación de propósito general.
- El conjunto de tipos de datos debe ser extensible. No habrá distinción entre los tipos definidos por el usuario y los tipos definidos por el sistema.
- Persistencia de datos. Los datos deben mantenerse después de que la aplicación que los creo haya finalizado, el usuario no tiene que hacer copia explícitamente.
- El SGBD debe de ser capaz de manejar bases de datos grandes.
- El SGBD debe soportar la concurrencia. Debe de disponer del mecanismo para el control de la concurrencia.
- Recuperación. El sistema gestor debe de proveer mecanismos de recuperación de la información en caso de fallo del sistema.
- El SGBD debe de proveer de una manera fácil de hacer consultas.
Ventajas
Lenguajes de Consulta
Entre los aspectos más positivos que poseen dichas bases de datos se encuentra su lenguaje de consulta. Estas implementan un sistema declarativo de permiten encontrar y recuperar los objetos de la base de datos. Como ya mencionamos, estas bases de datos son capaces de funcionar con varios tipos de lenguajes de programación conocidos.
Persistencia transparente
Esta es una característica muy importante. Se refiere a la posibilidad de la base de datos de utilizar uno o varios objetos a través del lenguaje de programación para obtener análisis o manipulación de la data.
Transacciones ACID
Estas bases de datos tienen un alto nivel de confiabilidad en la ejecución de transacciones ACID (atomicidad, consistencia, aislamiento y durabilidad). Esto significa que las transacciones se cumplen o terminan únicamente cuando no existen conflictos con los datos. También los usuarios pueden abortar las acciones en caso de que se presente algún error en el sistema de la base de datos.
Almacenamiento en cache
Las bases de datos orientadas a objetos tienen un mecanismo de almacenamiento en cache que crea replicas parciales de la base de datos. El almacenamiento en caché es un método de almacenamiento y resguardo de datos que permite minimizar el acceso al disco o el flujo de tráfico de la red. Esto permite que las aplicaciones accedan a objetos desde la memoria del programa en lugar del utilizar el almacenamiento en disco.
También es importante mencionar que estas bases de datos tienen amplias capacidades para recuperación de datos, manejo complejo de altos volúmenes de datos. Sus características le proporcionan gran rendimiento y un manejo mínimo de código.
Desventajas
- Al igual que diversas bases de datos NoSQL, carecen de madurez en el desarrollo. Esto lleva a un mayor riesgo de sostenibilidad de la base de datos en el largo plazo. No hay criterios claros de estandarización, ya que estas apenas están reemergiendo en el mercado digital.
- Al tener relativamente poco tiempo en el mercado, existe poca experiencia y documentación sobre proyectos que las implementen. Esto pudiese extender los tiempos de desarrollo de un proyecto con este modelo de bases de datos.
- Sin duda también representaría gastos de capacitación adicional para los equipos de desarrolladores ya que no existe una familiaridad en los entornos del mercado digital con el paradigma de objetos.
¿ En qué casos recomendaría el uso de una BDOO y en qué casos el uso de una BDD?
Cuando la base de datos esta hecha para una aplicación informática, es recomendable implementar la BDOO, ya que su estructura es acorde al paradigma de la POO, y estará lista para ser explotada de la mejor manera.
En el caso de las BDD, nos encontramos con que si se requiere una aplicación mas encaminada a la gestión de datos y además la información debe estar distribuida en diferentes servidores, es recomendable aplicarla; podríamos decir que una BDD la usamos cuando necesitamos interconectar muchas bases de datos y ponerlas a manera de una sola para que pueda ser usada por quien lo requiera desde cualquier lugar.
Comentarios
Publicar un comentario