在这次采访中有人问我这个问题:
如何同步两个数据库数据?会有时间延迟等。我们该如何处理?
背景:我提到了微服务体系结构,还使用CQRS来提高性能(独立的读/获取查询数据库)和独立的写命令数据库。
现在,如果客户输入或修改数据,如何将其复制/同步到读取的数据库中?
我说的是诸如cosmos db options之类的东西,它可以防止脏读等。但是我不确定要进行同步的所有各种选项是什么。采访者在SQL DB级别专门问我如何在两个DB之间进行同步。
答案 0 :(得分:1)
在SQL Server中有两个用于数据库同步的选项。
1。 SQL Server始终启用功能(SQL 2012及更高版本)-使用此功能,您需要制作一个主副本和辅助副本(可以是多个二级副本) ),配置了Always On功能后,第二个副本将根据主副本更新自动更新。这还提供了HADR功能,如果主副本出现故障,则辅助副本将处于活动状态并扮演主副本角色。 https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/overview-of-always-on-availability-groups-sql-server?view=sql-server-2017
2。 SQL Server复制-合并复制,事务复制等。 https://docs.microsoft.com/en-us/sql/relational-databases/replication/types-of-replication?view=sql-server-2017
答案 1 :(得分:0)
因此,通常,要使用哪种复制策略取决于您的企业是否需要一致性或可用性。
参考: