Home Page Icon
Home Page
Table of Contents for
Cover
Close
Cover
by Kristina Chodorow
50 Tips and Tricks for MongoDB Developers
Preface
Who This Book Is For
Conventions Used in This Book
Using Code Examples
Safari® Books Online
How to Contact Us
1. Application Design Tips
Tip #1: Duplicate data for speed, reference data for integrity
Example: a shopping cart order
Decision factors
Tip #2: Normalize if you need to future-proof data
Tip #3: Try to fetch data in a single query
Example: a blog
Example: an image board
Tip #4: Embed dependent fields
Tip #5: Embed “point-in-time” data
Tip #6: Do not embed fields that have unbound growth
Tip #7: Pre-populate anything you can
Tip #8: Preallocate space, whenever possible
Tip #9: Store embedded information in arrays for anonymous access
Tip #10: Design documents to be self-sufficient
Tip #11: Prefer $-operators to JavaScript
Behind the scenes
Getting better performance
Tip #12: Compute aggregations as you go
Tip #13: Write code to handle data integrity issues
2. Implementation Tips
Tip #14: Use the correct types
Tip #15: Override _id when you have your own simple, unique id
Tip #16: Avoid using a document for _id
Tip #17: Do not use database references
Tip #18: Don’t use GridFS for small binary data
Tip #19: Handle “seamless” failover
Tip #20: Handle replica set failure and failover
3. Optimization Tips
Tip #21: Minimize disk access
Fuzzy Math
Tip #22: Use indexes to do more with less memory
Tip #23: Don’t always use an index
Write speed
Tip #24: Create indexes that cover your queries
Tip #25: Use compound indexes to make multiple queries fast
Tip #26: Create hierarchical documents for faster scans
Tip #27: AND-queries should match as little as possible as fast as possible
Tip #28: OR-queries should match as much as possible as soon as possible
4. Data Safety and Consistency
Tip #29: Write to the journal for single server, replicas for multiserver
Tip #30: Always use replication, journaling, or both
Tip #31: Do not depend on repair to recover data
Tip #32: Understand getlasterror
Tip #33: Always use safe writes in development
Tip #34: Use w with replication
Tip #35: Always use wtimeout with w
Tip #36: Don’t use fsync on every write
Tip #37: Start up normally after a crash
Tip #38: Take instant-in-time backups of durable servers
5. Administration Tips
Tip #39: Manually clean up your chunks collections
Tip #40: Compact databases with repair
Tip #41: Don’t change the number of votes for members of a replica set
Tip #42: Replica sets can be reconfigured without a master up
Tip #43: --shardsvr and --configsvr aren’t required
Tip #44: Only use --notablescan in development
Tip #45: Learn some JavaScript
Tip #46: Manage all of your servers and databases from one shell
Tip #47: Get “help” for any function
Tip #48: Create startup files
Tip #49: Add your own functions
Loading JavaScript from files
Tip #50: Use a single connection to read your own writes
About the Author
Copyright
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
O'Reilly Strata Conference
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset