PERST: A Simple, Fast, Convenient Object Oriented Database

PERST is just an embedded object-oriented database for applications that need to deal with persistence. It is easy to use and provides high performance. The main advantage of PERST is tight integration with a programming language. There is no gap between database and application data models - PERST directly stores language objects. So there is no need for packing/unpacking code, which has to be written for traditional relational databases.
Unlike many other OODBMS requires no special compiler or preprocessor. And still, it is able to provide a high level of transparency. PERST API is convenient, flexible, and easy to use.
PERST is a very compact database - only 5 thousand lines of code and 50Kb of result JAR (Java implementation). And its requirements for system resources are also very small. Also, it requires completely no administration efforts. But despite its simplicity, PERST supports normal ACID transactions with very fast recovery after a fault.
There is two implementation of PERST - pure Java and pure CSharp. CSharp implementation was produced from Java using Java to CSharp converter (certainly a lot of manual changes are required to make it work). CSharp implementation supports more primitive types (CSharp has unsigned integer types and enums). In all other aspects, two databases are completely equivalent and provide the same API.