On Aug 5, 2011, at 11:57 52AM, Mariano Martinez Peck wrote: > > > I am looking at using Riak ( http://wiki.basho.com/ ) with Pharo. When > storing a “business object” you have two choices: > > - Store a binary BLOB representing your object graph. > - Store the object graph as JSON data. > > The last option essentially means you must do something similar to OR > mapping, so I would prefer the first option. With Riak, you will soon > be able to store additional indexed properties, which you later will > be able to query. So you store your whole business object as a BLOB, > together with those properties you need to query. > > > Hi guys. Sorry to come back with this old post, but now I am interested ;) > > Right now, I have a requirement where I need to write a graph into a file. I > am using Fuel for that. Each graph, has its own file. In the image side I > just store the filename, When I need to load it it reads such file and > materialize it with Fuel. I was thinking going a step forward and use a > key/value (a.k.a no-sql) database.
Whether this is "a step forward" really depends on if you need what they have to offer. If there's not more than one client reading the same objects from DB, I suggest staying with simple file persistency. KISS. > > With Fuel, I can take a graph, and serialize directly into a ByteArray, hence > I can take a graph to swap, I assign an ID, and and save it into the > database. In the image side, I keep that ID. Then, when needed, I search it > in the database and then after with that ByteArray found, I materialize it > with Fuel. > > So...first question is, do you think that could be faster/better than > directly writing into a file as I am doing now? Depends. If the DB does not guarantee writing to disk before returning success, it might. IIRC, this is (used to be?) a much criticized default mode of CouchDB. > > Now, which are the available Pharo wrappers for no-sql databases that let me > do that? I would appreciate any link or documentation about them. What do I > need to use such databases from Pharo? FFI and a library installed in my > machine? are there binaries for Mac OS? http://www.squeaksource.com/SCouchDB http://www.squeaksource.com/EpigentRiakInterface AFAICT, They both communicate with the databases directly through HTTP, so no extra libraries should be required. Cheers, Henry
