某学校网络计费系统使用SQL Server 2008作为数据库管理系统,系统中需保存每个用户的每次登录和退出时间,该表的结构如下: CREATE TABLE登录日志表( 序列号 int identity(1,1), 帐号 vareh

admin2018-10-09  36

问题 某学校网络计费系统使用SQL Server 2008作为数据库管理系统,系统中需保存每个用户的每次登录和退出时间,该表的结构如下:
    CREATE TABLE登录日志表(
    序列号 int identity(1,1),
    帐号 varehar(8),
    登录时间 datetime,
    退出时间 datetime,
    本次上网费用 real
    );
    在系统运行一段时间后,此表中有近5千万条数据。此时,用户按照登录时间查询自己近期上网情况时速度缓慢。为了提高用户体验,某工程师提出建议对此表进行分区,请分析其建议合理性(若合理请给出最优的分区方案),并说明原因。
    在解决了①中的问题系统平稳运行3年后,管理员考虑升级硬件。经过监控,系统资源使用情况如下:
    CPU使用率一般不超过50%
    内存使用率90%
    磁盘IO使用率高峰期90%~95%,主要为读操作
    某工程师给出两种升级后的硬件配置方案:
    配置一:2颗处理器,6核心,主频2.4GHz;64GB内存;300GB 10K转SAS硬盘,3块,RAID0
    配置二:2颗处理器,6核心,主频1.9GHz;128GB内存;800GB固态硬盘SAS读取密集型MLC,2块,RAID1
    请根据以上数据,在不考虑费用因素的前提下,说明哪种配置更合理,并给出原因。

选项

答案(1)对登录日志表中在登录时间列上以月为单位创建右侧分区函数,将登陆日志表分成12个分区,每个分区对应一年中一个月的值。因为操作仅限于查询,建立分区表可以有效的提高查询效率。 (2)采用方案2。对于CPU、内存、磁盘等硬件设备在空闲时使用率超过90%,说明硬件资源匮乏。如果在高峰时使用率小于90%说明硬件资源充足。本题中,内存和磁盘的使用率都高于90%,而CPU的使用率不高于50%,说明内存、硬盘的资源匮乏,需要调整,而内存的资源充足不需要调整。因此在硬件调整时,应提高内存的容量和硬盘的访问效率。

解析 对于分区表来说,如果对某表中当前分段数据,经常进行的操作是添加、修改、删除、查询,而对于其他的数据,则几乎不操作,或者操作仅限于查询,那么就可以对表进行分区。使用RAID时,可以将基本表和建立在表上的索引分别放在不同的磁盘上,这样访问基本表时,存放数据和存放索引的磁盘驱动器并行工作,可以得到较快的文件读写速度;类似的,日志文件与数据对象(表、索引等)也可分别存放在不同磁盘上以改善系统的I/O性能。RAID1相对于RAIDO来说提高了读速度,加强了系统的可靠性,但是写效率没有提高。在RAID中,如果不考虑价格因素,其实RAID10最适合的,它是一个RAID0与RAID1的组合体,它继承了RAID0的快速和RAID1的安全,同时读写速度均提高。但题目中主要考查的读能力,因此RAID1比RAID0更适合些。
转载请注明原文地址:https://kaotiyun.com/show/FWlZ777K
0

最新回复(0)