Been trying to get the very basics of how wiredTiger (WT) works in MongoDB. I'm only interested in 3.6+

But the docs aren't enough on this matter. This is what I got by bits:

Standard behaviour

  1. Write operations are buffered in-memory (in a snapshot)

  2. Memory is flushed every minute (snapshot written to disk),

    a. option is --syncdelay

  3. And Creates a checkpoint of data (write on-disk, data now durable).

And if journaling is enabled (adding up to standard behaviour):

  • journal helps the system to recover from checkpoint till crash-time
  • WT uses writes to an on-disk journal file
  • Journal entries are first buffered in memory
  • then they are sync to disk every .1 seconds

I'm just checking if this interpretation is correct at a high level, and if you know any extra details or literature to get a better idea.

  • 2
    Welcome to StackExchange. It will nice if you list the documents you consulted so far. – SqlWorldWide Nov 1 '20 at 2:03
  • I recommend starting with the Storage FAQ for your version of MongoDB server as there are some differences between major server releases. I would start with How frequently does WiredTiger write to disk. If you have questions on specific documentation, it would be best to include links/context for any docs you referenced and whatever isn't clear. Your description is on the right track, but operations like checkpoints & journalling are based on documented data size limits and configurable time intervals. – Stennie Nov 2 '20 at 1:32
  • Since you have multiple questions rather than a single answerable question, this may also be a better discussion for the MongoDB Developer Community Forums. – Stennie Nov 2 '20 at 1:32
  • @SqlWorldWide thanks. done – mister nobody Nov 2 '20 at 14:42
  • @Stennie thanks! will read that one now, and try the dev forum – mister nobody Nov 2 '20 at 14:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.