Top Downloads News Highlights
What is a Distributed Database System?  Read the Internet of Things Agenda, Tech Target article by McObject CEO Steve Graves. 

McObject’s eXtremeDB named Outstanding Structured Database by Computing’s highly-respected Big Data Excellence Awards.
Learn more

XtremeDB running on E8 Storage sets multiple records in STAC benchmark tests.  Read the press release

New eXtremeDB v.8.0 Financial Edition for HPC offers excellent performance and a host of new features. Read the press release

On Time Series Analysis and Big Data. Read the interview with Andrei Gorine

McObject shortlisted in Outstanding Structured Database category in Computing Big Data Excellence Awards. Read the press release.

IoT Global Awards Shortlists McObject in Two Categories. Read the press release.

A McObject Focus—What’s Changing in the Satellite Industry? Read the article in SatMagazine

McObject records another year of impressive innovation and development. 
Read the press release.

XtremeDB v.8.0 adds a suite of new features for the Internet of Things. 
Read the press release.

BlueScope Chooses McObject's eXtremeDB for its Plate Mill Control System. Learn more.

GoldenSource and McObject Launch Fastest RegTech EDM Solution. Learn more

Big Data & IoT Excellence Awards Shortlist eXtremeDB. Click here to learn more.

Sandvine Upgrades to McObject's eXtremeDB. Read the press release.

ViaSat Selects eXtremeDB from McObject to Optimize Metrics Data from its Satellite Ground Network.
Read the press release.

Read "Industrial Internet of Things (IIoT) Database Usage in Rail Systems" eXtremeDB goes rolling into the fog.

Read the article, "On the Challenges and Opportunities of the IoT, Interview with Steve Graves". 

XtremeDB Financial Edition DBMS sweeps records in Big Data benchmark. Get details.
Printable Version

Perst embedded database specification

Supported Platforms




Perst Java


Perst.Lite Java

  • J2SE 1.1.*
  • J2ME MIDP 2.0/CLDC 1.1



  • .NET Framework (1.0, 2.0, 3.0, 3.5, 4.0)
  • .NET Compact Framework (1.0, 2.0)
  • Silverlight
  • Windows Phone 7 (WP7)
  • Mono

C#, J#, Managed C++, VB.NET and all other managed .NET languages


Supported types

  • All primitive types
  • Strings
  • Arrays
  • Enums
  • .NET structs and embedded objects (objects with value semantic) in Java
  • GUID, decimal and DateTime types
  • BLOBs
  • Raw types (objects serialized using system or custom serializers)
  • Generic (parameterized) types


  • Controlled recursive loading of objects (able to stop recursive loading for the particular class). All persistence-capable classes should implement IPersistent interface
  • Persistence by reachability
  • Fully transparent persistence using AOP tools such as AspectJ and JAssist
  • Almost transparent persistence for .NET classes using generator of derived class overriding virtual properties of the class


  • User-defined class loaders
  • User-defined memory allocators
  • Custom serializers
  • Custom full text search components (stemmer, parser, ...)
  • Explicit or implicit memory allocation (garbage collection)
  • Abstract file interface to provide specific file implementations


Indexing algorithms

  • B-Tree
  • T-Tree (optimized for in-memory database)
  • R-Tree (spatial index)
  • Patricia Trie (prefix search)
  • KD-Tree (multidimensional index)
  • Time series (large number of fixed size objects with timestamp)


  • List
  • Map
  • Index (range search)
  • Field index (extracts keys from object)
  • Multidimensional index
  • Set
  • Scalable set (uses array for small set and B-Tree for large set)
  • Spatial index
  • Multidimensional index

Search kinds

  • Object-oriented using various search and iteration methods of Perst collection classes
  • Query-by-example (including range search) - implemented using multidimensional indexes
  • JSQL - object-oriented subset of SQL
  • Full text search: built-in full text search engine or integration with Lucene
  • Native queries and LINQ (search predicate specified in native code)



    Shadow objects


  • ACID
  • No log file
  • Fast recovery

Locking granularity

  • File-level locking
  • Database-level locking
  • Fine grain (object-level) locking

Locking models

  • Pessimistic (resource is locked before access)
  • Optimistic (conflicts are detected at commit stage)

Isolation levels

  • Cooperative transactions
  • Repeatable reads
  • Serializable transactions



  • Object cache (LRU, weak, strong...)
  • Page pool
  • In-memory database

Performance benchmark

  • Leads category of Java/.NET object-oriented embedded database systems for storing and retrieving objects
  • Superior performance is documented in multiple benchmarks including PolePosition (asynchronous and ACID versions) and TestIndex.

Large volumes of data

  • Maximal number of objects: 2,000,000,000
  • Maximal database size: 1 terabyte

Small footprint

  • Library size from 250KB (Perst.Lite) to 500KB (Perst Java/.NET).
  • Proven on mobile phones with heap size limited to less than 1MB


  • High level of concurrency because of fine grain locking in pessimistic mode or use of optimistic transaction mode
  • Can split data between several physical devices
  • Possible to store BLOBs in separate storage locations, making object-caching more efficient

Load balancing

  • Master-slave replication provides read-only access to primary database by multiple replicas
  • Access to the same database permitted from multiple processes (JVMs)



Automatic recovery in case of application, system or hardware failure

Data replication

Asynchronous or synchronous data replication (master-slave model)


Online of offline backup

Data protection

Database encryption

Schema evolution

Change scalar field type


Add/remove field


Move/rename fields

By means of XML export/import

Custom transformations

Load/store object handles, database version information


Default string encoding


Explicit specification of encoding


Custom comparator

Many Perst collections allow user to specify a comparator class

Advanced features

XML import/export


Database encryption


Database compression


Portable database format




Full text search


Fast database upload on mobile devices