NoSQL Databases

  1. Fundamental Concepts and Theories
    1. The CAP Theorem
      1. Consistency
        1. Definition and Implications
          1. Strong Consistency
            1. Weak Consistency
            2. Availability
              1. Definition and Implications
                1. High Availability Requirements
                  1. Downtime Costs
                  2. Partition Tolerance
                    1. Definition and Implications
                      1. Network Partitions
                        1. Split-Brain Scenarios
                        2. Understanding the Trade-offs
                          1. CP Systems Characteristics
                            1. AP Systems Characteristics
                              1. CA Systems Limitations
                                1. Real-World Implications
                              2. The BASE Properties
                                1. Basically Available
                                  1. System Availability Guarantees
                                    1. Partial Failures Handling
                                    2. Soft State
                                      1. State Changes Over Time
                                        1. No Consistency Guarantees
                                        2. Eventual Consistency
                                          1. Convergence Over Time
                                            1. Conflict Resolution
                                          2. Data Distribution Strategies
                                            1. Sharding and Partitioning
                                              1. Definition and Purpose
                                                1. Horizontal Partitioning
                                                  1. Vertical Partitioning
                                                    1. Sharding Keys
                                                      1. Choosing Effective Sharding Keys
                                                        1. Impact on Data Distribution
                                                          1. Avoiding Hot Spots
                                                          2. Sharding Strategies
                                                            1. Hash-Based Sharding
                                                              1. Range-Based Sharding
                                                                1. Directory-Based Sharding
                                                                  1. Consistent Hashing
                                                                  2. Rebalancing Operations
                                                                    1. Automatic Rebalancing
                                                                      1. Manual Rebalancing
                                                                        1. Data Migration Challenges
                                                                      2. Replication Strategies
                                                                        1. Definition and Purpose
                                                                          1. Synchronous Replication
                                                                            1. Asynchronous Replication
                                                                              1. Replication Topologies
                                                                                1. Master-Slave Replication
                                                                                  1. Master-Master Replication
                                                                                    1. Peer-to-Peer Replication
                                                                                      1. Chain Replication
                                                                                      2. Conflict Resolution
                                                                                        1. Last-Writer-Wins
                                                                                          1. Vector Clocks
                                                                                            1. Application-Level Resolution
                                                                                        2. Consistency Models
                                                                                          1. Strong Consistency
                                                                                            1. Linearizability
                                                                                              1. Sequential Consistency
                                                                                              2. Weak Consistency
                                                                                                1. Best-Effort Delivery
                                                                                                  1. Probabilistic Guarantees
                                                                                                  2. Eventual Consistency
                                                                                                    1. Convergence Properties
                                                                                                      1. Time Bounds
                                                                                                      2. Causal Consistency
                                                                                                        1. Causal Relationships
                                                                                                          1. Happens-Before Ordering
                                                                                                          2. Session Consistency
                                                                                                            1. Read-Your-Writes Consistency
                                                                                                              1. Monotonic Read Consistency
                                                                                                                1. Monotonic Write Consistency
                                                                                                                  1. Writes-Follow-Reads Consistency
                                                                                                                  2. Tunable Consistency
                                                                                                                    1. Consistency Levels
                                                                                                                      1. Quorum-Based Consistency
                                                                                                                        1. Read and Write Quorums
                                                                                                                          1. Consistency vs Performance Trade-offs