该表的方式过时了:
- 主从复制,取而代之的副本集已弃用对于初学者,也一致性是错误的那里。您需要完全重读MongoDB文档的这一部分。
- Map/Reduce只是JavaScript,没有其他的。
- 我不知道附件中的表格是什么意思,但GridFS是内置于驱动程序中的存储标准,可帮助您更轻松地在MongoDB中存储大文件。元数据也通过这种方法得到支持。
- MongoDB在2.2版本上,所以它之前提到的任何版本现在已经过时(即分片和单服务器耐久性)。
我没有用CouchDBs接口存储文件的个人经验,但是如果两者之间几乎没有任何区别,我不会感到惊讶。我认为这部分对我们来说太过主观,我们不能回答,你只需要选择哪一套更好。
实际上可以构建多区域的MongoDB集群(其中S3存储区不可以在没有工作的情况下进行复制),并通过MongoDB将世界上特定地区的访问最多的文件复制到这些集群中。
我的意思是我有时发现的主要结果是MongoDB可以像S3和Cloudfront一样组装起来,这很好,因为您拥有冗余存储和分配数据的能力。
然而,据说S3在这里是非常有效的选择,我会认真试一试,你可能不会在内容网络中寻找和我一样的东西。
文件的数据库存储没有严重的缺点,但速度不应该是一个巨大的问题,因为您应该从无Cloudfront的S3获得相同的速度,您应该从MongoDB获得相同的速度(请记住S3是一个冗余存储网络,而不是CDN)。
如果您要使用S3,那么您将在数据库中存储一行指向该文件并包含关于该文件的元数据。
感谢您的信息。 NoSql是亚马逊用于S3/DynamoDB的什么?如果它对文件存储有好处,也许这将是另一种选择(使用他们的数据库)。或者下一个类似的NoSql到S3/DynamoDB是什么? – silla
我不确定他们在S3后面使用的技术我认为他们使用高IOP文件系统服务器作为一个集群在数据中心的单个子区域内集群(即没有弗吉尼亚州区域存在只有美国存储桶)prolly优化专用SSD支持。他们可能会使用数据库来跟踪文件段,但我不确定它背后的技术。我相信Dynamo是他们自己的技术,就像Facebook创建的Cassandra一样,我认为它是有限的,如果它允许的话,它对于文件存储来说是相当昂贵的,并且对于某些文件的需求可能太慢。 – Sammaye