返回章节
🗄️ 第11章测试:数据库架构
测试你对数据库架构设计的理解程度
1
在数据库设计中,第三范式(3NF)的主要目的是什么?
确保每个字段都是原子性的,不可再分
消除部分函数依赖
消除传递函数依赖,减少数据冗余
提高查询性能
解析:
第三范式(3NF)的主要目的是消除传递函数依赖,减少数据冗余。它要求非主键字段不能依赖于其他非主键字段,只能依赖于主键。
2
在分库分表策略中,哈希分片的主要优势是什么?
数据分布均匀,负载均衡
支持范围查询
易于扩容
实现简单
解析:
哈希分片的主要优势是数据分布均匀,能够实现良好的负载均衡。通过哈希函数计算分片位置,可以确保数据在各个分片中均匀分布。
3
读写分离架构中,以下哪种情况应该将读操作路由到主库?
所有的SELECT查询
事务内的读操作
复杂的聚合查询
历史数据查询
解析:
在读写分离架构中,事务内的读操作应该路由到主库,以保证数据一致性。因为主从同步存在延迟,事务内的读操作需要读取最新的数据。
4
MySQL主从复制中,binlog的作用是什么?
记录查询操作
记录所有变更操作,用于主从同步
存储索引信息
缓存查询结果
解析:
binlog(二进制日志)记录了主库的所有变更操作(INSERT、UPDATE、DELETE),从库通过读取binlog来同步数据变更。
5
在选择数据库中间件时,以下哪个因素最不重要?
功能需求匹配度
性能表现
界面美观程度
社区活跃度
解析:
数据库中间件主要关注功能、性能、运维复杂度、社区支持等技术因素,界面美观程度对于后端中间件来说并不重要。
6
垂直拆分和水平拆分的主要区别是什么?
垂直拆分按业务功能拆分表,水平拆分按数据量拆分同一个表
垂直拆分性能更好
水平拆分更容易实现
没有本质区别
解析:
垂直拆分是按照业务功能将不同的表拆分到不同的数据库中,水平拆分是将同一个表的数据按照某种规则分散到多个数据库或表中。
7
半同步复制相比异步复制的优势是什么?
性能更好
配置更简单
数据可靠性更高,减少数据丢失风险
占用资源更少
解析:
半同步复制要求主库等待至少一个从库确认接收到binlog后才提交事务,这样可以提高数据可靠性,减少数据丢失的风险。
8
在数据库架构演进中,以下哪种做法是推荐的?
一开始就使用最复杂的架构
从简单架构开始,随业务发展逐步演进
直接使用分库分表
避免使用任何中间件
解析:
推荐从简单架构开始,随着业务发展和需求变化逐步演进。过早优化会增加系统复杂度,而渐进式演进可以在保证系统稳定的前提下满足业务需求。
提交答案
重新测试
0
你的得分