-
NoDB: A prevalent object repository (6 messages)
- Posted by: Diego Miranda
- Posted on: July 06 2009 07:12 EDT
NoDB is a prevalent object repository with indexing capabilities built on top of Prevayler and Lucene. NoDB is a very simple object repository. You can store, update, delete your object graph from the repository. You can perform queries over the object graph by the use of indexes. NoDB do not require extra configuration, just open the repository and store your objects. Bellow are some examples of using NoDB: Opening a repository and creating the index RepositoryManager manager = RepositoryManager.getInstance(); Repository repository = manager.openRepository("TestRepo", true); repository.createIndex(Person.class, "name"); repository.createIndex(Person.class, "lastName"); Querying an object by index QueryCriteria personsQuery = repository.createCriteria(Person.class). where (eq("name", "Darky")).maxResults(300); Result result = personsQuery.find(); You can found more info on the NoDB website http://nodb.googlecode.com/Threaded Messages (6)
- Re: NoDB: A prevalent object repository by Christopher Brind on July 06 2009 09:08 EDT
- Re: NoDB: A prevalent object repository by Diego Miranda on July 06 2009 13:43 EDT
- Re: NoDB: A prevalent object repository by Pedro Furlanetto on July 06 2009 11:42 EDT
- Re: NoDB: A prevalent object repository by Diego Miranda on July 06 2009 14:06 EDT
-
Re: NoDB: A prevalent object repository by Mario Fusco on July 08 2009 08:25 EDT
- DSL by Diego Miranda on July 09 2009 10:32 EDT
-
Re: NoDB: A prevalent object repository by Mario Fusco on July 08 2009 08:25 EDT
- Re: NoDB: A prevalent object repository by Diego Miranda on July 06 2009 14:06 EDT
-
Re: NoDB: A prevalent object repository[ Go to top ]
- Posted by: Christopher Brind
- Posted on: July 06 2009 09:08 EDT
- in response to Diego Miranda
Going to investigate for myself but questions that spring to mind are: * is that a singleton? * what is the footprint? * query by example? * SODA support? * OSGi friendly? * Android friendly? * Is it memory heavy (i.e. are the objects basically held in memory, or can they be offlined to disk and queried from there)? * How does it compare in performance to db4o? Cheers, Chris -
Re: NoDB: A prevalent object repository[ Go to top ]
- Posted by: Diego Miranda
- Posted on: July 06 2009 13:43 EDT
- in response to Christopher Brind
Hi Christopher, NoDB is a new project, it does not have many features as db4o do. Anyway, i´ve tried to made NoDB very simple. In NoDB all the objects are kept hot in memory. Few weeks ago, i've been playing with PolePosition. In some cases NoDB is faster than Db4o but, as i said above, in NoDB all the objects lives in memory. If you are interesting in this little benchmark, i could upload the source code. Best regards! Diego. -
Re: NoDB: A prevalent object repository[ Go to top ]
- Posted by: Pedro Furlanetto
- Posted on: July 06 2009 11:42 EDT
- in response to Diego Miranda
What about centralization support? Is it out of the box, or do I have to build a server manually? What about replication and clusterization? -
Re: NoDB: A prevalent object repository[ Go to top ]
- Posted by: Diego Miranda
- Posted on: July 06 2009 14:06 EDT
- in response to Pedro Furlanetto
Hi Pedro, NoDB it is out of the box. You dont have to build a server. Replication and clusterization are in the roadmap for the next versions. Best regards Diego -
Re: NoDB: A prevalent object repository[ Go to top ]
- Posted by: Mario Fusco
- Posted on: July 08 2009 08:25 EDT
- in response to Diego Miranda
Replication and clusterization are in the roadmap for the next versions.
To achieve those features I suggest to give a look to Terracotta. I guess it could be a good idea to store the prevalent system in a distributed Terracotta heap. Another suggestion could be to provide your library with a statically typed DSL to query the repository as in the following example: criteria.where(on(Person.class).getName(), equalTo("John")).and(on(Person.class).getAddress().getState(), equalTo("Milan")); I did something similar in one of my project: http://code.google.com/p/lambdaj/ and if you like this idea I could help you with it. Anyway ... it looks a good project and I will continue to follow it. Bye Mario -
DSL[ Go to top ]
- Posted by: Diego Miranda
- Posted on: July 09 2009 10:32 EDT
- in response to Mario Fusco
Hi Mario! Thank you very much for your comments! I've already added a little DSL in NoDB. But don't hesitate in tell me what do you think about this. Any help is always wellcome :) Best regards Diego