根据《NoSQL》数据库技术与应用一书内容的衍生问题与回答·第1章 初识 NoSQL

文章讨论了NoSQL数据库兴起的关键因素,强调其在海量数据处理中的优势,以及高性能与高并发的区别。还涉及了高并发系统设计要素和NoSQL在SQL优化中的作用。最后给出了《NoSQL》教材第一章的相关习题答案.

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:此系列根据作者在《NoSQL》数据库技术与应用一书校园课堂上,对于老师的提问地收集与回答,“(P1)”为此书书页。部分为开放性问题,若有错误,欢迎提出与指正;若有疑问与补充,欢迎在评论区探讨。望各位理性发言、友好交流、互相进步。


问1:NoSQL兴起地决定性因素是什么?(P1)

答:数据的产生由产出量相对较少的媒体等转变为了人人(用户)都可以产生,使用场景和需求越来越大,算力、存储、成本等基础设施也在良性发展。在数据被大量需求的时代,NoSQL作为传统关系数据库的补充,能弥补传统关系数据库在这些方面的不足,满足海量数据的存储、访问和管理。


问2:高性能是否是NoSQL的特点之一?(P2)

答:在NoSQL被推出以及兴起的阶段,NoSQL被广泛使用的原因之一就是对数据处理具有高性能特点,搜索资料后发现经常有将“高性能”和“高并发”两个概念相等同的情况。而根据这份网友Lowry的回答(我没有高并发项目经验,但是面试的时候经常被问到高并发、性能调优方面的问题,有什么办法可以解决吗? - 知乎 (zhihu.com)

高并发绝不意味着只追求高性能,这是很多人片面的理解。从宏观角度看,高并发系统设计的目标有三个:高性能、高可用,以及高可扩展。

高性能:性能体现了系统的并行处理能力,在有限的硬件投入下,提高性能意味着节省成本;高可用:表示系统可以正常服务的时间;高扩展:表示系统的扩展能力,流量高峰时能否在短时间内完成扩容,更平稳地承接峰值流量。

我更赞同高并发需要将高性能、高可用、高扩展结合来看。再回到问题本身,性能不理想的系统中有一部分原因是应用程序的负载超过了服务器的实际处理能力,更多的原因是系统存在大量的SQL语句需要优化。进行数据库可以分别从SQL及索引、数据库表结构、系统配置、硬件几个方面进行,其中顺次成本花费越大,优化效果从高到低。其中SQL相关优化可以从表设计、语句和查询、建立高效索引、强制查询转换等方面着手。综上,对于高性能这一概念,NoSQL在这一方面普遍做得很好,但这并不仅仅是NoSQL独有的特点,经过处理SQL也能够达到。

【补充】:常见的高并发场景:淘宝天猫双十一、春运抢票、微博热点等访问量大流量大的使用情景。


1.6课后习题答案(标注页数为书中对应答案出处)

一、填空题

1.高效率存储和访问需求(P1) 2.NoSQL(P2)

3.非关系型 不提供SQL(P2 【注意】:1998年的概念是“不提供SQL”功能,而现在含义“实际上,NoSQL 是 Not Only SQL 的缩写,它的含义为‘不仅仅是SQL’”,后面一句指对“SQL没必要”说法的回应,和NoSQL不提供SQL功能不冲突。)

4.CAP原则 最终一致性(P3) 5.键值对存储数据库 列式存储数据库(P8)

二、判断题

1.×(P2) 2.√(P2) 3.√(P5) 4.×(P6) 5.√(P7)

三、选择题

1.A(P8) 2.C(P8、9) 3.D(P10)


以上为《NoSQL》数据库技术与应用(版次:2020年10月第1版,印次:2023年8月第8次印刷) 第一章初识 NoSQL 相关衍生问题与回答。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值