Skip to main content

03: Graph Proposal - Lesson 1: The Architect's Criteria (DDIA)

πŸ“‹ Leakage Check​

I have reviewed 02_draft.md against the current Knowledge Graph. The following terms were used and need to be explicitly tracked as Pixels to ensure the student can "link" them correctly:

  1. Fault vs Failure (Under CON_RELIABILITY)
  2. Horizontal vs Vertical Scaling (Under CON_SCALABILITY)
  3. Fan-out (Under CON_LOAD_PARAMETERS - used in the Twitter story)
  4. Accidental Complexity (Under CON_SIMPLICITY)

πŸ’Ž Proposed Nodes (Pixels)​

{
"nodes": [
{
"id": "CON_FAULT_TOLERANCE",
"_action": "delete"
},
{
"id": "PIX_FAULT_VS_FAILURE",
"title": "Fault vs Failure",
"track": "Data Systems",
"prerequisites": ["CON_RELIABILITY"],
"type": "Concept"
},
{
"id": "PIX_SCALING_MODES",
"title": "Horizontal vs Vertical Scaling",
"track": "Data Systems",
"prerequisites": ["CON_HORIZONTAL_SCALING"],
"type": "Concept"
},
{
"id": "PIX_FAN_OUT",
"title": "Fan-out",
"track": "Data Systems",
"prerequisites": ["CON_LOAD_PARAMETERS"],
"type": "Concept"
},
{
"id": "PIX_ACCIDENTAL_COMPLEXITY",
"title": "Accidental Complexity",
"prerequisites": ["CON_SIMPLICITY"],
"track": "Data Systems",
"type": "Concept"
}
]
}

🌳 Target Tree Visualization​

TRACK: DATA SYSTEMS
└─ πŸ› οΈ Data-Intensive Applications (CON_DATA_INTENSIVE)
└─ 🌳 The Three-Legged Stool (EPITOME_ROOT_DDIA)
└─ πŸ› οΈ Reliability (Fault Tolerance) (CON_RELIABILITY)
└─ ⭐Fault vs Failure⭐ (PIX_FAULT_VS_FAILURE)
└─ ❌Fault Tolerance❌ (CON_FAULT_TOLERANCE)
└─ πŸ› οΈ Scalability (CON_SCALABILITY)
└─ πŸ› οΈ Partitioning (Sharding) (CON_PARTITIONING)
└─ πŸ› οΈ Horizontal Scaling (CON_HORIZONTAL_SCALING)
└─ ⭐Horizontal vs Vertical Scaling⭐ (PIX_SCALING_MODES)
└─ πŸ› οΈ Load Parameters (CON_LOAD_PARAMETERS)
└─ ⭐Fan-out⭐ (PIX_FAN_OUT)
└─ πŸ› οΈ Maintainability (CON_MAINTAINABILITY)
└─ πŸ› οΈ Operability (CON_OPERABILITY)
└─ πŸ› οΈ Simplicity (CON_SIMPLICITY)
└─ ⭐Accidental Complexity⭐ (PIX_ACCIDENTAL_COMPLEXITY)
└─ πŸ› οΈ Evolvability (CON_EVOLVABILITY)
└─ πŸ› οΈ Encoding & Evolution (CON_ENCODING)
└─ πŸ› οΈ Data Models (SQL vs NoSQL) (CON_DATA_MODELS)
└─ πŸ› οΈ Query Languages (Declarative vs Imperative) (CON_QUERY_LANG)
└─ 🌳 The Storage Black Box (EPITOME_STORAGE_ENGINE)
└─ πŸ› οΈ The Log (CON_LOG)
└─ πŸ› οΈ SSTables (LSM-Trees) (CON_SSTABLES)
└─ πŸ› οΈ B-Trees (CON_BTREES)
└─ πŸ› οΈ Column-Oriented Storage (CON_COLUMN_STORE)
└─ 🌳 The Shared-Nothing Cluster (EPITOME_DISTRIBUTION)
└─ πŸ› οΈ Replication (CON_REPLICATION)
└─ 🌳 The Promises of Truth (EPITOME_CONSISTENCY)
└─ πŸ› οΈ Transactions (ACID) (CON_TRANSACTIONS)
└─ πŸ› οΈ Consensus (CON_CONSENSUS)
└─ πŸ› οΈ The Unreliable Network (CON_DISTRIBUTED_FAULTS)
└─ πŸ› οΈ Unreliable Clocks (CON_CLOCKS)
└─ πŸ› οΈ Process Pauses (CON_PROCESS_PAUSES)
└─ πŸ› οΈ Causal Consistency (CON_CAUSAL_CONSISTENCY)
└─ πŸ› οΈ Linearizability (CON_LINEARIZABILITY)
└─ 🌳 The Data Pipeline (EPITOME_DERIVED_DATA)
└─ πŸ› οΈ MapReduce (CON_MAPREDUCE)
└─ πŸ› οΈ Dataflow Engines (Spark/Tez) (CON_DATAFLOW)
└─ πŸ› οΈ Stream Processing (CON_STREAM_PROCESSING)
└─ 🌳 The Unbundled Database (EPITOME_UNBUNDLING)
└─ 🌳 Doing the Right Thing (EPITOME_ETHICS)