Hi, I've been watching the development of the MVStore engine as a potential solution for an idea I'm working on where I need to store large associative arrays where the data looks something like this for an example "users" structure.
user[12345].name.first = "Foo" user[12345].name.last = "Bar" user[12345].address[1].city = "Seattle" etc.... This data can get very large 10-100's millions of nodes (and maybe 6-8 levels deep). One of my requirements is that I can iterate through all the nodes if necessary (usually just through very specific subtree's, IE iterate through all the addresses for a user). So basically I need a hierarchical storage engine and was wondering if MVStore (or MapDB) would fit my needs? Here were a few design ideas on how I could approach this with MVStore: 1) Tuple key with simple value (similar to this example<https://github.com/jankotek/MapDB/blob/master/src/test/java/examples/TreeMap_Composite_Key.java>from MapDB). Is MVStore designed for this? How could I iterate through all the nodes? It seems like the key storage might not be very efficient as the full hierarchy of keys is stored for each small value? 2) Using something like java.util.Arrays.DeepHashCode(new String[] {"user","12345","name","first"}) to compute a single key value whole key path. But then I have the iterable requirement and I'm not sure how I could derive all the keys. 3) Maybe a hybrid approach where I use 2 related MVMaps, one I use to store the raw data using a hash technique like #2, and a second MVMap to store the structure/hierarchy of keys, but I'm not quite sure what that would look like? 4) It occurred to me that maybe I need to just use raw B-Tree storage? Since this data looks very much like a tree and what I'm really asking for is a hierarchical database. Is that possible with MVStore? 5) I just noticed the part about R-Tree's and spatial queries, I suppose I've not done a lot of spacial queries, but might that be a solution to my problem as well? Anyway, I'm really excited about MVStore, it seems like a great little storage engine, especially since I need the MVCC-ish stuff and high concurrency! Thanks, Brian -- You received this message because you are subscribed to the Google Groups "H2 Database" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/h2-database?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
