{{announcement.body}}
{{announcement.title}}
refcard cover
Refcard #357

NoSQL Migration Essentials

Moving Out of a Relational Database

Need help with your NoSQL migration? Look no further than our "NoSQL Migration Essentials" Refcard. We walk through the primary steps for moving out of a relational database, plus important design principles to understand and consider in your migration process.

Readers will review key concepts that range from denormalizing and modeling data to defining access patterns, designing primary keys and indexes, and creating an entity relationship diagram — all demonstrated with a simple site application example. As a bonus, readers can use the included JSON structure at the end to interact with a NoSQL playground.

Free PDF for Easy Reference

Brought to You By

Couchbase
refcard cover

Written By

author avatar Frank Eaves
Senior Software Engineer, N/A
Section 1

Introduction

The need to transition from an SQL to a NoSQL data solution happens usually under a positive business environment. Your customers' requirements are causing you to reevaluate your data solution in order to help them achieve their business objectives. So congratulations, you have come to the right place. When you're finished reading this Refcard, you'll have a solid understanding of the foundations of this transition and serious paths to consider when going about planning and implementing your migration from an SQL to a NoSQL database.

Section 2

About SQL and NoSQL

The primary engineering incentive driving the design principles for SQL is minimizing memory usage, while that of NoSQL is improving scalability. Understanding the reasons behind each of these motivations will help set a foundation on which to base a migration from SQL to NoSQL.

SQL Incentives (What Were They Thinking?)

Relational Software Inc., now Oracle, announced the first implementation of SQL in 1979. At the time, one megabyte of storage cost $47,000 (inflation adjusted). Given that storage was so expensive, engineering design was focused on the efficient use of this scarce resource. Not repeating data was the main challenge to limiting the amount of storage used. References to data in other tables and constraints to maintain data integrity are the guiding principles within the SQL database community.

This understanding and logic promulgated throughout the engineering community as well as into academia. Students of computer science are taught these principles and take that knowledge base with them into the professional workplace. 

NoSQL Incentives (How Did We Get Here?)

From 1979–2021 (42 years), the number of people using networked computers (the Internet) grew exponentially. During this time, the cost of storage fell to $0.023 per gigabyte. The motivations of 1979's data engineers have changed drastically. Internet hosts went from single digits in the late 60s to just over one billion in 2021. The modern incentive of data engineering is scalability, while cost of storage is now basically an afterthought. The foremost guiding principle within the NoSQL database community is using primary keys and indexes to create efficient data access and as a result, achieve speed and scalability. 

Section 3

Key Concepts in NoSQL Migration

Why is database migration such a critical topic of conversation? It is essential to first understand how the issue ties directly to the success of today's modern business. Since the introduction of SQL, the importance of data has grown exponentially, and in tandem, so has the need to learn and apply the concepts of SQL databases. Academia and industry both found new and compelling uses for data. This naturally led colleges to teach SQL principles. As graduates entered the workforce, SQL was leveraged in systems development, which resulted in many businesses running legacy software systems that are now struggling to scale and meet the needs of the modern Internet customer.

Remaining on legacy systems puts these organizations in competition with the smaller start-ups using modern solutions and cloud-based services, including NoSQL. These start-ups can scale their offerings far beyond what the legacy systems can offer. The loss of market share for these companies has opened a new market for industry solutions that help businesses with legacy systems migrate their data infrastructure to NoSQL and educate engineering teams about efficient implementation of it with the hopes of maintaining and regaining lost market share.

Making this leap isn’t as hard as it might seem. Next, we'll cover the basics (and a comparison) of SQL and NoSQL data modeling.

NoSQL Data Modeling

The fundamental principles around NoSQL data modeling are the same as those used for SQL. The difference comes down to denormalization vs. normalization of data and the minor shift in the shared approaches that this causes. Below is a Venn diagram showing a high-level view of data modeling for SQL and NoSQL.


NoSQL vs. SQL Venn diagram


The process of creating an entity relationship diagram, understanding your application’s access patterns, and then optimizing data throughput by using indexes is the same for both SQL and NoSQL. So let’s now focus on understanding the differences between normalization and denormalization.


This is a preview of the NoSQL Migration Essentials Refcard. To read the entire Refcard, please download the PDF from the link above.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}