某网上商城因为业务发展,原有的系统不能很好的满足需要,因此采用了一套新的经营管理系统,此系统使用SQL Server 2008数据库管理系统。此系统上线运行前,需将商场原有的数据导入到新系统中,原有系统使用SQL Server 2000,数据结构与新系统不

admin2016-10-10  39

问题 某网上商城因为业务发展,原有的系统不能很好的满足需要,因此采用了一套新的经营管理系统,此系统使用SQL Server 2008数据库管理系统。此系统上线运行前,需将商场原有的数据导入到新系统中,原有系统使用SQL Server 2000,数据结构与新系统不完全一致。因此需要把数据从SQL Server 2000导入到SQL Server 2008中,为了保证数据一致性,数据导入过程中要求暂停业务且必须在3小时内完成。
(1)在原有数据导入新系统的过程中,实施人员发现原有数据量很大,导入数据需四小时,业务无法接受。经分析某工程师认为,数据导入过程中的数据库I/O很高,但导入数据的程序本身对系统资占用率很低。该工程师建议将数据导入过程中的数据恢复模式从“完整”模式改为“简单”模式以提高数据导入速度;而另一位工程师则认为此方法未必能提高数据导入速度,而且还可能导致数据丢失,不建议使用此方法。请分析此方法是否能够提高数据导入速度并给出理由,同时分析此操作的数据丢失风险   
(2)在成功导入历史数据后,此系统顺利上线运行。在上线运行的第一周,发现数据库服务器的CPU使用率很高,达到近90%,高峰期间达到100%,且系统内存占用率达到90%,但系统I/O很轻 ,业务人员反应系统操作速度很慢。为了提高系统运行速度。在不修改应用程序的前提下,两位工程师提出了不同的解决办法:
Ⅰ.为服务器增加2颗CPU,缓解CPU使用率很高的问题;
Ⅱ.为服务器增加一倍内存,缓解内存使用率很高的问题。
考虑成本,现阶段只能按照一种方案实施。请指出在现有情况下,哪种方案更合理并给出理由。

选项

答案(1)此方法能够提高数据导入速度。原因:此系统I/O很高,修改恢复模式后,系统最大限度减少日志开销,可提高导入速度。由于仅在数据导入过程中修改恢复模式,所以并无数据丢失风险。 (2)第一种方案比较合理。原因:SQL Server 2008采用将数据缓冲在内存的方式,因此内存的使用率比较高是正常情况,且现阶段I/O并不存在问题,表明内存满足需求。此阶段CPU使用率很高,表明CPU计算资源不足,因此增加CPU数量对解决问题有效。

解析
转载请注明原文地址:https://kaotiyun.com/show/L9lZ777K
0

最新回复(0)