Cassandra
?? Apache Cassandra: The Cheat Sheet1. Architecture & Consistency (āđāļāļĢāļāļŠāļĢāđāļēāļ)Masterless: āļāļļāļāđāļŦāļāļāđāļāđāļēāđāļāļĩāļĒāļĄāļāļąāļ (Peer-to-Peer) āđāļĄāđāļĄāļĩ Single Point of FailureToken Ring: āđāļāđāļāđāļāđāļ (āļāđāļāļĄāļđāļĨ) āļāļēāļĄāļāđāļ§āļāļāļąāļ§āđāļĨāļ TokenReplication: āļāđāļāļāļāļĩāđāļāđāļāļĄāļđāļĨāđāļāđāļ§āđāļŦāļĨāļēāļĒāđāļāļĢāļ·āđāļāļ (āļāļēāļĄāļāđāļē RF) āđāļāļ·āđāļāļāļ§āļēāļĄāļāļąāļ§āļĢāđConsistency: āđāļĨāļ·āļāļāđāļāđāļ§āđāļēāļāļ°āđāļāļēāđāļĢāđāļ§āļŦāļĢāļ·āļāđāļāļēāļāļąāļ§āļĢāđ āļŠāļđāļāļĢāļĨāļąāļāļāļ·āļ $(Read + Write) > RF$2. Data Modeling (āļāļēāļĢāļāļāļāđāļāļ)Query-first: āļĢāļđāđāļāđāļāļāļ§āđāļēāļāļ°āļāļēāļĄāļāļ°āđāļĢ āļāđāļāļĒāļŠāļĢāđāļēāļāļāļēāļĢāļēāļDenormalization: āļĒāļāļĄāđāļāđāļāļāđāļāļĄāļđāļĨāļāđāļģāđāļāļ·āđāļāđāļĨāļāļāļąāļāļāļ§āļēāļĄāđāļĢāđāļ§āđāļāļāļēāļĢāļāđāļēāļ (Read Speed)Partition Key: "āđāļāđāļāļĢāļ·āđāļāļāđāļŦāļ?" (Where) ??ïļ āļŠāļģāļāļąāļāļĄāļēāļāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļĢāļ°āļāļēāļĒāļāđāļāļĄāļđāļĨClustering Key: "āđāļĢāļĩāļĒāļāļĒāļąāļāđāļ?" (Order) ?? āļŠāļģāļāļąāļāļĄāļēāļāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāđāļāđāļāļāđāļ§āļ (Range Query) āđāļĨāļ°āđāļāđāļāļąāļāļŦāļēāļāđāļāļĄāļđāļĨāļāđāļģ3. The Write Path (āļāļēāļāđāļāđāļē - āđāļĢāđāļ§āļāļąāļ) âĄCommit Log: āđāļāļĩāļĒāļāļĨāļ Disk āļāļąāļāđāļŦāļāļĩāļĒāļ§Memtable: āđāļāļĩāļĒāļāļĨāļ RAM āđāļāļ·āđāļāļāļ§āļēāļĄāđāļĢāđāļ§SSTable: Flush āļĨāļ Disk āđāļāđāļāđāļāļĨāđāļāļēāļ§āļĢ (Immutable - āļŦāđāļēāļĄāđāļāđ)Tombstone: āļāļēāļĢāļĨāļāļāļ·āļāļāļēāļĢāđāļāļ°āļāđāļēāļĒāļ§āđāļē "āļāļēāļĒāđāļĨāđāļ§"4. The Read Path (āļāļēāļāļāļāļ - āļāļĨāļēāļāđāļĨāļ·āļāļ) ??Bloom Filter: āļāđāļēāļāļŦāļāđāļēāļāļđāđāļāļāļāļ§āđāļē "āđāļāļĨāđāļāļĩāđāđāļĄāđāļĄāļĩāļāđāļāļĄāļđāļĨāļŦāļĢāļāļ āļāđāļēāļĄāđāļāđāļĨāļĒ" āļāđāļ§āļĒāļĨāļāļāļēāļĢāļāđāļēāļ DiskLast Write Wins: āļāđāļāļĄāļđāļĨāļāļāļāļąāļ? āđāļāļ·āđāļāļāļąāļ§āļāļĩāđāļĄāļĩ Timestamp āļĨāđāļēāļŠāļļāļ5. Gossip Protocol (āļāđāļēāļ§āļĨāļ·āļ) ??ïļāđāļŦāļāļāļāļļāļĒāļāļąāļāđāļāļāđāļāļāļŠāļļāđāļĄāđāļāļ·āđāļāđāļāđāļāļŠāļāļēāļāļ°āđāļāļ·āđāļāļāđ āđāļāđāļŦāļĨāļąāļāļāļēāļĢāļāļ§āļēāļĄāļāđāļēāļāļ°āđāļāđāļ ($\Phi$) āđāļāļ·āđāļāļāļąāļāļāļīāļāđāļŦāļāļāļāļĩāđāļāļēāļĒ