【发布时间】:2016-01-15 15:40:14
【问题描述】:
我有两个不同的数据库,一个是旧的旧数据库,由于不再使用旧服务,我将停用它。另一个是新服务,最终会取代旧系统。在此之前,我们需要两个服务都运行一段时间。
两者都有两个用户表用于存储电子邮件地址、密码,另一个表用于简单的用户相关数据(地址)。
我需要在这两个数据库之间同步数据。旧的是 MS SQL Server 数据库,新的是 NoSQL 数据库(DynamoDB)。
我的策略是在上线之前,将所有用户从旧数据库复制到新数据库,然后在新系统运行后同步每个数据库之间的用户。
我将通过定期运行一个工具来检查上次运行后添加的任何用户,方法是查询用户表,例如WHERE CreationDate >= LastRunTime,然后为每个用户查询它是否存在于另一个数据库中。我将通过两种方式执行此操作,即从旧数据库 -> 新数据库和新数据库 -> 旧数据库。
这是一个好方法吗?还有其他更好、更快的解决方案来实现这一目标吗?
如何检测现有用户数据的更改?有没有比在两个系统的表中检查和匹配每个用户的记录,然后获取最后修改的记录(通过检查每条记录的 LastModifiedDate 时间戳)并在另一个系统的表中更新它更好的解决方案?
【问题讨论】:
标签: sql-server database database-design amazon-dynamodb nosql