Hi Cedric -

Look at Datomic free edition or the Titan graph database using 
either Berkeley DB as its backend datastore or Cassandra in single-server 
mode -- you can run both locally. 

Datomic: http://www.datomic.com/
Docs: http://docs.datomic.com/
Clojure Client: http://docs.datomic.com/clojure/index.html
Videos: http://www.datomic.com/videos.html
Blog: http://blog.datomic.com/
Query Language: http://docs.datomic.com/query.html (Datalog)

Titan: http://thinkaurelius.github.io/titan/
Repo: https://github.com/thinkaurelius/titan
Clojure Client: https://github.com/clojurewerkz/archimedes
Blog: http://thinkaurelius.com/blog/
Query Language: https://github.com/tinkerpop/gremlin/wiki (Gremlin)

See the Resources section of the TinkerPop Book website for a collection of 
Titan videos and tutorials: http://www.tinkerpopbook.com/#resources


- James


On Sunday, May 26, 2013 10:09:51 AM UTC-5, Cedric Greevey wrote:
>
> I may be developing an application which will need a persistent, ACID 
> local database (on the same disk as the application, rather than having to 
> be accessed over the network) containing information about potentially 
> 100,000-1,000,000 (or more) objects.
>
> Much of that information will be of a quasi-boolean character: "is it an X 
> or not?" for various choices of X, but with "yes", "no", "borderline", and 
> "not yet evaluated" as the four possible values. It will be desirable to 
> query for these, for example to get a lazy seq of all objects for which 
> it's a borderline Y or for which it's not yet evaluated whether it's a Z or 
> for which it's either "yes" or "borderline" on whether it's an X or 
> whatever.
>
> I'm not that familiar with the local-DB solutions out there. I'd like a 
> recommendation for one which is a) a good for for Clojure use and b) a good 
> fit for the type of data and queries noted above. The DB must be able to 
> grow larger then available RAM without crashing the JVM and the seqs 
> resulting from queries like the above will also need to be able to get 
> bigger than RAM.
>
> My own research suggests that H2 may be a good choice, but it's a standard 
> SQL/relational DB and I'm not 100% sure that fits well with the type of 
> data and querying noted above. Note though that not all querying will take 
> that form; there'll also be strings, uuids, dates, and other such field 
> types and the need to query on these and to join on some of them; also, to 
> do less-than comparisons on dates.
>
> Also, what is the current best recommendation of clojure library for 
> interfacing to the DB? (Answer might depend on the sort of DB recommended 
> -- standard, object/NoSQL, graph/ontology, etc.)
>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to