When should you use a RDBMS?
A relational database should be the default option because they have been around for 40 years and historically, they have worked well.
When might you explore using a non-relational database?
What is vertical scaling?
Vertical scaling is the process of adding more power to your servers in the form of CPU, RAM, etc.
What are the downsides to vertical scaling?
What is horizontal scaling?
Horizontal scaling refers to adding additional nodes or machines to your infrastructure to cope with new demands.
What is a load balancer?
A load balancer is used to evenly distribute incoming traffic among web servers.
What is a three-tier architecture composed of?
Presentation tier: user interface
Application tier: logic
Database tier: app data
What happens when a RDBMS is horizontally scaled using database replication?
When database replication is used to horizontally scale a RDBMS secondary databases are created off of the primary (original) database. The primary database typically handles only write operations and the secondary databases handling only read operations.
What are cache’s used for?
A cache is commonly used to store the result of expensive responses or frequently accessed data in memory so that requests can be served more quickly.
Consider using a cache when data is read ____ but modified ____.
frequently, infrequently
Why are SPOF (single point of failure) such a big deal?
Because they represent a part of a system that, if it fails, will stop the entire system from working.
What is a CDN?
CDN stands for content delivery network. CDNs are geographically distributed servers used to deliver static content and are used to improve load times.
What are the key benefits of incorporating message queues into a system?