系统架构设计师---2015年下午试题1分析与解答(试题四)

2015年下午试题1分析与解答(试题四)

试题四

【说明】

某软件公司拟开发一套贸易综合管理系统,包括客户关系管理子系统和商品信息管理子系统两部分。客户关系管理子系统主要管理客户信息,并根据贸易业务需要频繁向客户发送相关的电子邮件、短信等提醒信息。商品信息管理子系统主要为客户提供商品信息在线查询功能,包括商品基本信息、实时库存与价格等。

在对系统进行数据架构设计时,公司项目组的架构师王工主张采用文件系统进行数据管理,原因是目前公司客户和商品数量不大,且系统功能较为简单,采用文件系统进行数据管理简单直观,开发周期短。架构师李工则建议采用关系数据库进行数据管理,原因在于公司目前正处在高速扩张期,虽然目前的客户和商品数量不大,但随着公司快速发展,需要管理的数据必然飞速膨胀,采用关系数据库作为数据存储层,系统的扩展性更强,并能够对未来可能增加的复杂业务提供有效支持。经过讨论,项目组初步采纳了李工的意见,决定采用关系数据库存储客户数据,并针对业务特征对系统性能进行优化。

【问题1】

请从设计难度、数据冗余程度、数据架构、应用扩展性等4个方面对关系型数据库管理系统和文件系统两种数据存储方式进行比较,填写表4-1中(1)~(4)。

表4-1 关系型数据库管理系统和文件系统存储方式比较

(1) 数据结构需要符合关系模式,设计难度较大

(2) 可能在多个文件中复制相同的数据属性,数据冗余较大

(3) 以应用系统为中心组织、管理数据

(4) 数据独立于应用系统,很容易在不同的应用系统之间共享数据

本题考查文件系统、关系型数据库、内存型数据库的主要特点。

此类题目要求考生认真阅读题目对现实问题的描述,依据系统的核心业务需求的特点(数据模型、读写性能、存储容量、可靠性),正确选取不同的数据存储架构。并能够根据业务的具体情况分析影响数据库查询的主要原因。

影响数据存储方式的主要考虑因素包括:设计难度、数据冗余程度、数据架构、应用扩展性;

文件系统具有以下特点:

•针对特定应用系统设计,难度较小;

•数据冗余较大,可能在多个文件中复制相同的数据属性;

•以应用系统为中心组织、管理数据;

•符合特定应用系统要求的文件数据很难在不同的应用系统之间共享。

关系型数据库具有以下特点。

•数据结构需要符合关系模式,设计难度较大;

•遵守数据库范式,数据冗余较少;

•以数据库为中心组织、管理数据;

•数据独立于应用系统,很容易在不同的应用系统之间共享数据。

【问题2】

对系统的核心业务需求进行认真分析后,公司的资深架构师张工提出一种内存数据库和关系数据库的混合存储架构,其核心思想是将需要频繁读写的数据存入内存数据库,而将相对固定不变的数据存入关系数据库。请首先分析比较内存数据库和关系数据库在数据模型、读写性能、存储容量、可靠性等方面的差异,填写表4-2中(1)~(4)的空白,并根据张工的思路指定各种业务数据的存储方式,填写表4-3中(5)~(9)中的空白。

 

(1) Key-Value模式(键-值对模式)

(2) 外存读写,性能相对较低

(3) 基于内存存储, 存储容量受限

(4) 恢复机制复杂, 可靠性较低

(5) 内存数据库

(6) 内存数据库

(7) 关系数据库

(8) 内存数据库

(9) 内存数据库

内存数据库型数据库是将数据放在内存中直接操作的数据库,使用内存型数据库将极大地提高应用的性能,同时通过数据缓存、快速算法、并行操作等的改进,使内存型数据库相对于传统的关系型数据库数据处理性能提高10倍以上,同时内存型数据库的应用受到内存大小,数据恢复要求的限制。

关系型数据库和内存数据的主要特点如下:

根据贸易综合管理系统的需求描述,需要频繁向客户发送相关的电子邮件、短信等提醒信息,并实时更新商品库存信息和商品价格信息,因此混合存储架构中,将客户电子邮件、客户联系电话、商品库存信息、商品价格信息等数据存入内存数据库:客户基本信息,商品基本信息相对稳定、访问频率较低,存入关系型数据库。

【问题3】

系统开发完成进行压力测试时,发现在较大数据量的情况下,部分业务查询响应时间过长,经过分析发现其主要原因是部分SQL查询语句效率低下。请判断表4-4中的SQL语句设计策略哪些可能会提升查询效率,哪些可能会降低查询效率,在(1)~(4)中填入“提升”或“降低”。

(1) 提升

(2) 降低

(3) 降低

(4) 提升

SQL语句设计时,影响查询效率的设计原则是:

•查询时尽量不要返回不需要的行、列;

•需要进行多表连接査询时,尽量使用连接查询,避免使用子查询结构;

•尽量避免采用NOTIN、NOTEXIST、LIKE等使用全表查询的操作;

•尽量避免使用DISTINCT关键字。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

国林哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值