Replication, distribution or synchronisation of data between databases or within a distributed database; Distributed database system architectures therefor