ObjectStore Java Tutorial
Chapter 6

Choosing PSE, PSE Pro, or ObjectStore

This section compares PSE, PSE Pro, and ObjectStore. It considers the following characteristics:

Overall Capability

Database Size

Concurrent Users

Collections

Integrity, Reliability, and Recovery

Multimedia Content Management

Ease of Using Java

Overall Capability

PSE is intended for relatively small, single-user databases. It is not intended to support large numbers of concurrent users, high volumes of updates, and queries over large collections of objects.

PSE Pro supports larger databases and queries over large collections, but it is still a single-user database.

ObjectStore delivers high performance object storage for both Java and C++ programs. It provides scalable concurrent access to very large databases in a distributed multitiered environment. ObjectStore provides complete database management system features that ensure reliability and high availability. This includes backup and recovery, security, roll forward, replication, and failover.

The ObjectStore Java API is a superset of the PSE Pro for Java API, which is a superset of the PSE for Java API. It is easy to migrate applications from PSE to PSE Pro to ObjectStore when more features are required.

Database Size

When databases start to exceed the tens of megabytes range, PSE performance starts to degrade. At that point, you should consider using PSE Pro, which is much better at handling databases that contain millions of objects and databases whose size is in the hundreds of megabytes range. Beyond that, ObjectStore handles even larger databases, in the tens to hundreds of gigabytes range. ObjectStore also provides object clustering to support finer control over the physical placement of objects, which is necessary in very large databases.

Concurrent Users

PSE and PSE Pro are not intended for large numbers of concurrent users. They can support multiple readers, but writers are serialized because locks are held at the database level. If you require that your application support a high volume of concurrent updates, you should consider ObjectStore. With ObjectStore, multiple users can concurrently access and update objects that are stored in several databases distributed around a network.

Collections

PSE provides persistent versions of JDK 1.2 Collection classes such as Lists and Sets. But these classes are intended for small to medium cardinality collections and do not scale to tens of thousands of instances. If you require high-performance, indexed queries over large collections, you should consider using PSE Pro or ObjectStore.

PSE Pro and ObjectStore both provide robust collections libraries that support storage and indexed associative retrieval of large groups of objects. These libraries provide arrays, lists, bags, and sets, with B-tree and hash table indexing. PSE Pro and ObjectStore also provide query optimizers, which formulate efficient retrieval strategies and minimize the number of objects that must be examined in response to a query.

Integrity, Reliability, and Recovery

Both PSE Pro and ObjectStore ensure the integrity and reliability of your data. ObjectStore provides on-line backup and recovery, roll forward, replication, and failover to enable full support for administration of the database in a highly available 7x24 environment.

Multimedia Content Management

ObjectStore includes a comprehensive library of Object Managers that provide support for multimedia content management. Today's Java applications make extensive use of data types such as image, audio, full text, video, and HTML. The Object Manager for each of these types helps you maintain this data. In addition, there are Object Managers for specialized data types such as spatial and time series. Support for multimedia data types goes beyond storage management. An extended data type can also have sophisticated behavior defined by its methods, such as content-based retrieval of images.

Ease of Using Java

PSE, PSE Pro, and ObjectStore provide powerful data management environments for Java applications. They provide a seamless binding to the Java language. The easy-to-use interface drastically reduces the amount of code required to manage persistent Java objects. But it still provides developers with the full power of Java to define, manipulate, and share important application data.

Whether you use PSE, PSE Pro, or ObjectStore, creating persistent Java objects is as easy as creating transient Java objects. This means that the increased productivity of the Java environment is further enhanced with PSE, PSE Pro, and ObjectStore.



[previous] [next]

Copyright © 1998 Object Design, Inc. All rights reserved.

Updated: 10/07/98 07:05:59