Skip to content

Commit ebc9c84

Browse files
author
Bob Grabar
committed
DOCS-831 review edits
1 parent 180ab42 commit ebc9c84

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

source/core/sharding-internals.txt

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -537,27 +537,31 @@ returned document does not include the ``isdbgrid`` string.
537537
Shard GridFS Documents
538538
----------------------
539539

540-
One common way to shard :term:`GridFS` is to do so based on pre-existing
541-
indexes and to configure the shard as follows:
540+
A common way to shard :term:`GridFS` is to configure the shard as follows:
542541

543-
- Do not shard the "files" collection. This means all the file-metadata
544-
documents live on one shard. It is highly recommended that the shard
545-
is a replica set with at least three members, for resiliency.
542+
- Do not shard the ``files`` collection, as the keys in this collection do
543+
not easily lend themselves to even distributions.
546544

547-
- Shard the "chunks" collection using the index "files_id: 1". You must
548-
create this separate index. Do not use the existing "files_id, n"
549-
index created by the drivers.
545+
Leaving ``files`` unsharded means that all the file metadata documents
546+
live on one shard. It is recommended that the shard is a replica set
547+
with at least three members, for high availability.
550548

551-
The new "files_id" index ensures that all chunks of a given file live
552-
on the same shard, which is safer and allows FileMD5 hashing.
549+
- Shard the ``chunks`` collection using a new ``files_id : 1 , n : 1``
550+
index. You must create this index. Do not use the existing
551+
``files_id : 1 , n : 1`` index already created by the drivers.
553552

554-
To shard "chunks" by "files_id", issue commands similar to the following:
553+
The new ``files_id : 1 , n : 1`` index ensures that all chunks of a
554+
given file live on the same shard, which is safer and allows FileMD5
555+
hashing.
556+
557+
To shard the ``chunks`` collection by ``files_id : 1 , n : 1``, issue
558+
commands similar to the following:
555559

556560
.. code-block:: javascript
557561

558-
db.fs.chunks.ensureIndex( { files_id : 1 } )
562+
db.fs.chunks.ensureIndex( { files_id : 1 , n : 1 } )
559563

560-
db.runCommand( { shardcollection : "test.fs.chunks" , key : { files_id : 1 } } )
564+
db.runCommand( { shardcollection : "test.fs.chunks" , key : { files_id : 1 , n : 1 } } )
561565

562566
The default ``files_id`` is an :term:`ObjectId`. The ``files_id`` is
563567
ascending, and all GridFS chunks are sent to a single sharding chunk.

0 commit comments

Comments
 (0)