Data Serialization and Deserialization
oneDAL provides interfaces for serialization and deserialization
of data objects, which are an essential technique for data exchange
between devices and for implementing data recovery mechanisms on a
device failure.
The InputDataArchive class provides interfaces for creation of a
serialized object archive. The OutputDataArchive class provides
interfaces for deserialization of an object from the archive. To
reduce network traffic, memory, or persistent storage footprint, you
can compress data objects during serialization and decompress them
back during deserialization. To this end, provide Compressor and
Decompressor objects as arguments for InputDataArchive and
OutputDataArchive constructors respectively. For details of
compression and decompression, see Data Compression.
A general structure of an archive is as follows:
Data Archive Structure

Headers and footers contain information required to reconstruct the
archived object.
All serializable objects, such as numeric tables, a data dictionary,
and models, have serialization and deserialization methods. These
methods take input archive and output archive, respectively, as
method parameters.