Misconceptions: Serialization vs. Serializability

I recently uncovered a blunder of mine: conflating serialization with serializability in common CS usage.

In short:

Serialization is the process of converting data structures / objects (e.g. in memory) into a format suitable for storage or transmission, such that it can be reconstructed later (e.g. Converting each node from a doubly-linked list in memory into JSON, where each serialized object has URI pointers identifying who its neighbours are, or where it belongs in the sequence.)

Serializability has to do with DBMS concurrency control: whether a series of concurrent transactions can be ordered and executed in parallel such that the end result is guaranteed to be the same as if they were executed in sequence.

Also, the definition of Serialize in common English usage:

1. Publish or broadcast (a story or play) in regular installments.

2. Arrange (something) in a series

The idea of serialization wasn’t new to me, but it’s good to finally put a name to it.

Leave a Reply

Your email address will not be published. Required fields are marked *