I suspect people are looking for the clojure's equivalent of erlang's mnesia. Which at the moment doesn't exist as far as I know.
On Fri, Oct 9, 2009 at 11:15 AM, Stuart Sierra <the.stuart.sie...@gmail.com> wrote: > > Honestly, this sounds like a problem for a full-fledged database. > With Clojure/datalog, you'll need to persist your records to disk > manually. At some point, your thousands of references will start to > look like a mini-database anyway. If you can fit your data into a > relational schema, use that; if not, try a graph database like > Mulgara. > -SS > > > On Oct 8, 10:21 pm, Robert Luo <robort...@gmail.com> wrote: >> Hi, I am working on a server project, which requires thousands records >> of data stored in memory, and they will be accessed by thousands of >> threads simultaneously. >> I intend to use datalog to store all my data, sharing the whole >> database by a reference. >> However, I am afraid of concurrency of this design, say if one thread >> changed any piece of the data, the whole data structure must be >> protected by dosync, and if another thread try to update it at the >> same time (by alter), it may cause retries, and because there are many >> many threads, the retries may happen too often. >> Another approach is just like in Java, we store each record as a ref, >> then we can dosync a single record. It seems like a row level lock >> rather than a database level lock in my opinion. Is this correct? >> However, this design seems too Java-like and we can not use datalog to >> do that. >> >> Which approach is better? Or is there better design? Thanks for your >> opinion. > > > -- Omnem crede diem tibi diluxisse supremum. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---