Apache Cassandra

  1. Cassandra Architecture
    1. Core Architectural Principles
      1. Decentralized Architecture
        1. No Single Point of Failure
          1. Equal Node Responsibility
            1. Masterless Design
            2. Peer-to-Peer Communication
              1. Node Interactions
                1. Data Exchange Mechanisms
                  1. Symmetric Architecture
                  2. Homogeneous Nodes
                    1. Uniform Node Roles
                      1. Simplified Scaling
                        1. Operational Simplicity
                      2. Data Distribution and Replication
                        1. The Ring Architecture
                          1. Token Assignment
                            1. Data Placement on the Ring
                              1. Ring Topology
                              2. The Partitioner
                                1. Role of the Partitioner
                                  1. Murmur3Partitioner
                                    1. Hashing Mechanism
                                      1. Default Usage
                                        1. Hash Distribution
                                        2. RandomPartitioner
                                          1. ByteOrderedPartitioner
                                            1. Token Ranges
                                              1. Range Assignment
                                                1. Range Movement
                                                  1. Range Ownership
                                                2. Virtual Nodes
                                                  1. Purpose and Benefits
                                                    1. Impact on Rebalancing
                                                      1. Token Distribution
                                                        1. Configuration Options
                                                        2. Replication Strategy
                                                          1. SimpleStrategy
                                                            1. Single Data Center Use
                                                              1. Configuration Parameters
                                                              2. NetworkTopologyStrategy
                                                                1. Multi-Data Center Support
                                                                  1. Rack Awareness
                                                                    1. Configuration Parameters
                                                                    2. Custom Replication Strategies
                                                                    3. Replication Factor
                                                                      1. Definition and Configuration
                                                                        1. Impact on Consistency
                                                                          1. Impact on Availability
                                                                            1. Impact on Performance
                                                                          2. Cluster Communication
                                                                            1. The Gossip Protocol
                                                                              1. Node Discovery
                                                                                1. State Propagation
                                                                                  1. Failure Detection
                                                                                    1. Gossip Intervals
                                                                                      1. Phi Accrual Failure Detector
                                                                                      2. Snitches
                                                                                        1. Purpose of Snitches
                                                                                          1. SimpleSnitch
                                                                                            1. PropertyFileSnitch
                                                                                              1. GossipingPropertyFileSnitch
                                                                                                1. Ec2Snitch
                                                                                                  1. Ec2MultiRegionSnitch
                                                                                                    1. RackInferringSnitch
                                                                                                      1. Custom Snitches
                                                                                                      2. Seed Nodes
                                                                                                        1. Role in Cluster Bootstrap
                                                                                                          1. Configuration Requirements
                                                                                                            1. Best Practices
                                                                                                          2. Consistency Levels
                                                                                                            1. Write Consistency Levels
                                                                                                              1. ANY
                                                                                                                1. ONE
                                                                                                                  1. TWO
                                                                                                                    1. THREE
                                                                                                                      1. QUORUM
                                                                                                                        1. LOCAL_QUORUM
                                                                                                                          1. EACH_QUORUM
                                                                                                                            1. ALL
                                                                                                                              1. LOCAL_ONE
                                                                                                                              2. Read Consistency Levels
                                                                                                                                1. ONE
                                                                                                                                  1. TWO
                                                                                                                                    1. THREE
                                                                                                                                      1. QUORUM
                                                                                                                                        1. LOCAL_QUORUM
                                                                                                                                          1. ALL
                                                                                                                                            1. LOCAL_ONE
                                                                                                                                            2. Consistency Level Mathematics
                                                                                                                                              1. R + W > N for Strong Consistency
                                                                                                                                                1. Quorum Calculations
                                                                                                                                                2. Balancing Consistency and Performance
                                                                                                                                                  1. Consistency Level Selection
                                                                                                                                                    1. Impact on Latency
                                                                                                                                                      1. Impact on Availability
                                                                                                                                                        1. Use Case Considerations