Fork me on GitHub
#datomic
<
2021-02-22
>
steveb8n05:02:09

Q: I am using Cloud and provide an mullti-tenant application to a global audience. I want to minimise latency by letting customers use an AWS region close to them. I plan to support 3 regions for this but I currently have 1. I am wondering how I could allow customers to move regions i.e. replicate all their single-tenant data from one Datomic db to another (with the same schema) in a different region

steveb8n05:02:39

I’m curious to hear how other people have dealt with a requirement like this.

steveb8n05:02:25

Any gotchas or tips would be much appreciates. Or even just suggestions so that I am aware of options I haven’t thought of by my lonesome

steveb8n05:02:01

The first ideas I had are full replication or on-demand replication at the app level i.e. I build my own export/diff tool. Or is it replication based on mutation events replayed in the 2 other dbs?

Andrey Popelo11:02:48

We would like to clone a database within a single storage (on-prem). Unfortunately backup-restore can’t do that for us due to it’s limitations [1]: > Backup and restore are not suitable for cloning of a database within a single storage. If you attempt to restore a database into a storage that already contains that database, but under a different name, the restore operation will fail. Are there any other existing ways to do that? Thank you. [1] https://docs.datomic.com/on-prem/operation/backup.html#limitations

thumbnail15:02:07

We've experimented with replaying the reflog on a separate database, and even duplicating the underlying storage in order to duplicate/back it up. Both were a pain so we now use backup to a separate install, which is rather painless

JohnJ20:02:01

Create a new table (dynamo or SQL) to restore to