Distributed Systems

  1. Distributed Data Storage
    1. Distributed File Systems
      1. File System Architecture
        1. Client-Server Architecture
          1. Peer-to-Peer Architecture
            1. Hybrid Architectures
            2. Design Issues
              1. Naming and Name Resolution
                1. File Access Models
                  1. Caching Strategies
                    1. Replication Strategies
                    2. File System Semantics
                      1. UNIX Semantics
                        1. Session Semantics
                          1. Immutable Files
                            1. Transaction Semantics
                            2. Case Studies
                              1. Network File System
                                1. NFS Architecture
                                  1. NFS Protocols
                                    1. Caching in NFS
                                    2. Andrew File System
                                      1. AFS Architecture
                                        1. Callback Mechanisms
                                        2. Google File System
                                          1. GFS Architecture
                                            1. Chunk Servers
                                              1. Master Server
                                              2. Hadoop Distributed File System
                                                1. HDFS Architecture
                                                  1. NameNode and DataNode
                                                    1. Fault Tolerance
                                                2. Distributed Databases
                                                  1. Database Architecture
                                                    1. Homogeneous Systems
                                                      1. Heterogeneous Systems
                                                        1. Federated Systems
                                                        2. Data Distribution
                                                          1. Horizontal Fragmentation
                                                            1. Vertical Fragmentation
                                                              1. Mixed Fragmentation
                                                                1. Data Allocation
                                                                2. Query Processing
                                                                  1. Distributed Query Optimization
                                                                    1. Join Strategies
                                                                      1. Cost Models
                                                                      2. Transaction Management
                                                                        1. Distributed Concurrency Control
                                                                          1. Distributed Deadlock Management
                                                                            1. Distributed Recovery
                                                                          2. Distributed Hash Tables
                                                                            1. DHT Concepts
                                                                              1. Hash Functions
                                                                                1. Key-Value Storage
                                                                                  1. Overlay Networks
                                                                                  2. DHT Algorithms
                                                                                    1. Chord Protocol
                                                                                      1. Consistent Hashing
                                                                                        1. Finger Tables
                                                                                          1. Node Join and Leave
                                                                                          2. Pastry Protocol
                                                                                            1. Routing Table Structure
                                                                                              1. Proximity-Based Routing
                                                                                              2. Kademlia Protocol
                                                                                                1. XOR Metric
                                                                                                  1. Binary Tree Structure
                                                                                                    1. Node Lookup Algorithm
                                                                                                  2. DHT Properties
                                                                                                    1. Load Balancing
                                                                                                      1. Fault Tolerance
                                                                                                        1. Scalability
                                                                                                      2. NoSQL Systems
                                                                                                        1. NoSQL Categories
                                                                                                          1. Key-Value Stores
                                                                                                            1. Document Databases
                                                                                                              1. Column-Family Stores
                                                                                                                1. Graph Databases
                                                                                                                2. Design Principles
                                                                                                                  1. Schema Flexibility
                                                                                                                    1. Horizontal Scalability
                                                                                                                      1. Eventual Consistency
                                                                                                                      2. Consistency Models in NoSQL
                                                                                                                        1. Strong Consistency
                                                                                                                          1. Eventual Consistency
                                                                                                                            1. Tunable Consistency
                                                                                                                          2. CAP Theorem
                                                                                                                            1. Theorem Statement
                                                                                                                              1. Consistency
                                                                                                                                1. Availability
                                                                                                                                  1. Partition Tolerance
                                                                                                                                  2. Trade-off Analysis
                                                                                                                                    1. CP Systems
                                                                                                                                      1. AP Systems
                                                                                                                                        1. CA Systems
                                                                                                                                        2. Practical Implications
                                                                                                                                          1. System Design Choices
                                                                                                                                            1. Real-World Examples