Elenesski Object Database  EODB and NEODB
The Memento Pattern Database for Unity
01 Features

The EODB is a database for storing objects.

  • Ideal for structured, unstructured or singleton objects.

Uses binary format for highly compressed data storage.

  • Does not use serialization.
  • Makes "in the wild" database tampering hard because your data is it's own format.

Ideal for 10Mb or smaller databases

  • Supports up to 2Gb databases
  • BLOB support

By default, database is cached in memory

  • This permits high speed LINQ enabled queries
  • Supports uncached large databases

Does not use SQL:

  • Does not require:
    • Schemas,
    • Tables
    • Object Relational Mapping (ORM)
  • Indexed searching ability with full LINQ support

Supports more than 2 dozen Attribute Types:

  • Extensible to support additional types
  • Convertible to transform internal types to storage types and back again

Supports read/writing recursive IEnumerable

  • Such as hierarchical data represented by:
    • Simple Lists: List<T> and Type[]
    • Key Value Pairs: Dictionary<,> and SortedList<,>
    • Compound Generics: Dictionary<T1,List<T2>>

Support complex types with automatic data conversion

  • Transforming data between internal and storage formats.

Supports conditional indexing

  • To include/exclude data for later searching

Supports more than one open databases at a time.

Supports database committing of a database to disk.

  • Including a non-cached database.
  • This allows you to save/load objects, then persist the entire database like a "save game".

Supports class versions

  • Allows objects "in the wild" to be opened and processed when newer game versions have a different object formats.