Monday, September 28, 2009

Notes of Key-Value Stores

Key-Value Stores:


It’s a storage system that stores values, indexed by a key. [1]

Sometimes, a key-value store works as a under layer storage system for a data management system.


When to consider Key-Value Stores:


- You need something that can query simple data faster than a relational system can.

- There are scaling requirements that are difficult to meet with a relational system.

- You want to avoid tying an application to a requirement for a relational system that may well have its own maintenance needs over time.

- You just want something simpler than a relational database.

- ……

In all of these cases, a key-value store may be just the tool for you.


Typical data structure:


Hash

Hash based key-value stores have fast lookup and update speeds, and require that keys be unique.

Lookup in a hash based tree is limited to key-only lookup.


For example:

To an object storage system which stores billions of photos, its applications would only query/get a photo by its unique key/id, like Facebook’s Haystack. [2]


The general API: Put/Get/Delete.

The important issues of hash based key-value stores are to limit the size of in-memory index/metadata, and to implement the distribution.


Tree (e.g. B-tree or B+tree)

Tree based stores generally allow multiple identical keys, and because tree based structures (like the b-tree) are ordered, they allow you to query individual keys, as well as ranges of keys.

The drawback to tree based stores is that those structures are generally slower than simple hashes.


For example:

A log aggregation system that stores messages keyed by timestamp, but which uses a hash based store, will be troublesome to query in a useful way, despite the speed of lookup, because you can only lookup specific timestamps. A system that uses a b-tree based store may be marginally slower for individual queries, but by permitting lookup based on a range of timestamps, can easily query the records of interest. This more than offsets the difference in basic query speeds. BigTable is based on B-Tree based key-value store. [3]


The general API: Put/Get/Delete/Scan.

The important issue of tree based key-value stores is to implement distributed tree structures.


References:

[1] Engine Yard, Key-Value Stores in Ruby (Key-Value Stores Part 1) http://www.engineyard.com/blog/2009/key-value-stores-in-ruby/

[2] Facebook, Needle in a haystack: efficient storage of billions of photos, http://www.facebook.com/note.php?note_id=76191543919

[3] Data Management Projects at Google-200803, http://www.cs.washington.edu/homes/mjc/papers/dataprojects-google-sigmodrecord08.pdf

17 comments:


  1. Thanks to you for placing them all in one position! it is hard to get the throw right with therefore several heroes! and with the shows being just once weekly, by the time you obtain all of them down in your head, you don't see them again! Great job, and thank you for remaining true to the line and perhaps not providing spoilers! I am very content with teh way the series sticks to the specific discussion of the books! And I think the castings have been wonderful! I specially like Tyreon...his personality has more class than all the others of his family!New Celebrity Net Worth Gucci Mane
    New Celebrity Net Worth Eminem
    New Celebrity Net Beyonce
    New Celebrity Net Adam Sandler
    New Celebrity Net Jerry Seinfeld
    New Celebrity Net Kevin Hart
    New Celebrity Net Triple H
    New Celebrity Net John Cena
    New Celebrity Net Julia Louis Dreyfus
    New Celebrity Net David Bowie

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. Very Nice Blog!!! Thanks for Sharing Awesome Blog!!!
    Cotton Sarees in Surat

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete
  6. keep up the good work. this is an Assam post. this to helpful, i have reading here all post. i am impressed. thank you. this is our digital marketing training center. This is an online certificate course digital marketing training in bangalore

    ReplyDelete

  7. Thank you for taking the time to provide us with your valuable information. We strive to provide our candidates with excellent care
    http://chennaitraining.in/php-training-in-chennai/
    http://chennaitraining.in/nodejs-training-in-chennai/
    http://chennaitraining.in/reactjs-training-in-chennai/
    http://chennaitraining.in/ccnp-training-in-chennai/
    http://chennaitraining.in/mcsa-training-in-chennai/
    http://chennaitraining.in/mcse-training-in-chennai/

    ReplyDelete
  8. Just the way I have expected. Your website really is interesting. ExcelR Pune Digital Marketing Course

    ReplyDelete
  9. This article gives the light in which we can observe the reality. This is very nice one and gives indepth information. Thanks for this nice article. Discover the most popular people ranked on Celebrity birthdays.

    ReplyDelete
  10. its been long since i saw a post that's so educative and informational. i will make sure to share this my facebook group. you can also view contents on our websites below.

    French Bulldog Puppies For Sale

    French Bulldog Breeders

    French Bulldog Puppies For Sale Near Me

    French Bulldog Puppies For adoption

    French Bulldog Puppies


    Blue French Bulldog Puppies

    ReplyDelete
  11. it's so refreshing to see a post that talks straight to the point. thanks so much for writing about this it has really helped me with building my experience. thanks a lot



    siberian husky puppies for sale near me
    Siberian Husky puppies
    Siberian Husky puppies for adoption
      Siberian Husky puppies breeders near me  

      white Siberian Husky puppies  

    ReplyDelete
  12. Nice post! This is a very nice blog that I will definitively come back to more times this year! Thanks for informative post. big data

    ReplyDelete