Best Mongodb books to learn how to scale your data model

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 for almost infinite horizontal scalability.
This updated second edition 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. Ideal for NoSQL newcomers and experienced MongoDB users alike, this guide provides numerous real-world schema design examples.
- Get started with MongoDB core concepts and vocabulary
- Perform basic write operations at different levels of safety and speed
- Create complex queries, with options for limiting, skipping, and sorting results
- Design an application that works well with MongoDB
- Aggregate data, including counting, finding distinct values, grouping documents, and using MapReduce
- Gather and interpret statistics about your collections and databases
- Set up replica sets and automatic failover in MongoDB
- Use sharding to scale horizontally, and learn how it impacts applications
- Delve into monitoring, security and authentication, backup/restore, and other administrative tasks

Summary
MongoDB in Action, Second Edition is a completely revised and updated version. It introduces MongoDB 3.0 and the document-oriented database model. This perfectly paced book gives you both the big picture you'll need as a developer and enough low-level detail to satisfy system engineers.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
This document-oriented database was built for high availability, supports rich, dynamic schemas, and lets you easily distribute data across multiple servers. MongoDB 3.0 is flexible, scalable, and very fast, even with big data loads.About the Book
MongoDB in Action, Second Edition is a completely revised and updated version. It introduces MongoDB 3.0 and the document-oriented database model. This perfectly paced book gives you both the big picture you'll need as a developer and enough low-level detail to satisfy system engineers. Lots of examples will help you develop confidence in the crucial area of data modeling. You'll also love the deep explanations of each feature, including replication, auto-sharding, and deployment.What's Inside
About the Reader
Written for developers. No previous MongoDB or NoSQL experience is assumed.
About the Authors
After working at MongoDB, Kyle Banker is now at a startup. Peter Bakkum is a developer with MongoDB expertise. Shaun Verch has worked on the core server team at MongoDB. A Genentech engineer, Doug Garrett is one of the winners of the MongoDB Innovation Award for Analytics. A software architect, Tim Hawkins has led search engineering at Yahoo Europe. Technical Contributor: Wouter Thielen. Technical Editor: Mihalis Tsoukalos.
Whether you’re building a social media site or an internal-use enterprise application, this hands-on guide shows you the connection between MongoDB and the business problems it’s designed to solve. You’ll learn how to apply MongoDB design patterns to several challenging domains, such as ecommerce, content management, and online gaming. Using Python and JavaScript code examples, you’ll discover how MongoDB lets you scale your data model while simplifying the development process.
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
Need a quick and easy to understand introduction to MongoDB and NoSQL databases? MongoDB Basics, from The Definitive Guide to MongoDB, 2E, shows you how a document-oriented database system differs from a relational database, and how to install and get started using it. You'll also learn MongoDB design basics, including geospatial indexing, how to navigate, view, and query your database, and how to use GridFS with a bit of Python.
Create a MongoDB cluster that will grow to meet the needs of your application. With this short and concise book, you'll get guidelines for setting up and using clusters to store a large volume of data, and learn how to access the data efficiently. In the process, you'll understand how to make your application work with a distributed database system.
Scaling MongoDB will help you:
- Set up a MongoDB cluster through sharding
- Work with a cluster to query and update data
- Operate, monitor, and backup your cluster
- Plan your application to deal with outages
By following the advice in this book, you'll be well on your way to building and running an efficient, predictable distributed system using MongoDB.
MongoDB gives flexibility in compare to RDBMS. It has features like dynamic schemas, storage for large volume data, scaling database architecture, real-time data reporting, data sharding, and so on. It enables to develop application faster. To address all these features in a concise manner, this e-book is created.
This e-book has explained features of MongoDB, that is important from the point of Big data analytics. It makes clear the confusion over MySQL and NoSQL working pattern. It has accommodated all the topics on MongoDB with examples. It guides you right through setting up MongoDB environment to security requirements. The book is too small, but all important aspect of MongoDB is covered. The examples and code are explained in a manner that beginners can easily absorb the content. The book has also illustrated various shell commands to access MongoDB. Not only that, but the user will also explore about JSON document and creating queries in MongoDB.
The book can be used for further reference for application build on MongoDB Java or MongoDB Python. Minimum price range and maximum deliverable is the main plus point of this e-book.
Table content
Chapter 1: Introduction
Chapter 2: Download and Install MongoDB on Windows
Download & Install MongoDB on Windows
Install Driver- Javascript, Python and Ruby
Install Robomongo- MongoDB Management Tool
MongoDB Configuration, Import and Export
Configuring MongoDB server with configuration file
Chapter 3: Create Database & Insert Data
Creating a database
Creating a collection
Chapter 4: Add MongoDB Array using insert()
Chapter 5: ObjectId()
Chapter 6: Query Document using find()
Chapter 7: Cursor
Chapter 8: Query Modifications using limit(), sort()
Chapter 9: Count() & remove() function
Chapter 10: Update() Document
Chapter 11: Indexing, Monitoring & Backup
Chapter 12: How to Create User in Mongodb & assign Roles
Chapter 13: Authentication with Kerberos
Chapter 14: Replica Set
Replica Set: Adding the First Member using rs.initiate()
Replica Set: Adding a Secondary using rs.add()
Replica Set: Reconfiguring or Removing using rs.remove()
Troubleshooting Replica Sets
Chapter 15: Sharded Cluster
Chapter 16: Indexing - createIndex()
Understanding Impact of Indexes
Create Indexes
Finding Indexes
Dropping Indexes
Chapter 17: Regular Expression (Regex)
Using $regex operator for Pattern matching
Pattern Matching with $options
Pattern matching without the regex operator
Fetching last 'n' documents from a collection
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 MongoDB’s 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
NoSQL database usage is growing at a stunning 50% per year, as organizations discover NoSQL's potential to address even the most challenging Big Data and real-time database problems. Every NoSQL database is different, but one is the most popular by far: MongoDB.
Now, in just 24 lessons of one hour or less, you can learn how to leverage MongoDB's immense power. Each short, easy lesson builds on all that's come before, teaching NoSQL concepts and MongoDB techniques from the ground up.
Sams Teach Yourself NoSQL with MongoDB in 24 Hours covers all this, and much more:
- Learning how NoSQL is different, when to use it, and when to use traditional RDBMSes instead
- Designing and implementing MongoDB databases of diverse types and sizes
- Storing and interacting with data via Java, PHP, Python, and Node.js/Mongoose
- Choosing the right NoSQL distribution model for your application
- Installing and configuring MongoDB
- Designing MongoDB data models, including collections, indexes, and GridFS
- Balancing consistency, performance, and durability
- Leveraging the immense power of Map-Reduce
- Administering, monitoring, securing, backing up, and repairing MongoDB databases
- Mastering advanced techniques such as sharding and replication
- Optimizing performance
Harness the latest features of MongoDB 3 with this collection of 80 recipes – from managing cloud platforms to app development, this book is a vital resource
About This Book
- Get to grips with the latest features of MongoDB 3
- Interact with the MongoDB server and perform a wide range of query operations from the shell
- From administration to automation, this cookbook keeps you up to date with the world's leading NoSQL database
Who This Book Is For
This book is engineered for anyone who is interested in managing data in an easy and efficient way using MongoDB. You do not need any prior knowledge of MongoDB, but it would be helpful if you have some programming experience in either Java or Python.
What You Will Learn
- Install, configure, and administer MongoDB sharded clusters and replica sets
- Begin writing applications using MongoDB in Java and Python languages
- Initialize the server in three different modes with various configurations
- Perform cloud deployment and introduce PaaS for Mongo
- Discover frameworks and products built to improve developer productivity using Mongo
- Take an in-depth look at the Mongo programming driver APIs in Java and Python
- Set up enterprise class monitoring and backups of MongoDB
In Detail
MongoDB is a high-performance and feature-rich NoSQL database that forms the backbone of the systems that power many different organizations – it's easy to see why it's the most popular NoSQL database on the market. Packed with many features that have become essential for many different types of software professionals and incredibly easy to use, this cookbook contains many solutions to the everyday challenges of MongoDB, as well as guidance on effective techniques to extend your skills and capabilities.
This book starts with how to initialize the server in three different modes with various configurations. You will then be introduced to programming language drivers in both Java and Python. A new feature in MongoDB 3 is that you can connect to a single node using Python, set to make MongoDB even more popular with anyone working with Python. You will then learn a range of further topics including advanced query operations, monitoring and backup using MMS, as well as some very useful administration recipes including SCRAM-SHA-1 Authentication. Beyond that, you will also find recipes on cloud deployment, including guidance on how to work with Docker containers alongside MongoDB, integrating the database with Hadoop, and tips for improving developer productivity.
Created as both an accessible tutorial and an easy to use resource, on hand whenever you need to solve a problem, MongoDB Cookbook will help you handle everything from administration to automation with MongoDB more effectively than ever before.
Style and approach
Every recipe is explained in a very simple set-by-step manner yet is extremely comprehensive.
Pro Hibernate and MongoDB shows you how to use and integrate Hibernate and MongoDB. More specifically, this book guides you through the bootstrap; building transactions; handling queries and query entities; and mappings. Then, this book explores the principles and techniques for taking these application principles to the cloud, using the OpenShift Platform as a Service (PaaS) and more.
In this book, you get two case studies:
- An enterprise application using Hibernate and MongoDB. then,
- A cloud application (OpenShip) migrated from the enterprise application case study
Congratulations! You completed the MongoDB application within the given tight timeframe and there is a party to celebrate your application's release into production. Although people are congratulating you at the celebration, you are feeling some uneasiness inside. To complete the project on time required making a lot of assumptions about the data, such as what terms meant and how calculations are derived. In addition, the poor documentation about the application will be of limited use to the support team, and not investigating all of the inherent rules in the data may eventually lead to poorly-performing structures in the not-so-distant future.
Now, what if you had a time machine and could go back and read this book. You would learn that even NoSQL databases like MongoDB require some level of data modeling. Data modeling is the process of learning about the data, and regardless of technology, this process must be performed for a successful application. You would learn the value of conceptual, logical, and physical data modeling and how each stage increases our knowledge of the data and reduces assumptions and poor design decisions.
Read this book to learn how to do data modeling for MongoDB applications, and accomplish these five objectives:
- Understand how data modeling contributes to the process of learning about the data, and is, therefore, a required technique, even when the resulting database is not relational. That is, NoSQL does not mean NoDataModeling!
- Know how NoSQL databases differ from traditional relational databases, and where MongoDB fits.
- Explore each MongoDB object and comprehend how each compares to their data modeling and traditional relational database counterparts, and learn the basics of adding, querying, updating, and deleting data in MongoDB.
- Practice a streamlined, template-driven approach to performing conceptual, logical, and physical data modeling. Recognize that data modeling does not always have to lead to traditional data models!
- Distinguish top-down from bottom-up development approaches and complete a top-down case study which ties all of the modeling techniques together.
- In Section I, Getting Started, we will reveal the power of data modeling and the tight connections to data models that exist when designing any type of database (Chapter 1), compare NoSQL with traditional relational databases and where MongoDB fits (Chapter 2), explore each MongoDB object and comprehend how each compares to their data modeling and traditional relational database counterparts (Chapter 3), and explain the basics of adding, querying, updating, and deleting data in MongoDB (Chapter 4).
- In Section II, Levels of Granularity, we cover Conceptual Data Modeling (Chapter 5), Logical Data Modeling (Chapter 6), and Physical Data Modeling (Chapter 7). Notice the "ing" at the end of each of these chapters. We focus on the process of building each of these models, which is where we gain essential business knowledge.
- In Section III, Case Study, we will explain both top down and bottom up development approaches and go through a top down case study where we start with business requirements and end with the MongoDB database. This case study will tie together all of the techniques in the previous seven chapters.
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
MongoDB is an open source, NoSQL database with a rich set of features, including full index support, sharding, and replication. Use this Quick Start to set up your MongoDB cluster on AWS for trial or production purposes. You can customize the number of replica sets (1-3), number of shards (0-3), and microshards per node. This documentation is offered for free here as a Kindle book, or you can read it online or in PDF format at https://aws.amazon.com/quickstart/.
Build an interactive and full-featured web application from scratch using Node.js and MongoDB
About This Book
- Configure your development environment to use Node.js and MongoDB
- Use Node.js to connect to a MongoDB database and perform data manipulations
- A practical guide with clear instructions to design and develop a complete web application from start to finish
Who This Book Is For
This book is designed for JavaScript developers of any skill level that want to get up and running using Node.js and MongoDB to build full-featured web applications. A basic understanding of JavaScript and HTML is the only requirement for this book.
What You Will Learn
- Configure your development environment to use Node.js and MongoDB
- Write and configure a web server using Node.js powered by the Express.js framework
- Build dynamic HTML pages using the Handlebars template engine
- Persist application data using MongoDB and Mongoose ODM
- Test your code using automated testing tools such as the Mocha framework
- Deploy the development environment to the cloud using services such as Heroku, Amazon Web Services, and Microsoft Azure
- Explore Single-Page application frameworks to take your web applications to the next level
In Detail
Node.js and MongoDB are quickly becoming one of the most popular tech stacks for the web. Powered by Google's V8 engine, Node.js caters to easily building fast, scalable network applications while MongoDB is the perfect fit as a scalable, high-performance, open source NoSQL database solution. Using these two technologies together, web applications can be built quickly and easily and deployed to the cloud with very little difficulty.
The book will begin by introducing you to the groundwork needed to set up the development environment. Here, you will quickly run through the steps necessary to get the main application server up and running. Then you will see how to use Node.js to connect to a MongoDB database and perform data manipulations.
From here on, the book will take you through integration with third-party tools for interaction with web apps. It then moves on to show you how to use controllers and view models to generate reusable code that will reduce development time. Toward the end of the book, we will cover tests to properly execute the code and some popular frameworks for developing web applications.
By the end of the book, you will have a running web application developed with MongoDB and Node.js along with it's popular frameworks.
Style and approach
An easy guide to Node.js and MongoDB, which will quickly introduce you to the relevant concepts by taking you through the different steps involved in building a full-fledged web application.
What would happen if you optimized a data store for the operations application developers actually use? You’d arrive at MongoDB, the reliable document-oriented database. With this concise guide, you’ll learn how to build elegant database applications with MongoDB and PHP.
Written by the Chief Solutions Architect at 10gen—the company that develops and supports this open source database—this book takes you through MongoDB basics such as queries, read-write operations, and administration, and then dives into MapReduce, sharding, and other advanced topics. Get out of the relational database rut, and take advantage of a high-performing system optimized for operations and scale.
- Learn step-by-step the tools you need to build PHP applications with MongoDB
- Perform Create, Read, Update, and Delete (CRUD) operations, and learn how to perform queries to retrieve data
- Administer your database, and access and manipulate data with the MongoDB Shell
- Use functions to work with sets, arrays, and multiple documents to perform synchronous, asynchronous, and atomic operations
- Discover PHP’s community tools and libraries, and why they’re valuable
- Work with regular expressions, aggregation, MapReduce, replication, and sharding
Combine the power of PHP and MongoDB to build dynamic web 2.0 applications
- Learn to build PHP-powered dynamic web applications using MongoDB as the data backend
- Handle user sessions, store real-time site analytics, build location-aware web apps, and much more, all using MongoDB and PHP
- Full of step-by-step instructions and practical examples, along with challenges to test and improve your knowledge
In Detail
With the rise of Web 2.0, the need for a highly scalable database, capable of storing diverse user-generated content is increasing. MongoDB, an open-source, non-relational database has stepped up to meet this demand and is being used in some of the most popular websites in the world. MongoDB is one of the NoSQL databases which is gaining popularity for developing PHP Web 2.0 applications.
PHP and MongoDB Web Development Beginner's Guide is a fast-paced, hands-on guide to get started with web application development using PHP and MongoDB. The book follows a "Code first, explain later" approach, using practical examples in PHP to demonstrate unique features of MongoDB. It does not overwhelm you with information (or starve you of it), but gives you enough to get a solid practical grasp on the concepts.
The book starts by introducing the underlying concepts of MongoDB. Each chapter contains practical examples in PHP that teache specific features of the database.
The book teaches you to build a blogging application, handle user sessions and authentication, and perform aggregation with MapReduce. You will learn unique MongoDB features and solve interesting problems like real-time analytics, location-aware web apps etc. You will be guided to use MongoDB alongside MySQL to build a diverse data back-end.
With its concise coverage of concepts and numerous practical examples, PHP and MongoDB Web Development Beginner's Guide is the right choice for the PHP developer to get started with learning MongoDB.
What you will learn from this book
- Get MongoDB up and running on the machine (Windows/Mac/Linux)
- Build a PHP-powered website with MongoDB as the data storage
- Handle HTTP sessions with MongoDB
- Store website analytics data in real time
- Process large datasets with MapReduce
- Use MongoDB to supplement your existing relational database - build data archives, cache tiers, store results of expensive SQL queries in MongoDB
- Build location-aware web applications
- Optimize MongoDB for better performance and security
Approach
The book follows a "Code first, explain later" approach, using practical examples in PHP to demonstrate unique features of MongoDB. This book is packed with step-by-step instructions and practical examples, along with challenges to test and improve your knowledge.
Who this book is written for
This book assumes that you are experienced in web application development using PHP, HTML, and CSS. Having working knowledge of using a relational database system such as MySQL will help you grasp some of the concepts quicker, but it is not strictly mandatory. No prior knowledge of MongoDB is required.