Welcome!

Java Authors: Elizabeth White, Pat Romanski, Raja Patel, Yeshim Deniz, Aria Blog

Related Topics: Java

Java: Article

McObject Releases Perst, an Open Source Embedded Database for Java

Sells Perst Support as Well as Commercial Licenses

Effective immediately, McObject is offering Perst as a free download for evaluation and non-commercial use, and spearheading its development in the open source community. McObject also now sells Perst support as well as commercial licenses.

Under Perst's dual license, users can modify database source code and use it freely in non-commercial applications (software that is neither sold nor used internally by a business, and for which source code is made available) under the GNU General Public License (GPL). McObject's commercial license is required if Perst-based software will be sold or used for business, or if source code is to be withheld.

“iSpheres uses Perst to implement streaming data persistence for complex events processing, and to provide time series persistence for XMLBeans, Java Beans and HashMaps. Perst has proven to be an excellent choice for our Java-based, real-time enterprise software application. Its Java implementation is highly readable and understandable. Perst's simplicity of design, along with open source code, has enabled us to optimize certain indexes for working with streaming data.”
- Kal Krishnan, VP of Engineering, iSpheres Corporation

Perst is ideal for Java and C# applications requiring a modest footprint and fast, multi-platform data management—typical uses include embedded systems, packaged software, mobile applications, Web services and industrial systems. With a run-time code footprint of between 30K and 300K, Perst fits well within the resource constraints of many embedded systems applications.

Perst's fundamental achievement lies in making persistent Java and C# objects as efficient and easy to use as possible. In most cases, Perst automatically loads the persistent objects without explicit programmer command. When used with aspect-oriented tools such as AspectJ and JAssist, Perst provides completely transparent persistence.

Perst classes enable efficient filtering of collection elements. For efficient access to persistent objects, Perst also implements specialized collection classes optimized for different data layouts and access patterns, including: a classic B-Tree implementation; R-tree indexes for spatial data representation; main-memory database containers, based on T-Tree indexes, optimized for memory-only access; the Patricia Trie index to support IP address data; a TimeSeries class to efficiently deal with small fixed-size objects; specialized versions of collections for thick indices (indices with many duplicates), and bit indices (keys with a restricted number of possible values).

In contrast to object/relational databases, or tools that provide object/relational mapping, Perst stores data directly in Java/C# objects. This eliminates the need for expensive (in performance terms) run-time conversions between the database representation of the data and the Java/C# representation.

Unlike many other object-oriented databases, Perst requires no dedicated compiler, byte code processor or specialized Java run-time environment, yet provides a high degree of application transparency. The Perst API is convenient, flexible and easy to use. Perst requires no end-user administration, and along with its simplicity, Perst ensures integrity via transactions that adhere to the “ACID” properties (Atomicity, Consistency, Isolation and Durability) with very fast recovery.

Perst also provides features such as garbage collection, detection of hanging references, automatic schema evolution, XML import/export utilities, master-slave replication support (with the option to run read-only queries on slave nodes), and integration with AspectJ and JAssist AOP tools.

More Stories By Java News Desk

JDJ News Desk monitors the world of Java to present IT professionals with updates on technology advances, business trends, new products and standards in the Java and i-technology space.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
jdj news desk 02/09/06 01:35:21 AM EST

Effective immediately, McObject is offering Perst as a free download for evaluation and non-commercial use, and spearheading its development in the open source community. McObject also now sells Perst support as well as commercial licenses. Under Perst's dual license, users can modify database source code and use it freely in non-commercial applications (software that is neither sold nor used internally by a business, and for which source code is made available) under the GNU General Public License (GPL).