MongoDB 最常见的 10 个错误说法( 三 )


MongoDB 的分片功能一直都在,如果对内存的需求超过了一台计算机的容量,可以使用分片 。你还可以使用分片功能做一些有趣的事情,比如地理位置固定,可以将用户数据存储在离用户位置更近的地方,从而减少延迟 。
在决定使用分片进行数据伸缩时,应该先考虑一下硬件升级是否是一个更有效的选择 。
你可以看看 MongoDB Atlas,MongoDB 的托管数据库即服务(DBaaS)产品 。MongoDB Atlas 不仅可以在你选择的云平台上托管数据库,还可以根据需要伸缩数据库,保持可用性,同时保持较低的成本 。它将负责处理备份和冗余,还提供了额外的功能,如图表、文本搜索、无服务器功能等等 。
7
迷思 6:MongoDB 不安全
关于 MongoDB 的另一个误解,是说它不安全 。我个人认为,这对 MongoDB 来说是一种不公平的评判,但不可否认的是,在互联网上有很多不安全的 MongoDB 实例,而且发生了几起涉及数据泄露的事故 。
从历史上看,这是由于 MongoDB 的发行方式导致的 。一些 linux 发行版曾经在发行 MongoDB 时启用网络并禁用身份验证 。
因此,如果你没有防火墙,或者打开了防火墙上的 MongoDB 端口,那么你的数据就有可能被窃取 。现如今,机器人很可能会找到你的数据,把你的数据加密,然后再加上一个文档向你勒索比特币 。
我想说的是,如果你将一个不受保护的数据库服务器放到互联网上,那就是你的错——这种情况肯定已经发生过很多次了,而且肯定有办法不让事态变得如此糟糕 。
我们对 MongoDB 3.6 的一些默认设置进行了修复 。MongoDB 不会连接到网络,除非启用身份验证,或者你给服务器设置了一个特定标志来覆盖这个行为 。所以,如果使用不当,仍然可能不安全 。不管怎样,你至少要先阅读一下手册 。
除此之外,在安全方面,MongoDB 还使用了行业标准,例如使用 TLS 对传输中的数据进行加密,使用 SCRAM-SHA-256 对用户进行安全认证 。
MongoDB 还提供了客户端字段级加密(FLE)功能,数据在客户端和传输过程中都是经过加密的 。也就是说,如果第三方拿到数据库服务器的访问权限,但没有客户端访问权限,也无法读取加密的数据 。
8
迷思 7:MongoDB 会丢失数据
这在 Hacker News 上是一个很经典的问题 。有人发帖子分享他们如何成功地用 MongoDB 开发了一些东西,然后立刻有人评论说:“我知道这个人曾经把 MongoDB 里所有的数据都弄丢了,所以请避免同样的事情发生 。”
如果你继续联系这些用户,并让他们提交问题,他们就消失了 。
MongoDB 被广泛应用于那些非常关心数据保存问题的行业,从摩根士丹利、巴克莱和汇丰等大型银行,到福布斯等大型出版品牌 。我们从未收到过有关大规模数据丢失的报告 。如果你确实有关于数据丢失的第一手故事要讲,请向我们反馈,无论你是付费企业用户还是开源用户,我们都会认真对待 。
9
迷思 8:MongoDB 只是一个玩具
看到这里,你就已经知道这是一个迷思了 。
MongoDB 是一个用于存储文档的通用数据库,它可以安全、原子地更新数据,可以与其他文档连接,提供了丰富、强大和直观的查询语言 。当你的数据规模大到一台机器装不下,可以进行分片,它还支持高级功能,例如用于保护敏感数据的客户端字段级别加密、可以让应用程序立即响应变更数据的变更流 。
https://developer.mongodb.com/article/everything-you-know-is-wrong




推荐阅读