Java SymmetricDS:我应该使用哪种方法来同步特定的表?

Java SymmetricDS:我应该使用哪种方法来同步特定的表?,java,database,synchronization,data-synchronization,symmetricds,Java,Database,Synchronization,Data Synchronization,Symmetricds,我正在测试SymmetricDS,我对应该使用哪种方法来同步某些特定的表有些怀疑。我有两个应用程序,第一个是ERP,第二个是PDV。某些表可以同步到所有PDV数据库,但是,在某些表中,行应同步到特定PDV实例: 在这个图中,红色的矩形显示了哪个表需要同步,绿色的箭头显示了一列,在该列中我们可以识别哪个SymmetricDS实例将要同步。我的问题是:我应该使用哪种方法来实现bsh、subselect、lookuptable等功能,以及如何实现这些功能?你需要一个subselect路由器,实际上你需

我正在测试SymmetricDS,我对应该使用哪种方法来同步某些特定的表有些怀疑。我有两个应用程序,第一个是ERP,第二个是PDV。某些表可以同步到所有PDV数据库,但是,在某些表中,行应同步到特定PDV实例:


在这个图中,红色的矩形显示了哪个表需要同步,绿色的箭头显示了一列,在该列中我们可以识别哪个SymmetricDS实例将要同步。我的问题是:我应该使用哪种方法来实现bsh、subselect、lookuptable等功能,以及如何实现这些功能?

你需要一个subselect路由器,实际上你需要三个。我只向您展示了Funciario的SQL,然后您就可以自己了解Cadastro和Funciario_funcao的配置:

插入SYM_路由器 路由器id、源节点组id、目标节点组id、路由器类型、, 路由器表达式、创建时间、上次更新时间 价值观 “erp至pdv功能”、“erp”、“pdv”、“子选择”, 'c.外部_idin 选择empresa.CNPJ 从卡达斯特罗加入empresa 在cadastro.id_empresa=empresa.id_empresa上 其中cadastro.CPFCGC=:ID\u cadastro ', 当前_时间戳,当前_时间戳; 路由Functionario表中的记录时,此路由器会选取外部_id等于链接到给定Functionario的Empresa.CNPJ的所有节点,我假设Functionario.id_cadastro是对cadastro.CPFCGC的引用


注:我使用了c.external\u id,但您可能希望使用c.node\u id,这取决于您在Empresa.CNPJ中输入的内容。

我将使用select distinct Empresa.CNPJ优化select Empresa.CNPJ,以防通常存在n-n关系。@Raffaele不是一种低效的方法吗?不。稍后,如果您发现您的生产设置存在性能问题,并且无法提供硬件升级,您可以尝试使用路由表/路由列来加快速度。这意味着您必须自己消化路由,并添加列来存储节点/查找键