Book description
Getting started with MongoDB is easy, but once you begin building applications with it, you'll face some complex issues. What are the tradeoffs between normalized and denormalized data? How do you handle replica set failure and failover? This collection of MongoDB tips, tricks, and hacks helps you resolve issues with everything from application design and implementation to data safety and monitoring.
You get specific guidance in five topic areas directly from engineers at 10gen, the company that develops and supports this open source database:
- Application Design Tips: What to keep in mind when designing your schema
- Implementation Tips: Programming applications against MongoDB
- Optimization Tips: Speeding up your applications
- Data Safety Tips: Using replication and journaling to keep data safe—without sacrificing too much performance
- Administration Tips: How to configure MongoDB and keep it running smoothly
Publisher resources
Table of contents
- 50 Tips and Tricks for MongoDB Developers
- SPECIAL OFFER: Upgrade this ebook with OâReilly
- Preface
-
1. Application Design Tips
- Tip #1: Duplicate data for speed, reference data for integrity
- Tip #2: Normalize if you need to future-proof data
- Tip #3: Try to fetch data in a single query
- 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
- 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
- Tip #22: Use indexes to do more with less memory
- Tip #23: Donât always use an index
- 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
- Tip #50: Use a single connection to read your own writes
- About the Author
- SPECIAL OFFER: Upgrade this ebook with OâReilly
- Copyright
Product information
- Title: 50 Tips and Tricks for MongoDB Developers
- Author(s):
- Release date: April 2011
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781449308674
You might also like
book
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to …
book
Generative Deep Learning, 2nd Edition
Generative AI is the hottest topic in tech. This practical book teaches machine learning engineers and …
book
Effective Java, 3rd Edition
Since this Jolt-award winning classic was last updated in 2008, the Java programming environment has changed …
book
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 3rd Edition
Through a recent series of breakthroughs, deep learning has boosted the entire field of machine learning. …