Distributed Systems
A distributed system is a collection of independent computers that appear to their users as a single coherent system, coordinating over a network to achieve shared goals such as processing, storage, or availability that no single machine could handle alone.
271 resources across 2 libraries
Glossary Terms(18)
System Design
System design is the process of defining the architecture, components, interfaces, and data flow of a software system to satisfy specified functional and non-f…
Erlang
Erlang is a functional, concurrent programming language designed for building massively fault-tolerant, distributed, real-time systems, originally created for…
Monolithic Architecture
Monolithic architecture is a software design approach where an entire application — its user interface, business logic, and data access layer — is built and de…
CQRS
CQRS (Command Query Responsibility Segregation) is an architectural pattern that separates the operations that change data (commands) from the operations that…
Apache Ignite
Apache Ignite is an open-source, distributed database and in-memory computing platform that combines a distributed key-value store, SQL engine, and compute gri…
File System
A file system is the method and data structure an Operating System uses to organize, name, store, and retrieve data on persistent storage devices such as hard…
Network Topology
Network topology refers to the arrangement and interconnection pattern of devices, links, and nodes in a computer network, describing both the physical layout…
Peer-to-Peer Network
A peer-to-peer (P2P) network is a decentralized architecture in which participating nodes, called peers, act as both clients and servers, sharing resources and…
Distributed Systems
A distributed system is a collection of independent computers that appear to their users as a single coherent system, coordinating over a network to achieve sh…
Consensus Algorithm
A consensus algorithm is a method that allows a group of distributed nodes to agree on a single value or a consistent sequence of operations, even in the prese…
Raft Consensus
Raft is a consensus algorithm designed to manage a replicated log across a cluster of servers in an understandable way, allowing the cluster to agree on a cons…
Paxos Algorithm
Paxos is a family of protocols for achieving consensus among a group of unreliable or failure-prone nodes in a distributed system, first formally described by…
CAP Theorem (CS)
The CAP theorem states that a distributed data store can provide at most two of the following three guarantees simultaneously during a network partition: Consi…
Load Balancing Algorithm
A load balancing algorithm is a strategy used to distribute incoming network traffic or computational work across multiple servers or resources, aiming to opti…
Caching Strategy
A caching strategy is a deliberate approach to storing frequently accessed data in a faster, temporary storage layer so subsequent requests can be served more…
Content Addressable Storage
Content-addressable storage (CAS) is a data storage method where content is retrieved using a unique identifier derived directly from the content itself, typic…
Grid Computing
Grid computing is a distributed computing model that pools the processing power, storage, and other resources of many independently owned and geographically di…
High-Performance Computing (HPC)
High-Performance Computing (HPC) refers to the use of aggregated computing power — typically supercomputers or clusters of tightly interconnected servers — to…
Interview Questions(253)
What is CAP Theorem?
CAP theorem states that a distributed data store can only guarantee two of three properties at once — Consistency, Availability, and Partition tolerance — duri…
What is Consistent Hashing and Why Do Databases Use It?
Consistent hashing maps both shard keys and shard servers onto the same circular hash space, so each key is owned by the next server found clockwise on the rin…
What Challenges Arise When Resharding and Rebalancing a Database?
Resharding, moving data to a new number of shards or a better key layout, is challenging because it must move large volumes of live data without downtime, keep…
What is Quorum-Based Replication for Reads and Writes?
Quorum-based replication requires a write to be acknowledged by a minimum number of replicas (W) and a read to consult a minimum number of replicas (R) out of…
What is the Cache-Aside (Lazy-Loading) Caching Pattern?
Cache-aside is a caching pattern where the application code itself checks the cache first, and on a miss reads from the database, populates the cache with that…
Write-Through vs Write-Back Cache: What is the Difference?
A write-through cache writes to the cache and the underlying database synchronously as one operation before confirming success, while a write-back (write-behin…
What are the Main Cache Invalidation Strategies?
Cache invalidation removes or refreshes stale cached data using three common strategies: TTL-based expiration (entries auto-expire after a fixed time), explici…
Redis as a Cache vs a Primary Data Store: What Changes?
Using Redis as a cache means treating it as disposable, rebuildable-from-source data that the application never needs to survive as its only copy, whereas usin…
What are the Trade-offs of Caching Database Query Results?
Caching query results trades a risk of serving stale data and added system complexity for dramatically lower read latency and reduced load on the database, and…
What is Two-Phase Commit for Distributed Transactions?
Two-phase commit (2PC) is a protocol that lets a coordinator get multiple independent database participants to agree on committing or aborting a single distrib…
What is the Saga Pattern in Microservices?
The Saga pattern manages a business transaction that spans multiple microservices by breaking it into a sequence of local transactions, where each step publish…
What is Eventual Consistency in Databases?
Eventual consistency is a consistency model where, after writes stop arriving, all replicas of a piece of data are guaranteed to converge to the same value eve…
Strong Consistency vs Eventual Consistency: What is the Difference?
Strong consistency guarantees that any read immediately after a write returns that write's value everywhere, while eventual consistency allows reads to briefly…
What are Raft and Paxos? Consensus Algorithms Explained
Raft and Paxos are consensus algorithms that let a group of distributed nodes agree on a single value or an ordered sequence of operations even when some nodes…
What are Advisory Locks and When Should You Use Them?
An advisory lock is an application-defined lock that the database manages on behalf of an arbitrary key you choose, rather than automatically on a row or table…
What is Tunable Consistency and the N/R/W Quorum Model in NoSQL?
Tunable consistency lets a distributed NoSQL store trade consistency for availability and latency per-request, using three configurable numbers: N (replicas ho…
What is the Database-per-Service Pattern in Microservices?
The database-per-service pattern means each microservice owns its own private database that no other service is allowed to access directly, so services communi…
API Composition vs Database Joins: How Do They Differ?
A database join combines rows from multiple tables in a single database engine using one SQL statement, while API composition assembles a result by calling mul…
What is Event Sourcing and How Does It Differ From Storing Current State?
Event sourcing stores every change to a system's data as an immutable, ordered sequence of events, and derives the current state by replaying those events, rat…
What Are Database Failover Mechanisms and How Do They Work?
Database failover is the mechanism by which a standby or replica database automatically (or manually) takes over as the primary when the original primary becom…
What Is the Split-Brain Problem in Distributed Databases?
Split-brain occurs when a network partition or failed failover causes two nodes in a distributed database cluster to each believe they are the sole primary and…
What Are Idempotency Keys and How Do They Prevent Duplicate Database Writes?
An idempotency key is a unique client-generated token attached to a write request that a database uses, via a unique constraint, to guarantee the same logical…
What is Consistent Hashing and Why is it Used?
Consistent hashing maps both keys and servers onto the same circular hash ring so that when a server is added or removed, only the keys between it and its neig…
What is a Livelock?
A livelock is a condition where two or more threads keep changing their state in response to each other purely to avoid a conflict, so both stay actively busy…
Showing 24 of 253.