Skip to content

DOCS-4559: adds new glossary terms for 2.8 #2093

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 14 additions & 8 deletions source/core/storage.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ collections. Each database has a distinct set of data files and can
contain a large number of collections. A single MongoDB deployment may
have many databases.

.. _storage-wiredtiger:

WiredTiger Storage Engine
-------------------------

Expand Down Expand Up @@ -61,7 +63,7 @@ the data files are *always* valid.
The WiredTiger journal persists all data modifications between
checkpoints. If MongoDB exits between checkpoints, it uses the journal
to replay all data modified since the last checkpoint. By default the
WiredTiger journal is compressed using the ``snappy`` algorithm.
WiredTiger journal is compressed using the :term:`snappy` algorithm.

You can disable journaling by setting :setting:`storage.journal.enabled`
to ``false``, which can reduce the overhead of maintaining the
Expand All @@ -71,27 +73,31 @@ unexpectedly between
checkpoints. For members of :term:`replica sets <replica set>`, the replication
process may provide sufficient durability guarantees.

.. _storage-wiredtiger-compression:

Compression
~~~~~~~~~~~

MongoDB supports compression for all collections and indexes using
both block and prefix compression. Compression minimize storage use at the
expense of additional computational requirements.
both block and :term:`prefix compression`. Compression minimizes storage use at the
expense of additional CPU.

By default all indexes with the WiredTiger engine use prefix compression
enabled. Also, by default all collections with WiredTiger use block
compression with the ``snappy`` algorithm. Compression with ``zlib``
compression is also available.
By default, all indexes with the WiredTiger engine use :term:`prefix compression`.
Also, by default all collections with WiredTiger use block
compression with the :term:`snappy` algorithm. Compression with :term:`zlib`
is also available.

You can modify the default compression settings for all collections
and indexes. Compression is also configurable on a per-collection and
per-index basis during collection and index creation.

For most workloads the default compression settings balance storage
For most workloads, the default compression settings balance storage
efficiency and processing requirements.

.. TODO add link to wiredTiger configuration

.. _storage-mmapv1:

MMAPv1 Storage Engine
---------------------

Expand Down
18 changes: 9 additions & 9 deletions source/includes/options-mongod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1614,31 +1614,31 @@ description: |

- ``none``

- ``snappy``
- :term:`snappy`

- ``zlib``
- :term:`zlib`
---
program: mongod
name: wiredTigerCollectionBlockCompressor
directive: option
optional: true
default: "snappy"
default: "none"
args: "<compressor>"
description: |

.. versionadded:: 2.8.0

Specifies the default type of compression to use to compress collection
data. You can override this on a per-collection basis when creating
collections.
Specifies the default type of compression to use to compress index
data. You can override this on a per-index basis when creating
indexes.

Available compressors are:

- ``none``

- ``snappy``
- :term:`snappy`

- ``zlib``
- :term:`zlib`
---
program: mongod
name: wiredTigerIndexPrefixCompression
Expand All @@ -1650,6 +1650,6 @@ description: |

.. versionadded:: 2.8.0

Specify ``true`` for {{role}} to enable prefix compression for
Specify ``true`` for {{role}} to enable :term:`prefix compression` for
index data.
...
25 changes: 25 additions & 0 deletions source/reference/glossary.txt
Original file line number Diff line number Diff line change
Expand Up @@ -615,6 +615,12 @@ Glossary
:doc:`/reference/command/collMod` and
:collflag:`usePowerOf2Sizes`.

prefix compression
Reduces memory and disk consumption by storing any identical index
key prefixes only once, per page of memory. See:
:ref:`storage-wiredtiger-compression` for more about WiredTiger's
compression behavior.

pre-splitting
An operation performed before inserting data that divides the
range of possible shard key values into chunks to facilitate easy
Expand Down Expand Up @@ -817,6 +823,16 @@ Glossary
information on master/slave replication, see
:doc:`/core/master-slave`.

snappy
A compression/decompression library designed to balance
efficient computation requirements with reasonable compression rates.
Snappy is the default compression
library for MongoDB's use of ':ref:`WiredTiger
<storage-wiredtiger>`. See: `Snappy
<https://code.google.com/p/snappy/>`_ and the `WiredTiger compression
documentation <http://source.wiredtiger.com/2.4.1/compression.html>`_
for more information.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would make it clear that this is the default for mongodb's use of wiredtiger.

designed for... > "designed to balance efficient computation requirements with reasonable compression rates'

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done!


split
The division between :term:`chunks <chunk>` in a :term:`sharded
cluster`. See :doc:`/core/sharding-chunk-splitting`.
Expand Down Expand Up @@ -961,3 +977,12 @@ Glossary
relevant chunk get applied to the proper shard. For related
information, see :ref:`faq-writebacklisten` and
:ref:`server-status-writebacksqueued`.

zlib
A data compression library that provides higher compression rates
at the cost of more CPU, compared to MongoDB's use of
:term:`snappy`. You can configure :ref:`WiredTiger
<storage-wiredtiger>` to use zlib as its compression library. See:
http://www.zlib.net and the `WiredTiger compression documentation
<http://source.wiredtiger.com/2.4.1/compression.html>`_ for more
information.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should mention that zlib provides an implementation of the DEFLATE/INFLATE compression algorithm. also mention that it's the same as gzip

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done!

4 changes: 2 additions & 2 deletions source/release-notes/2.8.txt
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,9 @@ options. You can set :ref:`WiredTiger options on the command line
All existing server, database, and collection reporting exposes
statistics from WiredTiger.

WiredTiger compresses collection data by default using ``snappy``.
WiredTiger compresses collection data by default using :term:`snappy`.

WiredTiger uses prefix compression on all indexes by default.
WiredTiger uses :term:`prefix compression` on all indexes by default.

Increased Number of Replica Set Members
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down