Theory
- Database Indexes
- How hash indexes work?
- How B-Tree indexes work?
- How LSM Tree & SSTable indexes work?
- Indexes conclusion
-
- Transactions
- ACID database transactions
- Read committed isolation
- Snapshot isolation
- Write Skew and Phantom writes
- Achieving ACID: Serial execution
-
- Database Internals
- Two Phase Locking
- Serializable Snapshot Isolation
- Column Oriented Storage
- Data Serialization Frameworks
-
- Intro to Replication - Need to knows 1. replication
- Dealing with Stale Reads
Monotonic reads are particularly relevant in distributed systems with data replication, where data is copied and maintai
- Single Leader Replication
Last write: 80, was written to the replication log.
- MultiLeader Replication - chaos
As an alpha sigma Male myself, not a big fan of having multiple leaders. Clearly, such a setup is destined to fail and h
- Write Conflicts
Concurrent writes: Conflicting writes that are unaware of each other at the time of writing.
- Conflict-Free Replicated Data Types - CRDTs
Conflict-Free Replicated Data Types (CRDTs) are designed to enable concurrent updates and ensure eventual consistency ac
- Leaderless Replication
In leaderless replication, there is no single leader node that coordinates write operations. Instead, write operations c
- Quorums
If there are n replicas, every write must be confirmed by w nodes to be considered successful, and we must query at leas
- Conclude Replication
Replication is a key strategy in distributed systems to enhance availability, fault tolerance, and scalability. There ar
-
- Into to Partitioning or Sharding 2. sharding-partitioning
For very large datasets, or very high query throughput, replication is not sufficient: we need to break the data into pa
- Atomic Commit and Two-Phase Commit (2PC)
Atomicity prevents failed transactions from littering the database with half-finished results and half-updated state. Th
- Rebalancing Partitions
Rebalancing is the process of redistributing data and requests across nodes in a cluster to handle changes such as incre
-
- Consistency and Consensus
- Linearizability
In a database with multiple nodes, inconsistencies occur because write requests arrive at different times on different n
-
- The Raft Consensus Algorithm - Leader Election
https://web.stanford.edu/ouster/cgi-bin/cs190-winter20/lecture.php?topic=raft
- Raft Writes
Once a leader is elected, it is responsible for handling all client write requests. Here’s how a typical write operation
-
- Coordination Services
Coordination services are just thin layer that're built on distributed consensus algorithm like Raft (The Raft Consensus
-
- Databases Duel Arena
- Relational Vs Non-Relational DBs
SQL vs NoSQL (not preferred terms)
- MySQL vs PostgreSQL
SQL databases are particularly well-suited for handling normalized, relational data. They excel at managing data in a st
- MongoDB vs Cassandra
MongoDB is a NoSQL database that is document-oriented, meaning it stores data in flexible, JSON-like documents. Unlike t
-
- Streams
- Stream Processing
Stream processing is basically real-time processing of a continuous data streams as they're generated. Unlike, batch pro
- Kafka vs RabbitMQ
Here is a comparison table highlighting the key differences between Kafka (a log-based message broker) and RabbitMQ (an
-