MongoDB the definitive guide

Manage the huMONGOus amount of data collected through your web application with MongoDB. This authoritative introduction-written by a core contributor to the project-shows you the many advantages of using document-oriented databases, and demonstrates how this reliable, high-performance system allows...

Descripción completa

Detalles Bibliográficos
Autor principal: Chodorow, Kristina (-)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Beijing : O'Reilly 2013.
Edición:2nd ed
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009628049606719
Tabla de Contenidos:
  • Cover
  • Copyright
  • Table of Contents
  • Foreword
  • Preface
  • How This Book Is Organized
  • Getting Started with MongoDB
  • Developing with MongoDB
  • Replication
  • Sharding
  • Application Administration
  • Server Administration
  • Appendixes
  • Conventions Used in This Book
  • Using Code Examples
  • Safari® Books Online
  • How to Contact Us
  • Acknowledgments
  • Part I. Introduction to MongoDB
  • Chapter 1. Introduction
  • Ease of Use
  • Easy Scaling
  • Tons of Features...
  • ...Without Sacrificing Speed
  • Let's Get Started
  • Chapter 2. Getting Started
  • Documents
  • Collections
  • Dynamic Schemas
  • Naming
  • Databases
  • Getting and Starting MongoDB
  • Introduction to the MongoDB Shell
  • Running the Shell
  • A MongoDB Client
  • Basic Operations with the Shell
  • Data Types
  • Basic Data Types
  • Dates
  • Arrays
  • Embedded Documents
  • _id and ObjectIds
  • Using the MongoDB Shell
  • Tips for Using the Shell
  • Running Scripts with the Shell
  • Creating a .mongorc.js
  • Customizing Your Prompt
  • Editing Complex Variables
  • Inconvenient Collection Names
  • Chapter 3. Creating, Updating, and Deleting Documents
  • Inserting and Saving Documents
  • Bulk Insert
  • Insert Validation
  • Removing Documents
  • Remove Speed
  • Updating Documents
  • Document Replacement
  • Using Modifiers
  • Upserts
  • Updating Multiple Documents
  • Returning Updated Documents
  • Setting a Write Concern
  • Chapter 4. Querying
  • Introduction to find
  • Specifying Which Keys to Return
  • Limitations
  • Query Criteria
  • Query Conditionals
  • OR Queries
  • not
  • Conditional Semantics
  • Type-Specific Queries
  • null
  • Regular Expressions
  • Querying Arrays
  • Querying on Embedded Documents
  • where Queries
  • Server-Side Scripting
  • Cursors
  • Limits, Skips, and Sorts
  • Avoiding Large Skips
  • Advanced Query Options
  • Getting Consistent Results.
  • Immortal Cursors
  • Database Commands
  • How Commands Work
  • Part II. Designing Your Application
  • Chapter 5. Indexing
  • Introduction to Indexing
  • Introduction to Compound Indexes
  • Using Compound Indexes
  • How -Operators Use Indexes
  • Indexing Objects and Arrays
  • Index Cardinality
  • Using explain() and hint()
  • The Query Optimizer
  • When Not to Index
  • Types of Indexes
  • Unique Indexes
  • Sparse Indexes
  • Index Administration
  • Identifying Indexes
  • Changing Indexes
  • Chapter 6. Special Index and Collection Types
  • Capped Collections
  • Creating Capped Collections
  • Sorting Au Naturel
  • Tailable Cursors
  • No-_id Collections
  • Time-To-Live Indexes
  • Full-Text Indexes
  • Search Syntax
  • Full-Text Search Optimization
  • Searching in Other Languages
  • Geospatial Indexing
  • Types of Geospatial Queries
  • Compound Geospatial Indexes
  • 2D Indexes
  • Storing Files with GridFS
  • Getting Started with GridFS: mongofiles
  • Working with GridFS from the MongoDB Drivers
  • Under the Hood
  • Chapter 7. Aggregation
  • The Aggregation Framework
  • Pipeline Operations
  • match
  • project
  • group
  • unwind
  • sort
  • limit
  • skip
  • Using Pipelines
  • MapReduce
  • Example 1: Finding All Keys in a Collection
  • Example 2: Categorizing Web Pages
  • MongoDB and MapReduce
  • Aggregation Commands
  • count
  • distinct
  • group
  • Chapter 8. Application Design
  • Normalization versus Denormalization
  • Examples of Data Representations
  • Cardinality
  • Friends, Followers, and Other Inconveniences
  • Optimizations for Data Manipulation
  • Optimizing for Document Growth
  • Removing Old Data
  • Planning Out Databases and Collections
  • Managing Consistency
  • Migrating Schemas
  • When Not to Use MongoDB
  • Part III. Replication
  • Chapter 9. Setting Up a Replica Set
  • Introduction to Replication
  • A One-Minute Test Setup.
  • Configuring a Replica Set
  • rs Helper Functions
  • Networking Considerations
  • Changing Your Replica Set Configuration
  • How to Design a Set
  • How Elections Work
  • Member Configuration Options
  • Creating Election Arbiters
  • Priority
  • Hidden
  • Slave Delay
  • Building Indexes
  • Chapter 10. Components of a Replica Set
  • Syncing
  • Initial Sync
  • Handling Staleness
  • Heartbeats
  • Member States
  • Elections
  • Rollbacks
  • When Rollbacks Fail
  • Chapter 11. Connecting to a Replica Set from Your Application
  • Client-to-Replica-Set Connection Behavior
  • Waiting for Replication on Writes
  • What Can Go Wrong?
  • Other Options for "w"
  • Custom Replication Guarantees
  • Guaranteeing One Server per Data Center
  • Guaranteeing a Majority of Nonhidden Members
  • Creating Other Guarantees
  • Sending Reads to Secondaries
  • Consistency Considerations
  • Load Considerations
  • Reasons to Read from Secondaries
  • Chapter 12. Administration
  • Starting Members in Standalone Mode
  • Replica Set Configuration
  • Creating a Replica Set
  • Changing Set Members
  • Creating Larger Sets
  • Forcing Reconfiguration
  • Manipulating Member State
  • Turning Primaries into Secondaries
  • Preventing Elections
  • Using Maintenance Mode
  • Monitoring Replication
  • Getting the Status
  • Visualizing the Replication Graph
  • Replication Loops
  • Disabling Chaining
  • Calculating Lag
  • Resizing the Oplog
  • Restoring from a Delayed Secondary
  • Building Indexes
  • Replication on a Budget
  • How the Primary Tracks Lag
  • Master-Slave
  • Converting Master-Slave to a Replica Set
  • Mimicking Master-Slave Behavior with Replica Sets
  • Part IV. Sharding
  • Chapter 13. Introduction to Sharding
  • Introduction to Sharding
  • Understanding the Components of a Cluster
  • A One-Minute Test Setup
  • Chapter 14. Configuring Sharding
  • When to Shard
  • Starting the Servers.
  • Config Servers
  • The mongos Processes
  • Adding a Shard from a Replica Set
  • Adding Capacity
  • Sharding Data
  • How MongoDB Tracks Cluster Data
  • Chunk Ranges
  • Splitting Chunks
  • The Balancer
  • Chapter 15. Choosing a Shard Key
  • Taking Stock of Your Usage
  • Picturing Distributions
  • Ascending Shard Keys
  • Randomly Distributed Shard Keys
  • Location-Based Shard Keys
  • Shard Key Strategies
  • Hashed Shard Key
  • Hashed Shard Keys for GridFS
  • The Firehose Strategy
  • Multi-Hotspot
  • Shard Key Rules and Guidelines
  • Shard Key Limitations
  • Shard Key Cardinality
  • Controlling Data Distribution
  • Using a Cluster for Multiple Databases and Collections
  • Manual Sharding
  • Chapter 16. Sharding Administration
  • Seeing the Current State
  • Getting a Summary with sh.status
  • Seeing Configuration Information
  • Tracking Network Connections
  • Getting Connection Statistics
  • Limiting the Number of Connections
  • Server Administration
  • Adding Servers
  • Changing Servers in a Shard
  • Removing a Shard
  • Changing Config Servers
  • Balancing Data
  • The Balancer
  • Changing Chunk Size
  • Moving Chunks
  • Jumbo Chunks
  • Refreshing Configurations
  • Part V. Application Administration
  • Chapter 17. Seeing What Your Application Is Doing
  • Seeing the Current Operations
  • Finding Problematic Operations
  • Killing Operations
  • False Positives
  • Preventing Phantom Operations
  • Using the System Profiler
  • Calculating Sizes
  • Documents
  • Collections
  • Databases
  • Using mongotop and mongostat
  • Chapter 18. Data Administration
  • Setting Up Authentication
  • Authentication Basics
  • Setting Up Authentication
  • How Authentication Works
  • Creating and Deleting Indexes
  • Creating an Index on a Standalone Server
  • Creating an Index on a Replica Set
  • Creating an Index on a Sharded Cluster
  • Removing Indexes
  • Beware of the OOM Killer.
  • Preheating Data
  • Moving Databases into RAM
  • Moving Collections into RAM
  • Custom-Preheating
  • Compacting Data
  • Moving Collections
  • Preallocating Data Files
  • Chapter 19. Durability
  • What Journaling Does
  • Planning Commit Batches
  • Setting Commit Intervals
  • Turning Off Journaling
  • Replacing Data Files
  • Repairing Data Files
  • The mongod.lock File
  • Sneaky Unclean Shutdowns
  • What MongoDB Does Not Guarantee
  • Checking for Corruption
  • Durability with Replication
  • Part VI. Server Administration
  • Chapter 20. Starting and Stopping MongoDB
  • Starting from the Command Line
  • File-Based Configuration
  • Stopping MongoDB
  • Security
  • Data Encryption
  • SSL Connections
  • Logging
  • Chapter 21. Monitoring MongoDB
  • Monitoring Memory Usage
  • Introduction to Computer Memory
  • Tracking Memory Usage
  • Tracking Page Faults
  • Minimizing Btree Misses
  • IO Wait
  • Tracking Background Flush Averages
  • Calculating the Working Set
  • Some Working Set Examples
  • Tracking Performance
  • Tracking Free Space
  • Monitoring Replication
  • Chapter 22. Making Backups
  • Backing Up a Server
  • Filesystem Snapshot
  • Copying Data Files
  • Using mongodump
  • Backing Up a Replica Set
  • Backing Up a Sharded Cluster
  • Backing Up and Restoring an Entire Cluster
  • Backing Up and Restoring a Single Shard
  • Creating Incremental Backups with mongooplog
  • Chapter 23. Deploying MongoDB
  • Designing the System
  • Choosing a Storage Medium
  • Recommended RAID Configurations
  • CPU
  • Choosing an Operating System
  • Swap Space
  • Filesystem
  • Virtualization
  • Turn Off Memory Overcommitting
  • Mystery Memory
  • Handling Network Disk IO Issues
  • Using Non-Networked Disks
  • Configuring System Settings
  • Turning Off NUMA
  • Setting a Sane Readahead
  • Disabling Hugepages
  • Choosing a Disk Scheduling Algorithm
  • Don't Track Access Time.
  • Modifying Limits.