NoSQL — Next Generation Databases (Explained)

Mahmoud Zalt
Jul 31, 2017 · 3 min read

For a quarter of a century, the relational database (RDBMS) has been the dominant model for database management. But since interactive applications have changed dramatically over the last years, and so have the data management needs of those apps. Today, 3 interrelated megatrends are driving the adoption of NoSQL technology [Big Data, Big Users, and Cloud Computing].

NoSQL is a whole new way of thinking about a database. It is an approach to data management and database design that’s useful for very large sets of distributed data and it encompasses a wide range of technologies and architectures.

It is not built on tables and does not employ SQL to manipulate data. It also may not provide full ACID (atomicity, consistency, isolation, durability) guarantees, but still has a distributed and fault tolerant architecture.

It is especially useful when an enterprise needs to access and analyze massive amounts of unstructured data or data that’s stored remotely on multiple virtual servers in the cloud.

Some characteristics of NoSQL are: schema-free, non-relational, distributed, horizontally scalable, easy replication support, simple API, eventually consistent / BASE (not ACID), a huge data. NoSQL means “Not only SQL” and that to emphasize that they may also support SQL-like query languages.

Compared to relational databases (RDBMS), NoSQL databases are more scalable and provide superior performance. Anyhow NoSQL, seeks to solve the scalability and big data performance issues that relational databases weren’t designed to address.

So NoSQL databases address the opportunities that the relational model does not, including:

  • Large volumes of structured, semi-structured and unstructured data.
  • Agile sprints, quick iteration, and frequent code pushes.
  • Flexible, easy to use object-oriented programming.
  • Efficient, scale-out architecture instead of expensive, monolithic architecture.

NoSQL is increasingly considered a viable alternative to relational databases for many types of applications. However some operations are faster in NoSQL and some are in RDBMS.

NoSQL Categories:

Document database

Document-oriented database is designed for storing, retrieving, and managing document-oriented information, also known as semi-structured data. The central concept of a document-oriented database is that Documents that contains a vast amounts of data which can usefully be made available.

Some popular databases: MongoDB, Couchdb, JackRabbit, Couchbase,…

Key-value database

Key-value (KV) stores use the associative array (also known as a map or dictionary) as their fundamental data model. In this model, data is represented as a collection of key-value pairs, such that each possible key appears at most once in the collection.

Some popular databases: Redis, MemcacheDB, DynamDB, Riak,…

Graph database

Graph database is a database that uses graph structures with nodes, edges, and properties to represent and store data. A graph database is any storage system that provides index-free adjacency. This means that every element contains a direct pointer to its adjacent elements and no index lookups are necessary.

Some popular databases: Neo4J, OrientDB, DEX, AllegroGraph,…

Column database

Column is used as a store for the value and has a timestamp that is used to differentiate the valid content from stale ones. It is a tuple (a key-value pair) consisting of three elements:

  • Unique name: Used to reference the column.
  • Value: The content of the column. It can have different types.
  • Timestamp: The system timestamp used to determine the valid content.

Some popular databases: Cassandra, HBase, Hypertable, Accumulo,…

Feel free to follow me on Twitter @Mahmoud_Zalt

Mahmoud Zalt

Written by

★ Software Engineer & More! ★

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade