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

文章讨论了在NoSQL数据库技术中,如何使用GridFS框架处理大文件存储问题,包括拆分存储、分布式存储原理以及块大小设定的考虑。还涉及MongoDB的版本更新和课后习题解答,展示了技术发展对存储需求的影响。
摘要由CSDN通过智能技术生成

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


问1:“ GridFS 框架可以更好的存储大于16M的文件”,没有 GridFS 的时候怎么解决大文件问题?(P179)

答:在搜索到的资料中,十几年前的数据特点之一是量少和大小相对于现在较小,这类文件一般使用拆分存储,直接存储在内存中。而在社交网络流行、大数据兴起之后,大文件从MB级别到GB级别不等,本地几块硬盘已经无法满足存储需求。现在采用的存储方式常与一个概念“分布式存储”有关,而GridFS就是MongoDB的分布式文件存储系统。查阅的资料里谈到:“分布式存储通过将大文件拆分成固定大小的块,分别存储在不同存储节点上,可以实现并发高速写作,即一个文件众多磁盘相应;也可以实现众多磁盘一起参与读取,并发性远远高于一块盘的性能。”从MongoDB将1.8版本中doc的上限已经从4M上调到16M,也可以看出数据越来越大、越来越多的发展情况。

【补充】:根据中存储网里计算机存储历史这一网页(存储历史,回顾计算机存储发展历史,软盘、硬盘、内存、存储器、磁带、SSD等发明时间 - 中国存储网www.chinastor.com)可以看出“下一代存储”句话对应数据越来越大、越来越多时期。


问2:为什么块的大小是255KB?小于此大小会有什么结果?大于此大小呢?(P179)

答:若把每块的空间划分过大,则可能造成最后一块空间浪费过多;若每块空间划分过小,则过于分散压力大。(书上有一句话:“最后一个块除外,最后一个块的大小由实际剩余情况而定”(P179),此处实际情况指前面块分完后剩下的大小。会占用一整个块。)

【注意】:“默认情况下,GridFS使用块大小为255KB。”(P179),与假设大块中块大小为1023KB,是因为数据块中存储二进制数据(P180)。其中“默认情况”表明也可以自己根据需求设置其它大小块。


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

一、填空题

1.16(P179) 2.fs.chunks fs.files(P180) 3.mongofiles(P181) 4.二进制(P180) 5.MongoDB(P179)

二、判断题

1.√(P179) 2.×(P180) 3.√(P180) 4.×(P180)

三、选择题

1.D(P181) 2.ABD(P180)


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值