应用题 1.  设某社交网站使用SQL Server 2008数据库管理系统,上线运行1年后,用户操作速度明显变慢,数据库服务器负荷很高。经技术人员分析,发现速度缓慢的原因为用户频繁访问网站,查看自己是否有新消息。某工程师建议利用数据库复制技术将相关数据表定期(例如1分钟)分发到另外一台服务器的只读数据库中,以便用户查询使用。请从数据一致性、用户体验、可扩展性三个方面逐一分析此方案优劣。说明此方案是否可行,并简要给出理由。
【正确答案】优点:该方案能满足数据一致性。因为利用数据库快照复制技术,可以将相关表分发给另外一台服务器,可以满足数据的一致性。
   数据的更新可以采用自动更新和手动更新方式。更新时间可以在建立分发数据库时设置,设置时间小于1分钟。通过这种方式可以满足用户体验。
   数据库的分发只是在软件层面进行,对于已经建好的发布和定阅可以直接用delete按钮删除,然后重新进行设置,可扩展性强。
   缺点:增加了一台服务器的开销。
   对于本题, 该方案可行。存放网站系统的服务器被设为发布服务器,另外一台服务器可以作为分发服务器和订阅服务器。发布服务器以事务复制的方式向分发服务器发送信息。客户端通过订阅服务器获取数据,实现信息同步更新。这种方式不会影响网站系统服务器的运行,又能保证客户端可以随时刷新信息。
【答案解析】 SQL Server主要采用发布、分发、订阅的方式来处理复制。源数据所在的服务器是发布服务器,复制发布数据。发布服务器把要发布的数据的所有改变情况复制到分发服务器,分发服务器包含一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变发给订阅服务器。