DataBase for Objects
Buscando alternativas para el manejo de los datos en OpenBSS y alertado por un mail en la lista de desarrollo, dirigi mi mirada a db4o, este framework permite realizar el almacenamiento de Objectos (Java o .Mono) de una forma totalmente transparente.
Anteriormente enzo, estuvo experimentando con Hibernate que permitia guardar los objetos en una base de datos relaciones, sin embargo recuerdo que tuvo muchas dificultades con el proyecto. DB4O, no solo nos permite un uso sencillo de su funcionalidad ( aunque no por es menos potente) sino que ademas nos permite llevar el producto donde sea sin complicadas instalaciones, debido a que es una base de datos empotrada, al mismo estilo sqlite aunque sin tener las deficiencias de este ultimo.
Otro de los puntos a favor de esta tecnologia es su bajo consumo de recursos, y buen tiempo de respuesta (actualmente es usada la el control de las lineas ferreas de los trenes “bala” en España). Lamentablemente no existe una version del proyecto que pueda ser usada directamente en php o en python.
A continuacion un pequeño ejemplo de su uso:
import System
import System.IO
import com.db4o
class Pilot:
private _name as string
private _points as int
def constructor(name as string,points as int):
_name = name
_points = points
Name as string:
get:
return _name
Points as int:
get:
return _points
def AddPoints(p as int):
_points = _points + p
override public def ToString():
return _name + \" / \" + _points
print \"Creando Contenedor\"
db = Db4o.openFile(\"data.yap\")
db.set(Pilot(\"Mario\",2))
q = db.query()
q.constrain(typeof(Pilot))
result = q.execute()
while ( result.hasNext()):
Console.WriteLine(result.next().ToString())
db.close()
También vale la pena dar un vistazo al Prevayler:
http://www.prevayler.org
Comment by Sergio Montoro Ten — December 18, 2005 @ 6:32 pm