目录
案例
【题目】
【问题 1】(8 分)
【问题 2】(13 分)
【问题 3】(4 分)
【答案】
【问题 1】解析
【问题 2】解析
【问题 3】解析
相关推荐
案例
阅读以下关于应用系统数据架构的说明,在答题纸上回答问题 1 至问题 3。
【题目】
某软件公司拟开发一套贸易综合管理系统,包括客户关系管理子系统和商品信息管理子系统两部分。客户关系管理子系统主要管理客户信息,并根据贸易业务需要频繁向客户发送相关的电子邮件、短信等提醒信息。商品信息管理子系统主要为客户提供商品信息在线查询功能,包括商品基本信息、实时库存与价格等。
在对系统进行数据架构设计时,公司项目组的架构师王工主张采用文件系统进行数据管理,原因是目前公司客户和商品数量不大,且系统功能较为简单,采用文件系统进行数据管理简单直观,开发周期短。架构师李工则建议采用关系数据库进行数据管理,原因在于公司目前正处在高速扩张期,虽然目前的客户和商品数量不大,但随着公司快速发展,需要管理的数据必然飞速膨胀,采用关系数据库作为数据存储层,系统的扩展性更强,并能够对未来可能增加的复杂业务提供有效支持。经过讨论,项目组初步采纳了李工的意见,决定采用关系数据库存储客户数据,并针对业务特征对系统性能进行优化。
【问题 1】(8 分)
请从设计难度、数据冗余程度、数据架构、应用扩展性等 4 个方面对关系型数据库管理系统和文件系统两种数据存储方式进行比较,填写表 4-1 中(1)~(4)。
【问题 2】(13 分)
对系统的核心业务需求进行认真分析后,公司的资深架构师张工提出一种内存数据库和关系数据库的混合存储架构,其核心思想是将需要频繁读写的数据存入内存数据库,而将相对固定不变的数据存入关系数据库。请首先分析比较内存数据库和关系数据库在数据模型、读写性能、存储容量、可靠性等方面的差异,填写表 4-2 中(1)~(4)的空白,并根据张工的思路指定各种业务数据的存储方式,填写表 4-3 中(5)~(9)中的空白。
【问题 3】(4 分)
系统开发完成进行压力测试时,发现在较大数据量的情况下,部分业务查询响应时间过长,经过分析发现其主要原因是部分 SQL 查询语句效率低下。请判断表 4-4 中的 SQL 语句设计策略哪些可能会提升查询效率,哪些可能会降低查询效率,在(1)~(4)中填入“提升”或“降低”。
【答案】
本题考查文件系统、关系型数据库、内存型数据库的主要特点。
此类题目要求考生认真阅读题目对现实问题的描述,依据系统的核心业务需求的特点(数据模型、读写性能、存储容量、可靠性),正确选取不同的数据存储架构。并能够根据业务的具体情况分析影响数据库查询的主要原因。
【问题 1】解析
影响数据存储方式的主要考虑因素包括:设计难度、数据冗余程度、数据架构、应用扩展性;
文件系统具有以下特点:
(1)针对特定应用系统设计,难度较小;
(2)数据几余较大,可能在多个文件中复制相同的数据属性;
(3)以应用系统为中心组织、管理数据;
(4)符合特定应用系统要求的文件数据很难在不同的应用系统之间共享。
关系型数据库具有以下特点:
(1)数据结构需要符合关系模式,设计难度较大;
(2)遵守数据库范式,数据几余较少;
(3)以数据库为中心组织、管理数据;
(4)数据独立于应用系统,很容易在不同的应用系统之间共享数据。
答案:
(1)针对特定应用系统,难度较大。
(2)可能在多个文件中复制相同的数据属性,数据冗余较大。
(3)以应用为中心管理数据。
(4)数据库独立于应用系统,数据库系统接口标准化,易于在不同应用之间共享数据。
【问题 2】解析
2.1 数据库比较:内存数据库型数据库是将数据放在内存中直接操作的数据库,使用内存型数据库将极大地提高应用的性能,同时通过数据缓存、快速算法、并行操作等的改进,使内存型数据库相对于传统的关系型数据库数据处理性能提高 10 倍以上,同时内存型数据库的应用受到内存大小,数据恢复要求的限制。
答案:
(1)Key-Value 模式
(2)外存读写,性能相对较低
(3)基于内存存储,存储容量受限
(4)恢复机制复杂,可靠性较低
2.2 根据贸易综合管理系统的需求描述,需要频繁向客户发送相关的电子邮件、短信等提醒信息,并实时更新商品库存信息和商品价格信息,因此混合存储架构中,将客户电子邮件、客户联系电话、商品库存信息、商品价格信息等数据存入内存数据库;客户基本信息,商品基本信息相对稳定、访问频率较低,存入关系型数据库。
答案:
(5)内存数据库
(6)内存数据库
(7)关系数据库
(8)内存数据库
(9)内存数据库
【问题 3】解析
SQL 语句设计时,影响查询效率的设计原则是:
● 查询时尽量不要返回不需要的行、列;
● 需要进行多表连接查询时,尽量使用连接查询,避免使用子查询结构;
● 尽量避免采用 NOT IN、NOT EXIST、LIKE 等使用全表查询的操作;
● 尽量避免使用 DISTINCT 关键字
答案:
(1)提升
(2)降低
(3)降低
(4)提升
相关推荐
【系统架构设计师】三、数据库系统(数据库基础|关系代数|范式)-CSDN博客文章浏览阅读903次,点赞14次,收藏17次。关系数据库系统(Relation DataBase System,RDBS);面向对象的数据库系统(Object-OrientedDataBase Systems,OODBS);对象关系数据库系统(Obiective Relational DataBase System,ORDBS)。_系统架构设计师 数据库关系https://shuaici.blog.csdn.net/article/details/139778214
【系统架构设计师】三、数据库系统(事务并发|封锁协议|数据库安全|商业智能|SQL语句)-CSDN博客文章浏览阅读1.1k次,点赞27次,收藏12次。事务是并发控制的前提条件,并发控制就是控制不同的事务并发执行,提高系统效率,但是并发控制中存在下面三个问题:丢失更新:事务1对数据A进行了修改并写回,事务2也对A进行了修改并写回此时事务2写回的数据会覆盖事务1写回的数据,就丢失了事务1对A的更新。即对数据A的更新会被覆盖。不可重复读:事务2读A,而后事务1对数据A进行了修改并写回,此时若事务2再读A,发现数据不对。即一个事务重复读A两次,会发现数据A有误。读脏数据:事务1对数据A进行了修改后,事务2读数据A,而后事务1回滚,数据A恢复了原来的。https://shuaici.blog.csdn.net/article/details/139778680