1

我正在创建一个基于 mongoDB/nodejs 的 CMS,并且我正在使用 GridFS 来存储所有上传的文档。我的问题是:

MongoDB 复制集是否允许增加数据库存储量,或者只是复制数据库。例如,如果我有 5 台服务器,每台服务器都有 1TB 的存储空间,如果我在所有服务器上复制 mongo,我的 GridFS 系统理论上是否会具有 5TB 的存储空间(减去缓存和填充)或 1TB 的存储空间重复多次以获得更好的读取性能?

谢谢!

4

3 回答 3

3

非正式描述:

复制 = 多个节点上的相同数据副本,即 5 个节点各 1TB,总共提供 1TB。

分片/分区 = 数据的一部分进入节点,即 5 个 1TB 的节点总共提供 5TB。

每种方法都有某些优点和缺点,例如,复制可以帮助提高读取吞吐量并且作为备份很好,但会减慢插入速度(取决于提交级别),而分区可以帮助提高插入吞吐量和分布式查找。同样,细节留给存储系统实施者。

于 2011-12-16T14:38:35.063 回答
2

Sharding意味着将数据拆分到多个节点,这在您拥有大量数据时很有用。

Replication意味着将数据从一个节点复制到另一个节点,例如,当您的应用程序读取繁重或您想要备份数据时,它很有用。

资源:

http://www.mongodb.org/display/DOCS/Sharding
http://www.mongodb.org/display/DOCS/Replication
http://nosql-exp.blogspot.com/2010/09/mongodb-sharding- and-replication-with.html

于 2011-12-16T14:55:28.393 回答
1

MongoDB 复制集是否允许增加数据库存储量,或者只是复制数据库。

Mongo 两者都可以。

第一种情况称为sharding

第二种情况称为replication

于 2011-12-16T14:38:08.527 回答