VERSANT Developer Center



Versant Vhistle

versant-vhistle.gif

The Vhistle add-on module for Versant Object Database supports both master-slave and peer-to-peer asynchronous replication between multiple object servers. This can be used to replicate data to a distributed recovery site or to replicate data between multiple local object servers for increased performance and reliability.

Overview

In many applications, there is a need to replicate data, typically to improve availability, to improve performance by geographically co-locating databases with the applications that access the databases, to isolate decision support systems from online production systems, and to help in recovery from failures using warm-standby systems.

Why Asynchronous Replication?

Replication can be achieved in two ways - synchronous, where consistency of data between replicas is strictly maintained, and asynchronous, where data consistency is loosely maintained. Synchronous replication increases the duration of application transactions and cannot be completed until all the replicas have been brought to the same state. Asynchronous replication does not prolong the transaction much, as it updates the replicas in a separate transaction from the application transaction. Therefore, asynchronous replication is most suitable where certain latency before achieving consistency among replicas is permissible.

Default and Advanced Mode

The Vhistle add-on module provides two modes of replication for Versant Object Database, Default and Advanced.

The Default mode uses Versant APIs for replication and supports only Master-Slave configuration. This mode is suitable for LAN and WAN based replication where network is fast and reliable.

The Advanced mode provides snapshot-based replication and supports peer-to-peer and Master-Slave configurations. This mode is suitable for WAN based replication where the network is slow and unreliable. The Advanced mode provides customizable messaging, transport mechanism and conflict detection and resolution.

Core Features

Versant Asynchronous Replication offers the following core features that are provided by Default as well as Advanced mode:

Flexible configuration

The architecture allows for various Master-Slave configurations such as:

  • Master-Slave configuration with one master primary site and multiple fragmented slave replica sites
  • Master-Slave configuration with multiple primary sites and one consolidated replica site
Multiple language support

Objects created using any of the Versant language interfaces, that is, C++/Versant, J/Versant or C/Versant, can be replicated to and from Versant databases.

Logical partitioning

Databases can be partitioned logically for replication. The partitioning is based on a class, a set of classes, a set of objects, or a predicated extent of a class that is specified using a query.

Differential Update

Objects that have been created, modified or deleted are replicated. Versant event notification is used to register the updates, deletions and create events on classes of objects specified by the user. An event daemon in the database at each site monitors changes and creates requests for replication.

Batch replication

With batch replication, objects changed in a batch of user transactions are replicated in a single replication transaction. Irrespective of whether a replication is transactional or batch based only the part of the transaction that is of interest to that site is applied at the receiving site.

Event or API Based replication

Two methods are provided for automatic or explicit replication. The first method uses Versant event notification to monitor updates to database objects, and automatically creates replication requests. The set of objects to be monitored can be specified in various ways. In the second method, applications use Java or C++ API to create replication requests explicitly.

The second method, therefore, has more control over specifying the set of objects to be replicated and the timing of replication.

Recovery from failures

All the objects representing meta data used by Versant Asynchronous Replication are stored persistently to facilitate recovery and synchronization after network or machine failures.

Administrative tools

The product includes a set of command line utilities to help administer the replication sites and to check and fix corrupted meta data.

Logging

Logging facility is provided to report errors and status of replication. To preserve application events, events are raised irrespective of whether the updates occurred due to replication from other sites or due to an application. However, it is guaranteed that changes are replicated only once to all the target sites.

Additional features provided with Advanced Replication

Peer-to-peer configuration

Besides supporting different Master-Slave configurations, Advanced replication supports N-way peer-to-peer or symmetric replication with mechanisms for update conflict detection and resolution.

Conflict Detection and Resolution

You can avoid update conflicts by allowing changes to objects to occur at a single designated site. In applications where this restriction cannot be supported, Versant Asynchronous Replication allows update conflicts to be detected and resolved. In order to detect update conflicts, an administrator can assign ownership of database objects to primary sites. Updates made to objects at non-primary sites are propagated to the primary site for replication. The primary site is then a single point where update conflicts can be detected and resolved regardless of where the update actually occurred. The target sites receive their updates only from the owner site. Versant Asynchronous Replication provides a default mechanism for detecting conflicts. You can optionally customize the detection and resolution of conflicts by implementing the interfaces specified for conflict detection and resolution.

Conflict prevention and avoidance

Mechanisms are provided for preventing conflicts by synchronously replicating to the owner sites, from where replication is carried out asynchronously to the other sites. Conflict avoidance is supported by enabling the administrator to assign ownership of database objects to their primary sites, and avoiding updates to those objects at the other sites.

Customizable transport

Interfaces are provided to customize the transport mechanism used. Default implementation uses Java sockets. Versant connections are not used to communicate from one site to another. The default supports replication over a LAN as well as a WAN.

Customizable message format

Message formats can be customized to support replication of parts of database objects instead of replicating objects (Java-serialized) in their entirety as default.

Explicit Replication

In Explicit mode, replication operates in two states, active and passive. In active state, replication requests are only consolidated without actually replicating the data. Whenever the state is changed from active to passive, objects specified by the consolidated requests are replicated first and then processing of replication requests is started.


Site Search



Forum Search




Contact

Technical Questions:
Message Boards

Purchase Inquiries:
Versant Object Database
FastObjects .NET

General Questions:
Quick Message Form

For postal adresses, phone numbers,  e-mail addresses, driving directions etc please refer to:

Contact Details Overview


VDC Member Login

You are not logged in.

Joining the VDC Member Area is the best way to get the best out of the Versant Developer Center!

Registered User Login

Create New User Profile

Why sign-up?


young_guys_205.jpg

Now Hiring! Seeking good staff that take action on good stuff!

In today's fast paced world you want to be part of a company that is on the leading edge of technology? Join Versant!

More...

vorkout_trailer_pic2.gif

Online Database Reorganization for the Versant Object Database

Versant Vorkout lets you reclaim unused space in your database while it is in normal operation, increasing free space and improving performance.

More...

promo_university_205.jpg

Versant and German University Team Up to Grant Scholarship

Database Company supports Masters students enrolling in Databases / Information Systems through 2-year Scholarship

Press Release