List of Figures

Chapter 1. A database for the modern web

Figure 1.1. A basic relational data model for entries on a social news site. The line terminator that looks like a cross represents a one-to-one relationship, so there’s only one row from the images table associated with a row from the posts table. The line terminator that branches apart represents a one-to-many relationship, so there can be many rows in the comments table associated with a row from the posts table.

Figure 1.2. A portion of the schema for an e-commerce application. These tables facilitate dynamic attribute creation for products.

Figure 1.3. Automated failover with a replica set

Figure 1.4. Horizontal versus vertical scaling

Chapter 2. MongoDB through the JavaScript shell

Figure 2.1. MongoDB JavaScript shell on startup

Chapter 3. Writing programs using MongoDB

Figure 3.1. MongoDB object ID format

Figure 3.2. Tweet Archiver output rendered in a web browser

Chapter 6. Aggregation

Figure 6.1. Aggregation pipeline: the output of each operation is input to the next operation.

Figure 6.2. Example aggregation framework pipeline

Figure 6.3. Data model summarizing e-commerce collections and relationships

Figure 6.4. Reviews summary

Figure 6.5. Selecting targeted customers

Figure 6.6. map-reduce process

Chapter 7. Updates, atomic operations, and deletes

Figure 7.1. An initial category hierarchy

Figure 7.2. Adding a Gardening category

Figure 7.3. The category tree in its final state

Figure 7.4. When a review is updated concurrently via targeted and replacement updates, data can be lost.

Figure 7.5. Order state transitions

Chapter 8. Indexing and query optimization

Figure 8.1. A compound index inside a cookbook

Figure 8.2. Single-key index traversal

Figure 8.3. Compound-key index traversal

Figure 8.4. A compound-key index with the keys reversed

Figure 8.5. Sample B-tree structure

Chapter 9. Text search

Figure 9.1. Search results from search for term “java” at www.manning.com

Figure 9.2. Results from searching for term “script” on www.manning.com

Figure 9.3. Page ranking based on importance of pages linking to a page

Figure 9.4. Searching results in more than just books.

Figure 9.5. A search showing how a book can appear more than once

Figure 9.6. Search on Amazon using the term “apple” and illustrating the use of faceted search

Figure 9.7. Text search string processing

Chapter 10. WiredTiger and pluggable storage

Figure 10.1. The read performance of MMAPv1 and WiredTiger

Figure 10.2. MongoDB multiple storage engines support mechanisms

Figure 10.3. Root node with three elements

Figure 10.4. Early version of B-tree

Figure 10.5. Final version of B-tree

Chapter 11. Replication

Figure 11.1. A basic replica set consisting of a primary, a secondary, and an arbiter

Figure 11.2. A three-node replica set with members in two datacenters

Chapter 12. Scaling your system with sharding

Figure 12.1. Components in a MongoDB shard cluster

Figure 12.2. Levels of granularity available in a sharded MongoDB deployment

Figure 12.3. A map of processes comprising the sample shard cluster

Figure 12.4. The chunk distribution of the spreadsheets collection

Figure 12.5. Targeted and global queries against a shard cluster

Figure 12.6. The ascending shard key causing all writes to go to one chunk.

Figure 12.7. Splitting a chunk that was previously unsplittable when sharding only on username

Figure 12.8. Overview of two ways an email application might be sharded

Figure 12.9. A two-shard cluster deployed across four machines

Figure 12.10. A two-shard cluster deployed across six machines and two datacenters

Chapter 13. Deployment and administration

Figure 13.1. The minimum single node, replica set, and sharded cluster setups, as well as their purpose

Figure 13.2. A simplified visualization of how MongoDB depends on the operating system and hardware

Figure 13.3. Man-in-the-middle attack

Figure 13.4. The impact on disk usage when the working set exceeds RAM

Appendix B. Design patterns

Figure B.1. Threaded comments in a forum

Appendix C. Binary data and GridFS

Figure C.1. Storing a file with GridFS using 256 KB chunks on a MongoDB server prior to v2.4.10

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset