Perst
A Simple, Fast, Convenient Object Oriented Database

Perst is an embedded object-oriented database for applications that need to deal with persistent data. It is easy to use and provides high performance. Its main advantage is its tight integration with the programming language. There is no gap between the database and the application data models since Perst directly stores data in language objects. Thus, there is no need for data-packing or unpacking code, in contrast to the requirements of traditional relational databases.

Unlike many other OODBMSs, Perst does not require a special compiler or pre-processor. Yet, it is able to provide a high level of transparency. The Perst API is convenient, flexible, easy to use and very fast. For example, in OO7 benchmark tests, Perst created a database more than 100 times faster than Ozone (a pure Java OODBMS) and its iteration time was 10 times faster! An index benchmark shows Perst having more than a four-fold advantage over the commercial Java OODBMS ObjectStore PSE Pro. More information about Perst's performance is available here.

Perst is a very compact database, with a core consisting of only five thousand lines of code. It makes little demand on system resources. Moreover, Perst does not require any administration efforts. Despite such simplicity, Perst supports normal ACID transactions with very fast recovery after a runtime error.

There are two implementations of Perst - pure Java and pure C# (C Sharp). The C# implementation was produced from Java using a Java-to-C# converter (Note that significant manual changes are required to make this work). The C# implementation supports more primitive types (C# has unsigned integer types and enums). In all other respects, the two databases are completely equivalent and provide the same API. Perst.NET supports standard and compact .Net frameworks and can therefore be used to develop WinCE and PocketPC applications.


Starting with version 2.50, Perst is available under a dual license. Under the GPL license, you may download and evaluate the source code free of charge. Also, under the GPL license, you may use Perst free of charge in a non-commercial application (one that you do not charge money for, or that is not used internally by your business, and for which the source code is also freely available). If you wish to use Perst in a commercial application but do not or cannot redistribute your application source code, you may use Perst under a commercial license from McObject LLC.

Starting with version 2.01, Perst supports automatic schema evolution. The database format is not compatible with 1.xx versions. You may use XML export/import to convert your data to the new format.

To learn more about Perst's architecture, design principles and goals, and to compare Perst with its competitors, please review the following document: Overview of Embedded Object Oriented Databases for Java and C#.


Java implementationC-Sharp implementation
Latest version 2.64Latest version 2.64
DocumentationDocumentation
Change Log Change Log


Back to my home page | Send me a mail