Distributed Database Systems

  1. Reliability and Recovery in Distributed Systems
    1. Types of Failures
      1. Transaction Failures
        1. Logical Errors
          1. System Crashes
            1. Abort Operations
            2. System Failures
              1. Site Crashes
                1. Site Recovery
                  1. Hardware Failures
                  2. Media Failures
                    1. Disk Failures
                      1. Data Loss
                        1. Storage Corruption
                        2. Communication Failures
                          1. Message Loss
                            1. Network Partitioning
                            2. Byzantine Failures
                            3. Distributed Reliability Protocols
                              1. Commit Protocols
                                1. Two-Phase Commit
                                  1. Voting Phase
                                    1. Decision Phase
                                      1. Blocking Problem
                                        1. Recovery Procedures
                                        2. Three-Phase Commit
                                          1. Non-Blocking Commit
                                            1. Phases of 3PC
                                              1. Timeout Handling
                                              2. Presumed Abort Protocol
                                                1. Presumed Commit Protocol
                                                2. Recovery Protocols
                                                  1. Log-Based Recovery
                                                    1. Write-Ahead Logging
                                                      1. Log Structure
                                                        1. Log Management
                                                        2. Checkpointing
                                                          1. Coordinated Checkpointing
                                                            1. Uncoordinated Checkpointing
                                                              1. Communication-Induced Checkpointing
                                                              2. Message Logging
                                                              3. Backup and Restore Strategies
                                                              4. Handling Network Partitions
                                                                1. Pessimistic Protocols
                                                                  1. Blocking Operations
                                                                    1. Conservative Approaches
                                                                      1. Quorum-Based Approaches
                                                                      2. Optimistic Protocols
                                                                        1. Tentative Operations
                                                                          1. Reconciliation after Partition
                                                                            1. Conflict Resolution
                                                                            2. Partition-Tolerant Algorithms