December 18, 2007
HStore at MIT, very interesting and very similar to ObjectGrid
This paper written about a prototype database at MIT called HStore provides a lot of the architectural principles behind ObjectGrid's design. We're very close to whats described in that paper. If you want to use ObjectGrid as an in memory database for XTP applications then you need to have a database schema that is basically a partitioned object graph. This means it's an object graph with a single root and you can partition the root objects using the key to distributed data. Examples are "Customers have orders, orders have order items". Another example is "Portfolios have positions, positions have fills". We can partition using customer and portfolio. Applications transactions only involve records within a single graph.
This is described in the paper as a constrained tree application or CTA. CTAs are what run best on ObjectGrid when you use it for XTP style applications. The paper speaks of CTA applications having transactions and transactions being coded as a 'stored procedure'. ObjectGrid uses its DataGrid agents to implement stored procedures and indeed these will offer the best performance.
Anyway, take a look, it's very interesting. There are a couple of things that we're not doing yet but the overall approach is very similar to how ObjectGrid works today.