Synopses & Reviews
How does MongoDB help you manage a huMONGOus amount of data collected through your web application? With this authoritative introduction, you'll learn the many advantages of using document-oriented databases, and discover why MongoDB is a reliable, high-performance system that allows for almost infinite horizontal scalability.
Written by engineers from 10gen, the company that develops and supports this open source database, MongoDB: The Definitive Guide provides guidance for database developers, advanced configuration for system administrators, and an overview of the concepts and use cases for other people on your project. Learn how easy it is to handle data as self-contained JSON-style documents, rather than as records in a relational database.
- Explore ways that document-oriented storage will work for your project
- Learn how MongoDBs schema-free data model handles documents, collections, and multiple databases
- Execute basic write operations, and create complex queries to find data with any criteria
- Use indexes, aggregation tools, and other advanced query techniques
- Learn about monitoring, security and authentication, backup and repair, and more
- Set up master-slave and automatic failover replication in MongoDB
- Use sharding to scale MongoDB horizontally, and learn how it impacts applications
- Get example applications written in Java, PHP, Python, and Ruby
This is the only guide to CouchDB, an innovative, relatively simple, and highly praised database for handling routine document-based information. Apache CouchDB is a new "document-oriented" database that offers users an easier alternative to complex relational databases. Written by three of the core developers of CouchDB, this book provides web developers and other users with a step-by-step guide to the basics of storage and manipulation for document-based information such as contacts, invoices, and receipts.
Discover how MongoDB can help you manage a huMONGOus amount of data collected through your web application. This book covers the basic principles and advanced uses of this document-oriented database, and demonstrates why MongoDB is one of the fastest-growing databases.
Learn how MongoDB handles data as self-contained JSON-style documents, rather than as records in different relational database tables -- and why MongoDB is scalable, high-performance, and reliable. This authoritative introduction, written by two software engineers from the company that develops this open-source database, offers guidance for programmers and advanced configuration for system administrators. The opening chapters about concepts and use cases are ideal for others on the project.
- Explore the power and flexibility of document-oriented storage
- Learn to create, update, and delete documents in MongoDB
- Perform dynamic queries to find data with any criteria
- Learn advanced query techniques with aggregation tools and server-side scripting
- Get up to speed on security and authentication, backup and repair, and more
- Learn advanced configuration, such as replication and sharding
- Discover how to use MongoDB functions through real-world examples
This book covers the basic principles and advanced uses of this document-oriented database, and demonstrates why MongoDB is one of the fastest-growing databases.
Many businesses launch NoSQL databases without understanding the techniques for using their features most effectively. This book demonstrates the benefits of document embedding, polymorphic schemas, and other MongoDB patterns for tackling specific big data use cases, including:
- Operational intelligence: Perform real-time analytics of business data
- Ecommerce: Use MongoDB as a product catalog master or inventory management system
- Content management: Learn methods for storing content nodes, binary assets, and discussions
- Online advertising networks: Apply techniques for frequency capping ad impressions, and keyword targeting and bidding
- Social networking: Learn how to store a complex social graph, modeled after Google+
- Online gaming: Provide concurrent access to character and world data for a multiplayer role-playing game
About the Author
Rick Copeland is the Principal Consultant and Founder at Arborian Consulting, a business focusing on MongoDB and Python custom development and training. Rick is a frequent speaker at MongoDB events, an avid MongoDB enthusiast, and is a charter member of 10gen's "Masters of MongoDB." In the non-MongoDB side of things, Rick is also a well-known Python developer and member of the Python Software Foundation, having contributed to a number of open-source projects and spoken at various evens and user groups.
Rick is also the author of Essential SQLAlchemy, a book published by O'Reilly that introduces the reader to the excellent SQLAlchemy Python database toolkit.
Table of Contents
Foreword; Preface; How This Book Is Organized; Conventions Used in This Book; Using Code Examples; Safari® Books Online; How to Contact Us; Acknowledgments; Chapter 1: Introduction; 1.1 A Rich Data Model; 1.2 Easy Scaling; 1.3 Tons of Features...; 1.4 ...Without Sacrificing Speed; 1.5 Simple Administration; 1.6 But Wait, That's Not All...; Chapter 2: Getting Started; 2.1 Documents; 2.2 Collections; 2.3 Databases; 2.4 Getting and Starting MongoDB; 2.5 MongoDB Shell; 2.6 Data Types; Chapter 3: Creating, Updating, and Deleting Documents; 3.1 Inserting and Saving Documents; 3.2 Removing Documents; 3.3 Updating Documents; 3.4 The Fastest Write This Side of Mississippi; 3.5 Requests and Connections; Chapter 4: Querying; 4.1 Introduction to find; 4.2 Query Criteria; 4.3 Type-Specific Queries; 4.4 $where Queries; 4.5 Cursors; 4.6 Cursor Internals; Chapter 5: Indexing; 5.1 Introduction to Indexing; 5.2 Unique Indexes; 5.3 Using explain and hint; 5.4 Index Administration; 5.5 Geospatial Indexing; Chapter 6: Aggregation; 6.1 count; 6.2 distinct; 6.3 group; 6.4 MapReduce; Chapter 7: Advanced Topics; 7.1 Database Commands; 7.2 Capped Collections; 7.3 GridFS: Storing Files; 7.4 Server-Side Scripting; 7.5 Database References; Chapter 8: Administration; 8.1 Starting and Stopping MongoDB; 8.2 Monitoring; 8.3 Security and Authentication; 8.4 Backup and Repair; Chapter 9: Replication; 9.1 Master-Slave Replication; 9.2 Replica Sets; 9.3 Performing Operations on a Slave; 9.4 How It Works; 9.5 Administration; Chapter 10: Sharding; 10.1 Introduction to Sharding; 10.2 Autosharding in MongoDB; 10.3 The Key to Sharding: Shard Keys; 10.4 Setting Up Sharding; 10.5 Production Configuration; 10.6 Sharding Administration; Chapter 11: Example Applications; 11.1 Chemical Search Engine: Java; 11.2 News Aggregator: PHP; 11.3 Custom Submission Forms: Ruby; 11.4 Real-Time Analytics: Python; Installing MongoDB; Choosing a Version; Windows Install; POSIX (Linux, Mac OS X, and Solaris) Install; mongo: The Shell; Shell Utilities; MongoDB Internals; BSON; Wire Protocol; Data Files; Namespaces and Extents; Memory-Mapped Storage Engine; Colophon;