Welcome!

Java Authors: Michael Sheehan, Maureen O'Gara, Jonny Defh, Suresh Krishna Madhuvarsu, RealWire News Distribution

Related Topics: Java, Open Source

Java: Article

Perst Embedded Database Boosts Performance & Stability In All-Java "Frost" Freenet Client

McObject Lending a Helping Hand

The all-Java Perst open source, object-oriented embedded database system from McObject has improved performance, stability and development ease in the open-source Frost client software for the Freenet global peer-to-peer network. The new Frost client has already been downloaded by thousands of Freenet users who are enjoying a “much better” application experience due to Perst, according to a Frost project leader.

Frost is a newsgroup reader-like client application used to share encrypted messages, files and other information over Freenet without fear of censorship. Frost previously used an open source database based on the SQL application programming interface (API). In late 2007, a newly released Frost version adopted Perst as a replacement for the embedded SQL database. Within this version, Perst stores messages as well as message and file-sharing meta-data, including a list of all shared files in the network, according to Karsten Graul, administrator of the global Frost development project.

“The Frost experience became much better since we started using Perst, due to shorter response times,” Graul said. He attributed the performance increase to eliminating SQL processing overhead, and to developers’ enhanced ability with Perst to optimize database access for different data types and layouts.

In contrast to SQL databases, Perst stores data directly in Java objects, eliminating the need for expensive (in performance terms) run-time conversions between the database representation of the data and the Java representation. Perst's API is tightly integrated with Java, resulting in exceptional “transparent persistence” and ease in working with objects.

Improvements cited in the Perst-based Frost client software include:

Reliability. The previously used SQL database often left files in an inconsistent state when Frost ended unexpectedly, Graul said. This resulted in corrupted data. In contrast, Perst’s transaction mechanism protects the integrity of its data files, and the database can recover quickly, he said.

Development ease. Perst’s object-oriented approach simplifies changing or extending storage code. For example, when a new field is added to a persistent class, Perst can automatically add this field to existing persistent data records.

Footprint. Without SQL processing overhead, Frost consumes less memory. Disk space is conserved by Perst’s ability to store text encoded in UTF-8 characters.

Performance. The SQL database in Frost became slower when table size grew, and developers could do little to improve performance. “In a SQL system, you formulate a query in SQL and the SQL system transforms the query into an access strategy. You have no direct way to influence the strategy that is used to access the data,” Graul said. In contrast, Frost’s developers are able to optimize Perst for accessing specific types of data, and control data access strategies, resulting in better performance, Graul said.

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 (0)

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.