Object Database Product Comparison

Object Database Fact Book

Object Storage Fact Book: Object DBMSs
Release 5.0

Note: This was published in July 2001.
It is now being offered at a significantly reduced price.

The Object Storage Fact Book contains 295 detailed comparison tables on 20 object database products. This data is essential for making an informed product selection. The data in the Object Storage Fact Book also accelerates the product selection process because the arduous and time-consuming task of gathering product data is completed for you.

20 Products Included

The object database volume of the Object Storage Fact Book, includes information on the following product releases.

Company Product Release
db4o db4o - database for objects 1.0
eXcelon Corporation, Object Design Division ObjectStore Enterprise Edition 6.05
PSE Pro for C++ 4.0
PSE Pro for Java 6.05
Javlin 1.1
JavlinOne 1.0
Fresher Information Corporation MATISSE 5.0
JYD Software Engineering Pty Ltd. JYD Object Database 2.0
Micro Data Base Systems, Inc. TITANIUM 8.1
Moscow State University GOODS 2.32
Objectivity, Inc. Objectivity/DB 6.1
Orient Technologies Orient Enterprise Edition 2.0
Orient Just Edition 2.0
The Ozone Database Project ozone 1.0
Poet Software Corporation, FastObjects Division FastObjects j2 2.0
FastObjects e7 7.0
FastObjects t7 7.0
Sysra EyeDB 2.6
Versant Corporation Versant Developer Suite 6.0.1
Versant enJin 2.2

Table of Contents

This volume of the Object Storage Fact Book focuses on object database products. The Table of Contents lists the comparison tables that make up the Object Storage Fact Book.

Sample Tables

Sample tables of the object database volume of the Object Storage Fact Book follow.

Ordering Information

The object database volume of the Object Storage Fact Book may be ordered separately or with the object-relational mapping volume. Click here for more information on ordering.


General Architecture
Client/Server Architecture
Platforms Supported
Small Footprint Platforms Supported
Networks Supported
Cache Location
Client/Application Cache Implementation
Server Cache Implementation
Unit of Transfer between Database and Application Memory
Object Access
Lookahead/Prefetch Controls
Memory Utilization
Storage Implementation
Defragmentation and Compaction
Continuous Operation
Capacity and Scalability
Memory Footprint
Licensing, Metering, and Open Source
ODMG Compliance
Java Data Objects (JDO) Compliance
Java Data Mappings, Wrapper Classes
Java Data Mappings, Primitives
SQL-92 DDL and DML Compliance
SQL-92 Integrity and Query Expression Compliance
SQL:1999 DDL and DML Compliance
SQL:1999 Integrity and Query Expression Compliance
CORBA/XA Support
Java Support
Java Certification
Microsoft Support

Objects, Attributes, and Relationships
Objects or User-Defined Types
Persistence with Programming Languages
Object Identifiers
Object Identifier to Reference Conversion
Attributes and Relationships
Literal Attributes
Multimedia Attributes
Multimedia Data Manipulation
Collections and Aggregates
Composite or Complex Objects
Object Clustering
Integrity Constraints
Integrity Constraint Use
Instance Operations Extensibility
Class or Type Operations Extensibility

Categories of Plug-Ins
Plug-Ins and Queries
Plug-Ins and Backup
Plug-Ins and Recovery
Plug-Ins and Transactions
Plug-Ins and Replication

Procedures and Programming Language
Types and Classes
Binding and Polymorphism
Inheritance and Delegation
Logical and Physical View
Method or Function Implementation
Method or Function Linking and Typing
Method or Function Execution Location
Object Language Integration
Server-Based Method or Function Language
Client-Based Database Method or Function Language
Class or Type Libraries
Object Language Class or Type Reuse by Inheritance
Object Language Class or Type Reuse by Changing Definition
Object Language Class or Type Reuse without Changing Definition
Object Language Class or Type Reuse using Processor
Object Language Class or Type Generation
Application Language Preprocessors
Procedural Languages
Higher-Level Language
Languages for Simultaneous Access
Languages for Simultaneous Method or Function Execution
Language Reference Safety
Language Type Safety
Code Management

Data Schema and Schema Evolution
Schema Update Time
Schema Change Method
Changes to Attributes or Data Members
Changes to Database Methods or Functions
Changes to the Superclass/Subclass Supertype/Subtype Relationship
Multiple Schema
Versions of Schema

Queries and Query Language
Query Language
Query Language Invocation
Query Language Invocation from Programming Language
Client-Side Programming Language Invocation
Server-Side Programming Language Invocation
Query Implementation
Data Updates and Queries
Query Processing Location
Query Scope
Client-Side Query Language Text Search
Server-Side Query Language Text Search
Query Optimization
Access Methods

Concurrency and Recovery
Standard Concurrency Control
Advanced Concurrency Control
Custom Concurrency Control
Instance Lock Modes
Class or Type Lock Modes
Lock Granularity
Reference Lock Granularity
Lock Setting, Releasing and Promotion
Change Notification or Triggers
Change Notification or Trigger Types Built-in
Change Notification or Trigger Execution Location
Change Notification or Trigger Implementation
Server-Based Change Notification or Trigger Language
Client-Based Database Change Notification or Trigger Language
Alerters or Named Events
Checkin/Checkout of Objects
Audit Trail
Replication Independence
Replication Type
Replication Granularity
Unit of Transfer for Replication
Replication Conflict Unit
Replication Conflict Resolution
Replication Conflict API
Replication Guarantees
Database Fail-Over Strategy
Disk Media Protection
Backup Facilities

Transaction Capability
Transaction Characteristics
Long Transactions
Shared Transactions
Multi-Threaded Transactions
Nested Short Transactions

Version Capability
Version Implementation
Version Binding
Version Configurations
Version Configuration Streams
Version Granularity
Version Merging
Version Extensibility
Version Queries

Distributed and Multi-Database Systems
Location Independence
Local Autonomy at Each Site
No Reliance on a Central Site
Fragmentation Independence
Detachable Databases
Detachable Database Synchronization
Private Workspaces or Databases
Private Objects in Shared Workspace or Database
Distributed Query Processing
Distributed Transaction Management
Two-Phase Commit Optimization
Server or Peer Hardware Heterogeneity
Network Heterogeneity
Wide Area Network Support

Security Authorization
Security Granularity
United States DOD Certified Security Compliance
Security Implementation
Encoding of Schema and Method or Function Definitions
Private or Personal Database/Workspace Authorization
User or Role Authorization
Implicit Authorization
Positive and Negative Authorization
Strong and Weak Authorization
Day and Time Authorization

Web Capabilities
Storage of Web-Related Data
HTML Processing
HTML Characteristics
HTML Interface
Server Pages
XML Capabilities
Web Sessions
Web Load Balancing
Web Dispatcher Fail-Over Strategy

Application Server Support
FastObjects t7 Application Server Support
Javlin Application Server Support
JavlinOne Application Server Support
MATISSE Application Server Support
Objectivity/DB Application Server Support
Versant enJin Application Server Support

Schema Browsing/Editing Tools
Data Browsing/Editing Tools
Query Tools
Version Browsing/Editing Tools
Screen Development Tools
Report Writer
Multimedia Tools
DBA Tools
DBA Alerts
DBA Notification Method
CASE Tool Integration

Internationalization of Interactive Tools
Internationalization of Batch Tools
Internationalization of Error Messages
Internationalization of Object Names and Strings

Mapping Objects to External DBMSs
Mapping Direction: Database Table or Object Language Class or Type Generation
Mapping Generation
C++ Map Generation Processing
C# Map Generation Processing
Java Map Generation Processing
Perl Map Generation Processing
Python Map Generation Processing
Visual Basic Map Generation Processing
Smalltalk Map Generation Processing
SQL Generation and Support
Object Identifier Mapping
Literal Attribute Mappings
Multimedia Attribute Mappings
Table to Class Mappings
Class to Table Mappings
Collection to Table Mappings
Table to Collection Mappings

External DBMS Schema to Object Model Mapping Management
Schema Update Time
Schema Change Method
Multiple Mappings to a Schema
Multiple Schema
Versions of Schema
External DBMS Schema Change Isolation
External DBMS Schema Change Synchronization
Changes to Attributes or Data Member
Changes to Database Methods or Functions
Changes to the Superclass/Subclass Supertype/Subtype Relationship
Changes to the Database Schema
External DBMS Schema Integration
External DBMS Schema Integration Conflict Resolution
Mapping Error Handling
Data Migration
External DBMS Location Independence

External DBMS Data Manipulation
Data Synchronization: Refresh Options
Refresh: Invocation Points
DBMS Simultaneously Open
External DBMS Queries
External DBMS Joins
External DBMS Updates
Querying Data in Multiple Databases
External DBMS Distributed Query Processing
External DBMS Distributed Transaction Management
External DBMS Concurrency Control
External DBMS Locking
External DBMS Two-Phase Commit Optimization
External DBMS Updates with Two-Phase Commit
External DBMS Security Implementation

External DBMS Product Support
db4o DBMS Access
FastObjects t7 DBMS Access
Versant enJin DBMS Access
External DBMS Access Method