# Data Serialization **Domain:** Data Interchange / Persistence **Doc Type:** Canonical Concept Node **Maturity:** Foundational **Related:** [[wiki/Flattening and Expanding Structures|Flattening and Expanding Structures]], [[wiki/Normalized Output|Normalized Output]], [[wiki/Portable Contract|Portable Contract]] --- ## Definition **Data serialization converts in-memory values or structures into a storable or transmissible representation and reconstructs them later.** A serialization contract defines encoding, escaping, types, ordering, versioning, and failure behavior. ## Project Context KeyDB used a readable pipe-delimited convention with escaping for embedded newlines and delimiters, plus a binary path through Perl's `Storable` when load speed mattered more than direct inspection. The choice illustrates a recurring tradeoff between human readability, portability, and performance. ## Key Insight **A serialized form is durable only when its decoding rules are as well preserved as its bytes.** ## See Also [[wiki/Filesystem as Source of Truth|Filesystem as Source of Truth]], [[wiki/Input Rules|Input Rules]], [[wiki/Error Behavior|Error Behavior]], [[wiki/Technical Terms|Technical Terms]] ## Relationships - **Edge source route:** [[collections/Edge|Edge]] connects this topic to exact Annual Question passages promoted into the Simple Reminders archive. ## Simple Reminders, Quotations, and Thoughts > “We now live in a digital world in which copying is not only effortless, non-degenerative and effectively free but is actually intrinsic to digital technology. What is a computer, after all, but a copying machine?” > **— John Naughton**, *2013, Edge Annual Question: “WHAT *SHOULD* WE BE WORRIED ABOUT?”* [[reminders/Information/What Is a Computer but a Copying Machine by John Naughton|What Is a Computer but a Copying Machine by John Naughton]]