Performance and Optimization
When the performance of a relational database isn’t acceptable, we face two choices: either replace the relational database with another technology (e.g., NoSQL) or break some of the design rules to improve performance. This lesson covers partitioning, which splits a relational table into multiple tables and distributes them across multiple machines, and denormalization, which sacrifices redundancy in exchange for reducing the number of joins when processing queries.
Learning Objectives
- Describe horizontal and vertical partitioning for relational schemas
- Describe the concept of denormalization and when to consider it
How to Complete this Lesson
- Read “Physical Database Design Techniques” in Fundamentals of Database Management Systems Chapter 8: Physical Database Design (60 minutes)
- Watch Scaling Databases (7 minutes)
- Watch What is Database Denormalization in DBMS (7 minutes)
- Take the quiz
- Complete the B+ tree assignment (30–60 minutes)
- Work on the project’s web application (30–60 minutes)
At this point, the B+ tree implementation should be largely complete. If substantial work remains, focusing on the project may be a better use of time (though you’ll need to use your own judgment based on the points allocated to each).
Due
As a reminder, the following are due this lesson: