刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

试题四(25分)

阅读以下关于数据管理的叙述,在答题纸上回答问题1至问题3。

【说明】

某社交媒体企业开发了一套新闻社交类软件,提供常见的新闻发布、用户关注、用户推荐、新闻点评、新闻推荐、热点新闻等功能,项目采用关系数据库来存储业务数据。系统上线后,随着用户数量的增加,数据库服务器的压力不断加大。为此,该企业设立了专门的工作组来解决此问题。

孙工提出对数据库进行反范式设计,好处是程序改动比较小,可以较快完成,后续也可以再扩展到数据库集群。钱工认为该系统的诸多功能,并不需要采用关系数据库,甚至关系数据库限制了功能的实现,应该采用 NoSQL数据库来替代,重新构造系统的数据层,由此可以得到分布式数据库的高并发、高可用等许多优良性能。

经过多次讨论,该企业最终决定采用钱工提出的方案。

孙工提议对社交媒体企业的数据库进行反范式设计,请简述反范式设计的常见种类和作用。

使用微信搜索喵呜刷题,轻松应对考试!

答案:

常见的反范式设计的种类有:

① 增加冗余列,是指在多个表中具有相同的列。它常用来在查询时避免连接操作,针对个别字段有效。

② 增加派生列,指增加的列可以通过表中其他数据计算生成。它的作用是在查询时减少计算量,从而加快查询速度。

③ 重新组表,指如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成一个表来减少连接。它的作用是可以提高关联表查询的性能。

④ 水平分割表,按记录进行分割,把数据放到多个独立的表中,主要用于表数据规模很大、表中数据相对独立或数据需要存放到多个介质上时使用。

垂直分割表,对表进行分割,将主键与部分列放到一个表中,主键与其它列放到另一个表中,在查询时减少 I/0 次数。

解析:

本题要求说明常见的反范式设计的种类和作用。参考答案中详细列举了反范式设计的种类,并解释了每种设计的作用。如增加冗余列可以避免查询时的连接操作,提高查询效率;重新组表可以提高关联表查询的性能等。反范式设计的主要作用是提高数据库性能和优化数据库结构,通过合理的反范式设计,可以有效提升数据库的并发处理能力。

创作类型:
原创

本文链接:孙工提议对社交媒体企业的数据库进行反范式设计,请简述反范式设计的常见种类和作用。

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share