
Achim Schneider wrote:
"Rich Neswold"
wrote: On Thu, Sep 25, 2008 at 11:09 AM, Manlio Perillo
wrote: ... But this works only if the database is used by only one process.
Ah. When you said "concurrent safe", I thought you meant within the application. You're looking for something like thishttp://hackage.haskell.org/cgi-bin/hackage-scripts/package/anydbm .
Or even HApps-State (http://happs.org/) for moar 0v3rk1ll, of which you can never ever have enough.
HAppS-State doesn't currently solve the problem of the database being used by more than one process (does it?) In the current stable version, it basically maintains its data in-memory and keeps a checkpointed transaction log. This can be used with a "sharded" approach where each process manages its own little chunk of the data, which can work well for certain data access patterns. But if you want each process to have access to a common database, HAppS-State currently only gives you the low-level building blocks for that. I understand that there are plans and prototypes and work being done on more sophisticated features, like multi-master replication, but I don't think anything like that is usable today. Depending on the application requirements, it might be simple enough to implement a custom data access layer over a set of happs shards to do things like retrieve individual values that aren't in the current process, or perhaps do a MapReduce-style operation over all processes. But there's nothing like that out of the box, yet. Anton