Introducción
ObjectDB es un sistema gestor de bases de datos noSQL orientado a objetos, orientado a Java.
Como ya se menciona en la introdución a noSQL ObjectDB es un sistema orientado a objetos. Esto implica que la información no se almacena en tablas u otras estructuras "fijas" sino que creamos los objetos de la misma forma que los crearíamos en cualquier lenguaje de programación orientado a objetos.
Estándares:
Con ObjectDB se siguen dos estándares fundamentalmente:
Java Persistence Api (JPA)
A diferencia de otros estándares para acceder a bases de datos desde aplicaciones Java permite representar los datos como clases y objetos y no como tablas y tuplas.
Los objetos se crean con la clase Entity. Esta clase asocia los objetos a la tabla equivalente en base de datos relacional, garantizando su persistencia. Mediante data anotations permite especificar todas las claves y relaciones de nuestra entidad, aunque también permite hacerlo mediante ficheros XML externos.
Java Data Objects (JDO)
De forma similar al anterior este permite la representación de objetos persistentes en la base de datos. Pero las clases han de ser más simples y no depender de ningún framework.
Por otro lado tiene la ventaja de poder ser utilizado tanto para bases de datos relacionales como noSQL orientadas a objetos.
¿Cual utilizar?
Uno de los motivos por el que ambos son los mas utilizados es que garantizan la persistencia de los datos, además al estar integrados con ObjectDB no necesitamos ningún puente intermedio como Object Relational Mapping entre la base de datos y la aplicación
.
Dicho esto, en los desarrollos con ObjectDB se utiliza más JPA, o un híbrido utilizando este como principal junto con algunas funcionalidades de JDO. Esto se debe a que hay mucha mas documentación disponible sobre JPA.
Por otro lado si se planea realizar migraciones a una base de datos relacional o desde esta es más recomendable seguir el estándar JDO, para no requerir de nada externo para realizar estas migraciones.
Lenguaje de consultas
El lenguaje utilizado por ObjectDB dependerá del estándar que hayamos utilizado:
Si utilizamos JDA tendremos que utilizar JPA Query Language (JPQL) Con una sintaxis basada en SQL.
En caso de utilizar JDO ObjectDB trabajará con JDO Query Language (JDOQL) basado en la propia sintaxis de Java.
Evolución de esquema automática
Una de las mayores ventajas de ObjectDB es que los cambios que realicemos en las clases (por ejemplo añadir atributos, o modificar los nombres y tipos) se propagan de forma transparente a la base de datos, sin necesidad de tener que actualizar esta al modificar las entidades.
Bibliografía
Prácticamente toda la información sobre ObjectDB y sus estándares se puede encontrar navegando por su página web, donde ademas se pueden encontrar tutoriales, manuales y foros de dudas:
No hay comentarios:
Publicar un comentario