{
  "id": "bbg-p0318-backend-service-architecture-backend-service",
  "title": "Redis Query Persistence Lifecycle",
  "chapter": "database-foundations",
  "batch": "35",
  "rank": 343,
  "sourcePage": 318,
  "sourcePointer": "p. 318",
  "status": "accepted",
  "reviewerStatus": "reviewed",
  "fidelityScore": 0.9,
  "canvas": {
    "width": 960,
    "height": 640
  },
  "fireworksTechGraph": {
    "style": "style-1-flat-icon",
    "diagramType": "data-flow",
    "topologyNotes": [
      "source page render inspected",
      "extracted page text inspected",
      "source page render inspected",
      "preserve Redis query topology: client command executes in RAM, AOF/RDB persistence write to disk, snapshot/fork path, and replay/recovery path",
      "retargeted from backend extraction to database-foundations chapter"
    ],
    "publicBoundary": [
      "original vector output",
      "no source pixels",
      "no source mark or long wording"
    ]
  },
  "callouts": [],
  "sourceReview": {
    "conceptAnchors": [
      "concept: Redis in-memory command",
      "concept: RAM execution",
      "concept: AOF append log",
      "concept: RDB snapshot",
      "concept: recovery replay from disk"
    ],
    "labelSource": "curated",
    "semanticStatus": "reviewed"
  },
  "groups": [
    {
      "id": "online",
      "label": "Online command path",
      "x": 66,
      "y": 120,
      "w": 828,
      "h": 126
    },
    {
      "id": "persist",
      "label": "Persistence path",
      "x": 66,
      "y": 306,
      "w": 828,
      "h": 152
    }
  ],
  "shapes": [
    {
      "id": "client",
      "kind": "actor",
      "label": "Client app",
      "detail": "command",
      "x": 110,
      "y": 142,
      "w": 82,
      "h": 86,
      "tone": "blue"
    },
    {
      "id": "redis",
      "kind": "hex",
      "label": "Redis server",
      "detail": "execute",
      "x": 320,
      "y": 140,
      "w": 126,
      "h": 82,
      "tone": "red"
    },
    {
      "id": "ram",
      "kind": "cylinder",
      "label": "RAM data",
      "detail": "in memory",
      "x": 560,
      "y": 142,
      "w": 116,
      "h": 76,
      "tone": "green"
    },
    {
      "id": "reply",
      "kind": "rect",
      "label": "Reply",
      "detail": "fast response",
      "x": 754,
      "y": 150,
      "w": 102,
      "h": 58,
      "tone": "teal"
    },
    {
      "id": "aof",
      "kind": "rect",
      "label": "AOF log",
      "detail": "append command",
      "x": 214,
      "y": 340,
      "w": 118,
      "h": 58,
      "tone": "orange"
    },
    {
      "id": "rdb",
      "kind": "rect",
      "label": "RDB snapshot",
      "detail": "point in time",
      "x": 424,
      "y": 340,
      "w": 118,
      "h": 58,
      "tone": "purple"
    },
    {
      "id": "disk",
      "kind": "cylinder",
      "label": "Disk files",
      "detail": "durable copy",
      "x": 634,
      "y": 326,
      "w": 118,
      "h": 78,
      "tone": "gray"
    },
    {
      "id": "recover",
      "kind": "rect",
      "label": "Recovery",
      "detail": "replay reload",
      "x": 426,
      "y": 442,
      "w": 116,
      "h": 54,
      "tone": "blue"
    }
  ],
  "connectors": [
    {
      "from": "client",
      "to": "redis",
      "label": "command",
      "flow": "main"
    },
    {
      "from": "redis",
      "to": "ram",
      "label": "execute",
      "flow": "data"
    },
    {
      "from": "ram",
      "to": "reply",
      "label": "return",
      "flow": "main"
    },
    {
      "from": "redis",
      "to": "aof",
      "label": "append",
      "flow": "control"
    },
    {
      "from": "ram",
      "to": "rdb",
      "label": "snapshot",
      "flow": "async"
    },
    {
      "from": "aof",
      "to": "disk",
      "label": "write",
      "flow": "data"
    },
    {
      "from": "rdb",
      "to": "disk",
      "label": "copy",
      "flow": "data"
    },
    {
      "from": "disk",
      "to": "recover",
      "label": "reload",
      "flow": "data",
      "dashed": true
    },
    {
      "from": "recover",
      "to": "ram",
      "label": "restore",
      "flow": "control",
      "dashed": true
    }
  ]
}
