Plenty of software uses a database to store data. There are many types of database implementations but generally two main branches exist - SQL based relation database management systems (RDBMS) and file based database. One of the RDBMS is an Interbase. The Interbase is powerful transaction SQL database engine that implements many advanced features - views, triggers, stored procedures, generators, etc. Interbase was developed by Borland as commercial database but version 6.0 was released as open-source. It means that it's possible use it for-free for any purposes. On the open-source database was founded new branch named Firebird. Even Borland released next Interbase v7 as non open-source, the Firebird clone remains open-source. Even the Interbase architecture is robust and powerful, comparable to other concurrent, one feature limits it - there is not implemented replication engine such as in Oracle, MSSQL or even MSAccess. In many cases data of an enterprise are not stored in one database but they are distributed to more locations. Replication engine try to maintain data in each of databases as synchronous as possible. To be replication efficient, the engine catches only data changes and passes them to the other databases. There are many reasons why to split data:
non-reliable connection to main database
security, shadow database in DM zone
data backup to remote shadow database at different place
external database on laptops for representatives
how often replicate?
does exist reliable and fast online connection?
replicate all tables?
replicate all records in table?
uni or bidirectional?
the Interbase and Firebird (1.0, 1.5) databases supported
the SQL Dialect 1 and 3 supported
the offline or online synchronization
FTP, email or shared net dir transfer for offline replication, open source transfer libraries
the offline packages can be encoded for improved security or compressed, open source interface, CRC checking
visual replication manager (scheme editor)
custom configurable history of records
the replication server running as a GUI application or a console/NT service application
multi-segment primary key supported
conditional replication and synchronization
extended conflict checking
replication into tables or stored procedures
replication actions and errors are logged into logs
international support - optional UTC time stamps, Unicode/UTF-8 encoding
source/target database recovery from daily backup and incremental backup
SDK - a developer can implement full replication server functionality to own software
replication of external files (linked from database using file name)
Features not yet implemented
replication of array fields (not planned)
not tested for Asian code pages
replication of structure (DDL)
record history viewer and SDK
GUI driven database comparer (dbdiff)
custom installer NSIS support
installed Interbase/Firebird client
the SQL server must support CommitRetaining and RollbackRetaining (Interbase v6)
Windows 9x/ME/NT/2000/XP or Linux at x86 platform