网站规模到了一定程度之后,该分的也分了,该优化的也做了优化,但是还是不能满足业务上对性能的要求;这时候我们可以考虑使用主从库。
主从库是两台服务器上的两个数据库,主库以最快的速度做增删改操作+最新数据的查询操作;从库负责查询较旧数据,做一些对实效性要求较小的分析,报表生成的工作。这样做将数据库的压力分担到两台服务器上从而保证整个系统响应的及时性。
SQL Server提供了复制机制来帮我们实现主从库的机制。我们看下如何在sql server 2005中实践:
实践前需要新创建一个Test的数据库,这个库中建一个测试表。
1. 打开sql server企业管理器,在对象资源管理器里面选择复制本地发布,右键选择新建发布
2. 打开新建发布向导,点下一步,选择发布数据的数据库
3. 我们选择Test数据库,并点击下一步,选择发布类型
这里我们选择的是事务性发布,事务性发布保证数据在做更新之后尽可能快的分发到订阅服务器上。有关其他几种发布类型的使用场景请参考msdn
4. 点击下一步,选择要发布的对象,这里我们只对表进行发布
5. 点击下一步进入筛选数据设置,这里我们要复制表的所有数据所以不做设置
6. 点击下一步,指定何时运行快照,我们选择初始话数据,并选择默认的运行快照频率
7. 继续下一步,设置快照代理的运行账户,我们选择sql server agent账户
8. 点击下一步选择创建发布,再次点击下一步设置发布的名称
9. 点击完成,完成发布的设置,并创建发布,现在在本地发布出新添加了我们创建的发布
现在成功创建了发布,我们还需要创建订阅:在本地订阅文件夹上右击新建订阅,通过向导可以很容易的创建订阅,创建订阅时可以选择以发布者推送或者订阅者主动的方式创建。具体步骤如下:
1. 通过右键菜单打开新建订阅,点击下一步,选择我们刚刚创建的发布作为订阅源
2. 选择是以推送还是以主动请求的方式同步数据,我们选择主动订阅
3. 设置执行分发代理的账户
4. 设置代理请求同步的频率
5. 设定是否立即做数据的初始化操作
6. 完成创建订阅
创建完成之后,我们可以通过在主库表中插入n条数据,然后在从库中查询的方式验证复制是否成功。
在Sql server2005中的复制创建起来很简单,我们需要根据业务需要设定复制的类型和同步的频率,下一篇我们谈谈如何有效的在程序中使用主从库。
相关随笔:
Asp.Net 网站优化 数据库优化措施 使用主从库(下)