The Journey of 100DaysofCode aka 100DaysofMongoDB (@Aasawari_24)

Day17 as #100DaysofMongoDB as #100daysofcode

I recently came across something very interesting important when you come across MongoDB which is Wired Tiger.
I found it to very effective part of discussion topic and hence this has made it here to my 100DaysofLearning MongoDB

Wired Tiger data engine is a high performance, scalable, transactional, production quality, open source, NoSQL data engine.

What Wired Tiger provides?

Wired Tiger comes with the benefit of

  1. Document level concurrency
  2. In-memory Performance
  3. Multiple-core scalability
  4. Checksums
  5. Compression
  6. Durability with and without journaling

Background

The question arrises is why do we need a new storage engine?
The answer to is as:

  1. The need to minimal contention between the threads
  2. Can make maximum use of available cache
  3. Take the advantage of parallel programming

Getting the data on every query from the disk, is always very costly. hence making use of Hazard pointers in wiredTiger was an effective solution.

Architecture

The WiredTiger architecture remains independent of the way you access the data and also the driver for the query language, only the way data is being stored in the changes.
The WiredTiger stores the data in tow formats:

WiredTiger supports both row-oriented storage (where all columns of a row are stored together), and column-oriented storage (where groups of columns are stored in separate files), resulting in more efficient memory use

Let’s understand more about how the data is stored in WiredTiger and different aspects which it provides in the next upcoming posts.

Thanks
Aasawari

2 Likes