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.