A brief word on ACIDEvery database developer should have any knowledge about the term ACID. In fact, every 'real' database according to Cobb must comply with this definition. So what is ACID? ACID stands for: Atomicity, Consistency, Isolation and Durability.
Assuming that a mature database like Firebird does comply to ACID rules and that databases under Firebird are always consistent, what is the situation when replication is involved? Databases using asynchronous replication, cannot operate through rules of ACID. This means that operations which succeed in one database, can fail in another. In that way, information in the two databases are not equal anymore. This fact alone is the biggest weakness of asynchronous replication. Therefore, asynchronous replication is not as simple as applying a tool to two different databases. Deep functional knowledge is needed when applying this replication technique. On the opposite, databases connected through synchronous replication are still complying to the rules of ACID. This doesn't mean that something cannot go wrong, but that's a more technical matter. The popular database server MySQL, at least versions until 3.x, do not comply to ACID, hence MySQL is not a real database as ACID concerns. See: Problems with synchronization |