Pythian, a provider of data-management consulting and managed services, wisely takes a problem-first approach to identifying potential solutions. Its customers use document stores for user profiles and news articles, and key-value stores for counters and time series data.

“Most people who choose NoSQL as their primary data storage are trying to solve two main problems: scalability and simplifying the development process,” said Danil Zburivsky, solutions architect at Pythian. “Despite all the efforts, working with relational databases still feeds ‘awkward’ in most programming languages.”

NoSQL Buyers Guide

#!Key-value stores
Key-value stores are the most basic type of NoSQL database. They are fast and highly scalable but have less built-in intelligence than wide column stores or document stores, for example. Key-value stores assign a key and a value to an item or a BLOB n a database, and retrieve it using a key.

“If I’m looking for a specific piece of information or want to search for a specific piece of information in a BLOB or all BLOBS, it’s not set up to do that,” said Kurt Cagle, principal evangelist for semantic technologies at Avalon Consulting. “If I’m interested in the entire thing and I can do it one key at a time, it’s great.”

Key-value stores are used in many industries for purposes ranging from gaming to payment authorizations.

“Key-value stores provide simple key-based storage and retrieval,” said LexisNexis’ Villanustre. “They tend to be fast and easy to distribute and parallelize, but they suffer drawbacks in two specific cases. If the key is not completely known and you have to use wildcards, or when the retrieval query needs to use the intersection of multiple keys to identify a candidate set, performance drops considerably because of the large size of the intermediate candidate sets.”

Document stores
Document stores store, retrieve and manage document-oriented information. They also use key-value pairs, but unlike key-value stores, they recognize objects (usually JSON objects) as documents and therefore do not require the document to be translated. However, the additional overhead taxes processing speed as compared to key-value stores.

“The JSON document model is a lot more in tune with where the Internet is,” said Couchbase’s Yaseen. “It came from JavaScript and is used not just to store data but for a lot of the processing done on the Internet (which is done in JSON documents).”

Madison Logic, which provides data and online lead-generation services, uses a document database to help model the intent of companies.