Avalerion

An avalerion or alerion is a mythological bird, it is also a minor fork of the Firebird 3.0 database engine that supports native (internal) replication without using triggers. It is intended to be a high performance variant of IBReplicator for Firebird.

You can enable or disable replication for tables and sequences (replication for tables is enabled by default, sequences are not).

CREATE TABLE <table definition> (<fields definition>) [ENABLE|DISABLE REPLICATION]

ALTER TABLE <other alter table options> [ENABLE|DISABLE REPLICATION]

CREATE/ALTER SEQUENCE <sequence definition> [ENABLE|DISABLE REPLICATION]

Inserts, Updates and Deletes are captured automatically on commit and logged to an output directory, one file per transaction. These files are then read and replicated automatically by the Replication Server.

Avalerion (the forked Firebird 3.0 database engine) is used with a Change Data Capture plugin which can be found in the normal IBReplicator installations. This plugin and its configuration file needs to be copied into Avalerion's plugins subdirectory.

Replication activation is controlled globally by the following configuration parameters ReplicationPlugin, ReplicationEnabled and LicenseKey.

The parameters ReplicationPlugin and ReplicationEnabled can be set globally in firebird.conf or at individual database-level in databases.conf.

The plug-in named there will be used to capture data changes in the relevant Database(s). Only one plug-in name is allowed, not a list.

Syntax:

ReplicationPlugin = <symbolic name of plugin>
The default is none.
e.g. ReplicationPlugin = ibpr_cdc

Although ReplicationEnabled can be set globally, it is recommended to set it individually for each database, in databases.conf.

Syntax:

ReplicationEnabled = <bool>
The default is false.
e.g. ReplicationEnabled = true

Transaction Level Control

There is a new transaction parameter NO REPLICATION that can be used to set a Transaction Parameter Buffer (TPB) - isc_tpb_no_replication if set it will disable replication for all the modifications that are made in that particular transaction.

SET TRANSACTION READ COMMITTED NO REPLICATION

The Plug-in and Its Configuration

The plug-in ibpr_cdc is shipped with IBReplicator and has the following settings defined in the configuration file ibpr_cdc.conf that is included with it:

OutputDirectory sets the directory where captured data changes are written, one file per transaction. The directory must exist and be accessible by the Avalerion engine. The default is the current directory for the server.

Syntax:

OutputDirectory=<path>
e.g. OutputDirectory=/var/ibpr/logs

The LicenseKey is the license used to enable the plug-in. It is an ordinary Server license for IBReplicator 5.0, including evaluation.

Syntax:

LicenseKey=<license key string>
The default is none.
ie. copy the license from the license email and then cut and paste it directly into this parameter.

Remember, you must copy the plugin and configuration file from IBReplicator's installation directory into Avalerion's plugins directory.

Downloads

From an installation point of view, its probably easier to first install an official installation of Firebird 3.0, and then copy the downloadable Avalerion files over the originals.