concept key - value store in category nosql

appears as: Key-value store, key-value stores, key-value store, A key-value store, The key-value store
Making Sense of NoSQL

This is an excerpt from Manning's book Making Sense of NoSQL.

Table 1.1. Types of NoSQL data stores—the four main categories of NoSQL systems, and sample products for each data store type

Type

Typical usage

Examples

Key-value store—A simple data storage system that uses a key to access a value
  • Image stores
  • Key-based filesystems
  • Object cache
  • Systems designed to scale
  • Berkeley DB
  • Memcache
  • Redis
  • Riak
  • DynamoDB
Column family store—A sparse matrix system that uses a row and a column as keys
  • Web crawler results
  • Big data problems that can relax consistency rules
  • Apache HBase
  • Apache Cassandra
  • Hypertable
  • Apache Accumulo
Graph store—For relationship-intensive problems
  • Social networks
  • Fraud detection
  • Relationship-heavy data
  • Neo4j
  • AllegroGraph
  • Bigdata (RDF data store)
  • InfiniteGraph (Objectivity)
Document store—Storing hierarchical data structures directly in the database
  • High-variability data
  • Document search
  • Integration hubs
  • Web content management
  • Publishing
  • MongoDB (10Gen)
  • CouchDB
  • Couchbase
  • MarkLogic
  • eXist-db
  • Berkeley DB XML

Let’s begin with the key-value store and then move on to its variants, and how this pattern is used to cost-effectively solve a variety of business problems. We’ll talk about

  • What a key-value store is
  • Benefits of using a key-value store
  • How to use a key-value store in an application
  • 4.1.3. Using a key-value store

    Let’s take a look at how an application developer might use a key-value store within an application. The best way to think about using a key-value store is to visualize a single table with two columns. The first column is called the key and the second column is called the value. There are three operations performed on a key-value store: put, get, and delete. These three operations form the basis of how programmers interface with the key-value store. We call this set of programmer interfaces the application program interface or API. The key-value interface is summarized in figure 4.5.

    Figure 4.5. The key-value store API has three simple commands: put, get, and delete. This diagram shows how the put command inserts the input key "123" and value "value123" into a new key-value pair; the get command presents the key "456" and retrieves the value "value456"; and the delete command presents the key "789" and removes the key-value pair.

    Instead of using a query language, application developers access and manipulate a key-value store with the put, get, and delete functions, as shown here:

    In addition to being simple, a key-value store is a general-purpose tool for solving business problems. It’s the Swiss Army knife of databases. What enables the generality is the ability for the application programmer to define what their key structures will be and what type of data they’re going to store in the values.

    Now that we’ve looked at the benefits and uses of a key-value store, we’ll look at two use case examples. The first, storing web pages in a key-value store, shows how web search engines such as Google easily store entire websites in a key-value store. So if you want to store external websites in your own local database, this type of key-value store is for you.

    The second use case, Amazon simple storage service (S3), shows how you can use a key-value store like S3 as a repository for your content in the cloud. If you have digital media assets such as images, music, or video, you should consider using a key-value store to increase the reliability and performance for a fraction of the cost.

    sitemap

    Unable to load book!

    The book could not be loaded.

    (try again in a couple of minutes)

    manning.com homepage
    test yourself with a liveTest