February 8, 2020

361 words 2 mins read

Where's my lookup table? Modeling relational data in a denormalized world

Where's my lookup table? Modeling relational data in a denormalized world

Data has always been and will always be relational. NoSQL databases are gaining in popularity, but that doesn't change the fact that the data is still relational, it just changes how we have to model the data. Rick Houlihan dives deep into how real entity relationship models can be efficiently modeled in a denormalized manner using schema examples from real application services.

Talk Title Where's my lookup table? Modeling relational data in a denormalized world
Speakers Rick Houlihan (Amazon Web Services)
Conference Strata Data Conference
Conf Tag Make Data Work
Location New York, New York
Date September 24-26, 2019
URL Talk Page
Slides Talk Slides
Video

When Amazon decided to migrate thousands of application services to NoSQL, many of those services required complex relational models that could not be reduced to simple key-value access patterns. The most commonly documented use cases for NoSQL are simplistic, and there’s a large amount of irrelevant and even outright false information published regarding design patterns and best practices for NoSQL applications. For this migration to succeed, Amazon needed to redefine how NoSQL is applied to modern online transactional processing (OLTP) apps. NoSQL applications work best when access patterns are well defined, which means the sweet spot for a NoSQL database is OLTP applications. This is good because 90% of the apps that get written support a common business process which for all practical purposes is the definition of OLTP. One of the common steps in building an OLTP app is designing the entity relationship model (ERM) which essentially defines how the application uses and stores data. With a relational database management system- (RDBMS) backed application, the ERM was essentially mapped directly into the database schema by creating tables for the top-level entities and defining relationships between them as defined in the ERM. With NoSQL, the data is still relational, it just gets managed differently. Rick Houlihan breaks down complex applications and effectively denormalizes the ERM based on workflows and access patterns. He demonstrates how to apply the design patterns and best practices defined by the Amazon team responsible for migrating thousands of RDBMS based applications to NoSQL and when it makes sense to use them.

comments powered by Disqus