gpt4 book ai didi

用于存储文件 + 复制的 MongoDB/CouchDB?

转载 作者:可可西里 更新时间:2023-11-01 09:19:55 24 4
gpt4 key购买 nike

如果我想存储大量文件并复制数据库,哪种 NoSql 数据库最适合这种工作?

我正在测试 MongoDB 和 CouchDB,这些数据库非常好用且易于使用。如果可能的话,我会使用其中之一来存储文件。现在我明白了 Mongo 和 Couch 之间的区别,但我无法解释哪个更适合存储文件。如果我说的是存储文件,我指的是 10-50MB 的文件,但也可能是 50-500MB 的文件 - 可能还有很多更新。

我在这里找到了一张漂亮的 table :

enter image description here

http://weblogs.asp.net/britchie/archive/2010/08/17/document-databases-compared-mongodb-couchdb-and-ravendb.aspx

仍然不确定这些属性中的哪一个最适合文件存储和复制。但也许我应该选择另一个 NoSql 数据库?

最佳答案

那个表已经过时了:

  • 主从复制已被弃用,取而代之的是初学者的副本集,而且那里的一致性也是错误的。您需要完全重新阅读有关 MongoDB 文档的这一部分。
  • Map/Reduce 只有 JavaScript,没有其​​他的。
  • 我不知道该表的附件是什么意思,但 GridFS 是一种内置于驱动程序中的存储标准,有助于更轻松地在 MongoDB 中存储大文件。这种方法也支持元数据。
  • MongoDB 的版本是 2.2,因此它之前提到的任何关于版本的内容现在都已过时(即分片和单服务器持久性)。

我没有使用 CouchDBs 接口(interface)存储文件的个人经验,但是如果两者之间几乎没有任何区别,我不会感到惊讶。我认为这部分太主观了,我们无法回答,您只需要选择更适合您的套房即可。

实际上可以构建多区域的 MongoDB 集群(S3 存储桶没有也不能在没有工作的情况下复制)并通过 MongoDB 将世界特定地区访问最多的文件复制到这些集群。

我的意思是,我有时发现的主要结果是 MongoDB 可以像 S3 和 Cloudfront 结合在一起一样工作,这很棒,因为您拥有冗余存储和分发数据的能力。

然而,据说 S3 在这里是非常有效的选择,我会认真地试一试,您可能不会在内容网络中寻找与我相同的东西。

文件的数据库存储并非没有严重的缺点,但是速度在这里不应该是一个大问题,因为你应该从一个没有 Cloudfront 的 S3 获得与你应该从 MongoDB 获得的速度相同的速度(记住 S3 是一个冗余存储网络,而不是 CDN)。

如果您要使用 S3,那么您将在数据库中存储一行,该行指向该文件并包含有关它的元数据。

关于用于存储文件 + 复制的 MongoDB/CouchDB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13869162/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com