title: WiredTiger and in-place updates
body: <p>I have a collection of users. Each user has a field &quot;geoposition&quot; that is updated quite often (every time the user moves significantly). As I want concurrency on the document level instead of the collection level when updating, I am using the WiredTiger storage engine.</p>
  <p>I learned that with WiredTiger every update in the document results in the creation of a new document:</p>
  <blockquote>
  <p><a href="http://learnmongodbthehardway.com/schema/wiredtiger/" rel="nofollow noreferrer">http://learnmongodbthehardway.com/schema/wiredtiger/</a></p>
  <p>WiredTiger does not support in place updates</p>
  </blockquote>
  <p>However, this article also says that &quot;Even though [WiredTiger] does not allow for in-place updates, <strong>it could still perform better than MMAP for many workloads</strong>&quot;. What does it mean? What are the exact implications that I must be aware of when I use WiredTiger? For example, without in-place updates will the database size grow quickly? Are there other things to be aware of?</p>
  <p>I also learned that WiredTiger in MongoDB 3.6 added the capability to store deltas rather than re-writing the entire document (<a href="https://jira.mongodb.org/browse/DOCS-11416" rel="nofollow noreferrer">https://jira.mongodb.org/browse/DOCS-11416</a>). What does this mean, exactly?</p>
  <p><strong>NOTE:</strong> Also what I don't understand is that nowadays most (if not all) hard drives have a sector size of 4096 bytes, so you cannot write to the hard drive only 4 bytes (for example) but instead must write the full block of 4096 bytes (so read it first, update the 4 bytes in it and then write it). As most document are often &lt; 4096 bytes does this mean that re-writing the whole document is necessary in any case (even with MMAP). What did I miss?</p>