This vendor-written tech primer has been edited to eliminate product promotion, but readers should note it will likely favor the submitter’s approach.
Many organizations are turning to NoSQL for its ability to support Big Data’s volume, variety and velocity, but how do you know which one to chose?
A NoSQL database can be a good fit for many projects, but to keep down development and maintenance costs you need to evaluate each project’s requirements to make sure specialized criteria are addressed. Keep in mind that it is not just a question of being able to develop the application specified, it also means being able to easily manage and support applications with the potential for dramatic growth in scope and size in production for many years. One of my customers doubled the size of their business 12 times in less than 4 years.
With that in mind, the next step is to identify which category of NoSQL best aligns with your needs. The categories are:
* Key Value (KV) databases store data as an associative array (also known as a map or dictionary), where the key is unique and serves as the primary means of accessing the value (data). Many KV databases can support richer and more complex data models on top of the basic key-value architecture.
* Document databases store documents, which contain key-value collections in a hierarchical format such as JSON and XML. Because this is NoSQL, and therefore no relational schema is required, the structure of each document can be different from other documents in the same database.
* Column databases are a sparse matrix system that use a row and a column as keys, similar to a hash table or dictionary, mapping a key to a set of key-value pairs. There can be a lot of columns, but each record only uses the columns it needs, so records can actually be relatively small in size.
* Graph databases are very different from the other categories. They focus on the relationships among the entities. Nodes are entities such as a person or object, and the edges between them detail the type of relationship between the nodes.
While it’s practical to assign databases to categories, many vendors have overlaid more advanced features on the base configuration, providing richer data models and advanced functionality. So while there are industry-defined categories, many NoSQL databases have abilities that don’t fit neatly in a box.
When you start your evaluation of databases, consider that some key-value databases can function like a document database, or a document database can function as a graph database and turn out to be a better fit for what you’re looking for than if you only consider databases in the graph category.
Sign up for CIO Asia eNewsletters.