Preplp
System Engineer
Session 13System Design~45 min

Database Management

15 questions — answer mentally, then read the explanations

Track progress0/21 days
x

What you'll learn

Database Management, Performance OptimizationNoSQL, RDBMS, Database DesignDistributed Databases, Sharding, ScalabilityDatabase Design, DenormalizationDatabase, Data PartitioningSystem Design, Content Delivery Network (CDN)
  • Try to answer each question before reading the explanation
  • Cover Database Management topics in system design

Questions

Read each question and options, then check the explanation below.

_________ is a technique used to improve query performance by storing frequently accessed data in memory.

  • A. Caching
  • B. Indexing
  • C. Sharding
  • D. Replication

Explanation

Answer: Caching Caching is a technique used to improve query performance by storing frequently accessed data in memory. This reduces the need to repeatedly fetch the same data from the underlying data source.

In what scenarios would you prefer to use a NoSQL database over an RDBMS?

  • A. Need for complex transactions
  • B. High data consistency requirements
  • C. Well-defined schema and relationships
  • D. Flexible schema and horizontal scalability

Explanation

Answer: Flexible schema and horizontal scalability NoSQL databases are preferred in scenarios that require a flexible schema and horizontal scalability, making them suitable for applications with rapidly changing data requirements and large-scale data processing.

How does sharding contribute to scalability in distributed databases?

  • A. Increased data redundancy
  • B. Centralized data storage
  • C. Improved fault tolerance
  • D. Horizontal partitioning of data

Explanation

Answer: Horizontal partitioning of data Sharding involves horizontal partitioning of data across multiple nodes, enabling better distribution of the workload. This approach enhances scalability by allowing the system to handle a larger volume of data and requests.

What are the main advantages of using denormalization in database design?

  • A. Reduced join operations
  • B. Improved data integrity
  • C. Simplified data retrieval
  • D. Enhanced storage efficiency

Explanation

Answer: Reduced join operations Denormalization often leads to reduced join operations, which can improve query performance by eliminating the need for complex joins. This is particularly beneficial for read-heavy workloads.

What is the primary purpose of data partitioning in databases?

  • A. Enhanced security
  • B. Improved data compression
  • C. Increased query performance
  • D. Simplified data modeling

Explanation

Answer: Increased query performance Data partitioning aims to increase query performance by distributing data across multiple nodes. This improves parallel processing and reduces the load on individual nodes, contributing to enhanced scalability.

Which of the following is NOT a benefit of using a CDN?

  • A. Improved website performance
  • B. Enhanced security
  • C. Increased server load
  • D. Cost savings on bandwidth

Explanation

Answer: Increased server load While improved website performance, enhanced security, and cost savings on bandwidth are benefits of using a CDN, increased server load is not a typical benefit. CDNs aim to distribute the load efficiently.

Which caching eviction policy removes the least recently used items when the cache reaches its capacity?

  • A. Least Recently Used (LRU)
  • B. Most Recently Used (MRU)
  • C. First-In-First-Out (FIFO)
  • D. Random Replacement

Explanation

Answer: Least Recently Used (LRU) The Least Recently Used (LRU) eviction policy removes the items from the cache that have not been used for the longest time, helping to retain more relevant and frequently accessed data in the cache.

In which scenarios is cache invalidation more suitable than cache expiration?

  • A. When the data changes frequently
  • B. When the data rarely changes
  • C. When the system has limited memory resources
  • D. When the system prioritizes read performance over write consistency

Explanation

Answer: When the data changes frequently Cache invalidation is more suitable when the data changes frequently, as it allows for precise removal of outdated or stale data from the cache. This ensures that only the latest and accurate information is retrieved from the cache.

How does distributed caching differ from local caching in terms of scalability and consistency?

  • A. Local caching is limited to a single node, while distributed caching spans multiple nodes for improved scalability. Consistency in distributed caching may require additional mechanisms to handle updates across nodes.
  • B. Local caching is more scalable as it is confined to a single node, whereas distributed caching involves complexities in synchronization and may face consistency challenges.
  • C. Distributed caching is exclusively designed for scalability, while local caching focuses on maintaining high consistency within a single node.
  • D. Local caching offers better consistency due to its confined scope, whereas distributed caching sacrifices consistency for scalability.

Explanation

Answer: Local caching is limited to a single node, while distributed caching spans multiple nodes for improved scalability. Consistency in distributed caching may require additional mechanisms to handle updates across nodes. Distributed caching extends across multiple nodes, enhancing scalability but introducing challenges in maintaining consistency across the system. Local caching, limited to a single node, may offer better consistency but lacks the scalability of distributed caching.

What are some common challenges encountered when implementing caching systems in highly dynamic environments?

  • A. Invalidation of cached data becomes complex in dynamic environments, as data changes frequently. Cache coherence, ensuring consistency across caches, becomes a challenge. Handling sudden spikes in demand requires dynamic scaling of the caching infrastructure.
  • B. Highly dynamic environments pose challenges in ensuring cache consistency, managing cache invalidation, and dynamically scaling the caching infrastructure to handle varying workloads.
  • C. Caching systems in dynamic environments face challenges related to load balancing, optimizing cache eviction policies, and ensuring cache coherency across distributed nodes.
  • D. In dynamic environments, caching systems struggle with maintaining cache coherence and handling varying workloads, leading to increased latency and reduced performance.

Explanation

Answer: Highly dynamic environments pose challenges in ensuring cache consistency, managing cache invalidation, and dynamically scaling the caching infrastructure to handle varying workloads. Implementing caching in highly dynamic environments requires addressing challenges such as cache invalidation complexities, maintaining cache coherence, and dynamically scaling to handle workload variations.

In a microservices architecture, how can caching systems be effectively utilized to reduce latency and improve scalability?

  • A. Caching frequently accessed data at the microservices level enhances latency by reducing database queries. Implementing a distributed caching layer across microservices improves scalability.
  • B. Caching at the microservices level may introduce latency due to increased communication overhead. Centralized caching is preferred for improved scalability in microservices architectures.
  • C. Microservices can benefit from local caching to reduce latency, while distributed caching should be avoided due to potential consistency issues. Implementing caching at the database level is the most effective approach for scalability in microservices.
  • D. Utilizing distributed caching across microservices reduces latency, and local caching is preferred for scalability improvements.

Explanation

Answer: Caching frequently accessed data at the microservices level enhances latency by reducing database queries. Implementing a distributed caching layer across microservices improves scalability. Caching at the microservices level, especially distributed caching, can significantly reduce latency by minimizing database queries. Implementing a distributed caching layer across microservices also enhances scalability.

_________ is a caching strategy that removes items based on their access frequency.

  • A. Least Recently Used (LRU)
  • B. First In, First Out (FIFO)
  • C. Random Replacement
  • D. Most Recently Used (MRU)

Explanation

Answer: Least Recently Used (LRU) Least Recently Used (LRU) is a caching strategy that removes items based on their access frequency. It ensures that the least recently accessed items are evicted from the cache, optimizing for temporal locality.

To improve cache hit rates, it's essential to carefully choose an appropriate _________ strategy based on the application's access patterns.

  • A. Eviction
  • B. Replacement
  • C. Prefetching
  • D. Invalidation

Explanation

Answer: Replacement To enhance cache hit rates, selecting an effective replacement strategy is crucial. Different applications may benefit from strategies like Least Recently Used (LRU) or First In, First Out (FIFO) depending on their access patterns.

In scenarios where data consistency is paramount, implementing _________ can help ensure that cached data remains synchronized with the backend data source.

  • A. Cache Invalidation
  • B. Cache Eviction
  • C. Cache Prefetching
  • D. Cache Replication

Explanation

Answer: Cache Invalidation Cache Invalidation is a technique employed in scenarios where maintaining data consistency is critical. It ensures that cached data is invalidated or updated when corresponding data in the backend data source changes.

_________ is a technique used to handle cache misses by retrieving data from the cache's secondary storage.

  • A. Cache Eviction
  • B. Cache Invalidation
  • C. Cache Prefetching
  • D. Cache Loading

Explanation

Answer: Cache Prefetching Cache prefetching is a technique used to handle cache misses by retrieving data from the cache's secondary storage before it's actually needed. This helps in minimizing the impact of cache misses on performance.

Today's exercise: Review & recall

Revisit any questions you hesitated on. Write one-line answers in your own words.

Steps

  1. 1

    First pass

    Read each question and pick an answer without looking at the explanation.

  2. 2

    Second pass

    Expand explanations only for questions you missed or were unsure about.

  3. 3

    Notes

    Jot down 3 terms or patterns you want to remember from this batch.

One rehearsal platform

Certification mocks, daily lessons, project labs, and in-browser drills

Structured for exam day and portfolio proof — timed tests, guided builds, and quick reps on one platform.