我们需要将数据从一个数据库A推送到数据库B,同时保持数据库B中当前事务的一致性。
问题:无法将数据直接推送到数据库B中的表,因为客户可能会看到不一致的数据,因为它是3-4个表的联接。
方法:我们尝试创建加载表和加载表。我们创建了一个同义词来指向加载表。数据将首先被推送到加载表中,一旦所有数据被推送,我们会将其复制到加载表中到那时,同义词将指向加载表。所有数据复制到加载表后,同义词将再次指向加载表。 这种方法的问题在于,在切换同义词时,我们需要删除同义词广告以创建指向其他(正在加载或已加载)表的指针,并且如果找不到同义词,则任何传入的事务都可能失败。 还有其他方法可以解决这个问题吗?