Persistent object store


A persistent object store is a type of computer storage system that records and retrieves complete objects, or provides the illusion of doing so.

Contrasting storage methods

A persistent object store is different from file storage, where a single file may hold multiple objects. For example, a file with comma-separated values may hold many objects, generally one per line. This kind of file system opens the file from the start and reads through it to access an object in the middle. A third type of storage, block storage, works by breaking a single object up into smaller pieces for storage convenience.
Whereas files are modeled after linear human documents and data streams, object storage is primarily intended to support object-oriented programming languages. These languages will maintain their own volatile object store in memory, but when the program stops or needs to make room in memory, a persistent object store can hold the objects for reuse later or by another program. Writing the objects out is called data serialization.

Variations in implementation

Simple examples store the serialized object in binary format. More complex examples include object databases or object-relational mapping systems, which combine a database system with support for easily storing objects. They may be serialized in private and obscure formats or in a widely portable formats such as XML or JSON.
The most important components of a persistent object store are:
See also Phantom OS - an operating system which is persistent object storage as a whole.