datomic

Ask questions on the official Q&A site at https://ask.datomic.com!
steveb8n 2021-02-22T05:29:09.003Z

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

steveb8n 2021-02-22T05:29:39.003100Z

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

steveb8n 2021-02-22T05:30:25.003300Z

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

steveb8n 2021-02-22T05:34:01.003600Z

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?

2021-02-22T11:33:48.004300Z

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

2021-02-24T10:16:40.017400Z

Thanks

2021-02-22T15:06:07.004500Z

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

2021-02-22T16:51:13.005100Z

Thanks @jaret this was a confusion point for my team as well

JohnJ 2021-02-22T20:34:01.005900Z

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