我正试图将数据从内存db1迁移到我的db2。为此,我使用symmetricds进行配置,当symmetricds启动时,它将执行从db1到db2的初始加载。此外,每当db1中发生一些数据修改时,都会将其拉到db2中。
现在我有麻烦了。symmetricds要求配置表或sym表同时出现在db1端和db2端。
由于db1在内存中,这些配置表占用了大量内存。
因此,我想知道的是,是否有一种方法,将配置表完全保留在一个单独的磁盘数据库中,从d1一侧保留,保留现有的功能。
希望我能说清楚。
任何和所有的建议将不胜感激。

最佳答案

选项1:最小化运行时表占用空间。您可以积极清除运行时表。例如,每10分钟清除一次,只保留10分钟的活动:

purge.retention.minutes=10
job.purge.incoming.cron=0 */10 * * * *
job.purge.outgoing.cron=0 */10 * * * *

避免同时记录传入的批处理表:
incoming.batches.record.ok.enabled=false

选项2:将symmetricds放入另一个数据库。将symmetricds设置为指向数据库,如基于h2文件的数据库。那是所有“sym”表的位置。然后配置“jdbc”参数以加载到内存数据库中。例如,可以加载到apache ignite中:
jdbc.db.url=jdbc:ignite:thin://localhost
jdbc.db.driver=org.apache.ignite.IgniteJdbcThinDriver
jdbc.db.user=
jdbc.db.password=

然后将sym_channel.data_loader_type设置为用于加载数据的通道(例如“default”和“re load”通道)的“jdbc”。

关于database - 减少配置表:SymmetricDS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47627446/

10-08 23:45