请详细阅读有关数据架构方面的描述,回答问题1至问题3。 【说明】 某软件公司欲开发一个基于Web 2.

7 查阅

请详细阅读有关数据架构方面的描述,回答问题1至问题3。 【说明】 某软件公司欲开发一个基于Web 2.0的大型社交网络系统。就该系统的数据架构而言,李工决定采用公司熟悉的数据架构,使用通用的商用关系型数据库,系统内部数据采用中央集中方式存储。 该系统投入使用后,初期用户数量少,系统运行平稳。6个月后,用户数出现了爆炸式增长,系统暴露出诸多问题,集中表现在: (1)用户执行读写操作时,响应时间均变得很慢; (2)随着系统功能的扩充,原有数据格式发生变化,又出现新的数据格式,维护困难; (3)数据容量很快超过系统原有的设计上限,数据库扩容困难; (4)软件系统不断出现宕机,整个系统可用性较差。 经过多次会议讨论,公司的王工建议采用NoSQL数据库来替代关系数据库,以解决上述问题。但李工指出NoSQL数据库出现时间不长,在使用上可能存在风险。公司技术人员对NoSQL数据库产品进行了认真测试,最终决定采用NoSQL数据库来替代现有的数据库系统。

【问题1】(11分) 分别解释产生问题(1)~(4)的原因。 【问题2】(8分) 请针对问题(1)~(4),分别指出NoSQL数据库的哪些特点促使公司最终采用了NoSQL数据库。 【问题3】(6分) 请指出该系统采用NoSQL数据库时可能存在的问题。

参考答案:

【问题1】 其原因主要是:(1)用户响应时间慢。大型社交网络系统要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动态页面静态化技术,因此数据库并发负载非常高,往往要达到每秒上万次读写请求。关系数据库应付上万次SQL查询还勉强可以,但是应付上万次SQL写数据请求,硬盘I/O就已经无法承受了。特别是涉及到多表连接操作,会导致响应变慢。(2)数据格式变化。大型社交网络系统随着用户的使用,会不断地增加新的功能,导致原有数据格式发生变化,甚至出现新的数据格式。但关系数据库中采用元组方式组织数

软考高级