NoSQL Benchmarks NoSQL use cases NoSQL Videos NoSQL Hybrid Solutions NoSQL Presentations Big Data Hadoop MapReduce Pig Hive Flume Oozie Sqoop HDFS ZooKeeper Cascading Cascalog BigTable Cassandra HBase Hypertable Couchbase CouchDB MongoDB OrientDB RavenDB Jackrabbit Terrastore Amazon DynamoDB Redis Riak Project Voldemort Tokyo Cabinet Kyoto Cabinet memcached Amazon SimpleDB Datomic MemcacheDB M/DB GT.M Amazon Dynamo Dynomite Mnesia Yahoo! PNUTS/Sherpa Neo4j InfoGrid Sones GraphDB InfiniteGraph AllegroGraph MarkLogic Clustrix CouchDB Case Studies MongoDB Case Studies NoSQL at Adobe NoSQL at Facebook NoSQL at Twitter



Vector Maps: Introducing a New Data Structure

Inspired by CouchDB’s and Riak’s Multi-Version Concurrency Control usage, Kresten Krab Thorup is proposing a new data structure: vector maps: an in-memory vector clock versioned map[1]:

You may rightly say that this doesn’t solve the problem, it just pushes the problem one level down. And that’s right; but … with some care you can often structure your usage of keys in vector maps so that you can avoid problems.

Further, since your favorite data store already does this for you … you may say taht you can just split your map into individual key/value bindings and store those in the database. But that comes at a price of network round trips and data locality.

  1. Python: dict, Ruby: hash  

Original title and link: Vector Maps: Introducing a New Data Structure (NoSQL databases © myNoSQL)