Most language over .NET and Java VMs now are recognizing the power of dynamic features (.NET 4.x have ExpandoObjects, I guess they was born with DLR Dynamic Language Runtime, see? dynamic keyword is the key :-).
Impressed by the NoSQL movement, I dediced to push the envelop of my spare time, and as weekend code kata, I wrote the skeleton and base of something inspired by MongoDB, what is known as document-oriented database. My project is written in C#. You can see the code in the mentioned AjCodeKatas Google Project, with name AjObjects.
The method Update(Predicate<BasicObject>,Action<BasicObject>) applies the action to the select objects in the collection.
– Concurrency: Actually, Collection has locks around its method code. Cursor obtains a copy of the current list of object (copy of the list, not the objects). While using the cursor, you can update the collection, without changing the cursor content (list and objects).
– Persistence: There is a BasicObjectSerializer, to improve: more basic types, I need a BasicList implementation, too.
– Distribution: I plan to have many host with replicas, with eventual consistency (Hmmm.. I should review the current terminology).
This entry was posted in .NET, AjObjects, NoSQL, Open Source Projects on March 1, 2010 by ajlopez.