What is NoSQL/Sharding?

A database architecture that’s scalable and capable of handling unstructured data.

Overview

What it is: Traditional databases (known as relational databases) store interrelated data in a specific format in a single volume. NoSQL is an alternative architecture, wherein data isn’t subject to strict formatting, doesn’t have to relate to other data, and can be spread across multiple locations. NoSQL databases scale through Sharding, an approach that breaks large data pools into more manageable units.

What it does: NoSQL databases can perform better than traditional databases in cases of very large volumes of information that only need to be dealt with simply. One example is Twitter, which stores many Tweets but doesn’t have to access or manipulate them with complex queries. Additionally, they’re much easier to scale, through Sharding, since each shard can be stored on a different database server, allowing for the dynamic provisioning of additional resources.

Why it matters: Digital transformation means many large enterprises now deal with unprecedented amounts of data, much of it unstructured. NoSQL and Sharding allow enterprises to scale their data repositories and store more types of data while maintaining performance. Apps like Twitter, Tinder, and LinkedIn, multi-user games such as Fortnite, and many others depend on it.

What to do about it: If your enterprise is dealing with database scaling issues due to massive data volumes, the NoSQL architecture is worth considering. However, keep in mind that NoSQL can actually lead to slower performance in some cases, and can be inappropriate for small projects.

Business Advantages

  • Improved scaling through the distribution of shards over different systems
  • Higher performance in cases of simple data manipulation
  • Allows for simple storage of unstructured/differently-structured data

Drawbacks

  • Can lead to slower performance in some applications
  • Designing Sharding architecture can be challenging, and incorrect architecture is computationally costly
  • Allows for less flexible querying than traditional relational databases

Offerings

MongoDB is a flexible, popular NoSQL database program used by a long list of high-profile enterprises, from governments to garment companies. As well, the major cloud providers offer proprietary managed NoSQL offerings, with features like automatic backup, pay-per-use pricing, and integration with other cloud tools. These include Amazon’s DynamoDB, Google’s Datastore, and Azure’s Cosmos DB.

Case Study: Craigslist

In 2011, Craigslist moved to NoSQL with MongoDB. Its previous database was struggling for various reasons, including the fact that Craigslist’s data had been structured in different ways over time. MongoDB removed this issue. As well, its auto-sharding functionality made it possible to scale the database with inexpensive commodity hardware.