The idea behind the name "symbio" is that there is a symbiotic relationship between domain models and persistence, and persistence and domain models. They depend on each other, but in a way that neither "life form" may be entirely conscious of the other.
The vlingo/symbio parent tool is a set of protocols and default in-memory implementations. The protocols are usable by concrete implementations. The in-memory implementations are useful for testing.
There are three primary kinds of storage mechanism protocols available:
Journal. Among these there are a number of concrete implementations. For example, there are Postgres implementations of all three:
Each storage type is discussed in the following subsections. Additionally there is a separate useful discussion about Adapters, which are used to translate between application or service state and persistent state.