|
Quick Overview
VBSF™ v3 includes many
new features and substantial improvements in performance and memory
efficiency. Beta sites have reported performance improvements as high as
100% over VBSF v2.x.
Here is what our customers are saying about v3:
"It looks like that you have been doing a lot of very good
thinking and testing :-) The moving of the schema's and the cache from the
Database to the Server is - without knowing it - what we have been looking
for, for a long time. It will without doubt help us to improve performance
and quality when using multiple threads in our app."
"You should forget 2.4 and go straight to 3.0 as it's vastly
improved."
"The latest beta passed my tests. I did some hard core
importing, and deleting. No problems at all. I've committed my code to cvs
and now we'll wait till a beta of our software is released to see what
test results we get back from more real life use."
Version 3 is available in two editions: Professional and Enterprise.
The only difference between them is that the Enterprise Edition has a
global shared object cache and the Professional does not. Internal benchmark tests show that the
Enterprise Edition's global shared cache can improve multi-user application
performance by 40% or more vs. the Professional Edition. Both versions are
included in the same binary distribution file. See the installation
instructions for details on selecting which edition to run. Please note
that the RMI distributed edition of VBSF has been discontinued and is not available in
v3 or any other future releases.
Below are the major new features included in v3.
Persistence Layer New
Features
- A true Global Shared Object Cache (Enterprise Edition only) allows all
Database objects that share the same Server
object to utilize the same object cache. All operations performed in one
Database object are automatically available in all other Database
objects once the transaction commits. All synchronization occurs in
memory without incurring any database hits.
- Substantial performance improvements. The persistence layer has
undergone a substantial rewrite in many areas that affect performance.
- Support for Configurable Dynamic Caching. Defining dynamic caches allow the garbage collector to
reclaim memory in use by the caches according to the collector's policy
in regard to the cache type.
- Substantial memory efficiency improvements. The memory footprint has
been reduced via sharing and reuse of resources. Schema information is
now shared among all
Database objects.
- Dynamic cache utility classes are now included. These can be used
directly in your own applications to implement dynamic (weak & soft
referenced) and/or managed object caches.
- Complete XML support. Full round-trip support from XML documents to
persistent object graphs and back. Persistent objects can be retrieved as XML
documents and updated in the database from XML documents.
- Initial support for the JDO API.
- Directly executes from a mapping schema saved in XML format.
- The
OCollection and OReference classes have
been improved so there are no issues in using persistent objects that
have OCollection and OReference attributes
across multiple Database objects or serializing them.
- The
OCollection class now implements the java.util.Collection
standard Java interface so REFERENCED
COLLECTION attributes that use the OCollection class do not have to be declared
as OCollection and instead can be declared as java.util.Collection. This allows your persistent
classes to be fully decoupled from VBSF while still taking advantage of
the lazy retrieval capabilities of the OCollection class.
- Support for allowing the Java data type of a REFERENCE attribute to
be declared as an application specific interface. This allows your
persistent classes to be fully decoupled from VBSF while still taking
advantage of the lazy retrieval capabilities of the
OReference
class.
- Support for performing aggregate queries, such as
count(x)
or sum(x), via the new AggregateOQuery class.
- A new CONTAINED class mapping type that allows mapping a contained
class to a subset of the columns defined in the table of the container
class.
- Support for easily being able to dynamically supply database
configuration properties at runtime without having to statically define
them in the schema.
- Automatic UUID Object ID generation. (v3.1x)
- Inter-Server global cache synchronization allows all changes in each
global cache within a VM to propagate to all other global caches in
other VMs running in other boxes. (v3.1x)
- Support for firing asynchronous database operations. (v3.1x)
- Implementation of a VBSF JCA (J2EE Connector Architecture) resource
adapter. (v3.1x)
- Support for JDBC 2.0 batch statements and other enhancements. (v3.1x)
- Partial object loading (e.g. JDO hollow objects). (v3.1x)
- Expanded implementation of the JDO API, including the Query object
and the Connector architecture for application server integration. (v3.1x)
Mapping Tool New
Features
- Ability to configure the cache on a per persistent class basis. Caches can be
configured as static (like in v2.x) or dynamic using
either weak or soft references. Caches can also be defined as managed.
Managed caches maintain a minimum pre-defined cache size by preventing
garbage collection using an MRU algorithm.
- Improved source code and DDL generation facilities. Multiple file and
batch generation supported.
- Mapping schema and tool configuration options can be saved in XML
format.
|