Dedicated to the people I love and the God I trust.
Dedicated to people who made my life worth living and carved me into an individual I am today and to God who shades every step of my life.
Preface
About this book
1: Big Data
2: NOSQL
3: Introducing MongoDB
4: MongoDB Data Model
5: MongoDB Installation and Configuration
6: Using Mongo Shell
7: MongoDB Explained
8: Administering MongoDB
9: MongoDB Use Cases
10: MongoDB How Tos
Contents
About the Authors
Navin Sabharwal is an innovator, thought leader, author, and consultant in the areas Reporting and Analytics, RDBMS Technologies including SQL Server, Oracle, MySQL Big Data Technologies, Hadoop, MongoDB and SAP HANA. Navin has been using big data technologies in creating products and services in the areas of IT service management, product development, cloud computing, cloud lifecycle management, and social network product development.
Navin has created niche award-winning products and solutions and has filed numerous patents in diverse fields such as IT services, assessment engines, ranking algorithms, capacity planning engines, and knowledge management.
Navin holds a Masters in Information Technology and is a Certified Project Management Professional.
Navin has authored the following books : Cloud Computing First Steps (Publisher: CreateSpace, ISBN#: 978-1478130086), Apache Cloudstack Cloud Computing (Publisher: Packt Publishing, ISBN#: 978-1782160106), Cloud Capacity Management (Publisher Apress, ISBN #: 978-1430249238)
Shakuntala Gupta Edward has been working with database technologies since 10 years. Her experience ranges from SQL Server, Oracle Databases, Analytics platforms and Big Data technologies like MongoDB, Cassandra and SAP HANA.
Shakuntala is an accomplished architect with experience in leveraging diverse database technologies to create products and solutions in various business domains.
Shakuntala has been involved in developing products and solutions leveraging big data technologies MongoDB and Cassandra. Shakuntala holds a Masters Degree in Computer Applications.
The authors can be reached at .
Acknowledgments
Special thanks go out to the people who have helped in creation of this book Rajeev Pratap Singh for helping with the code snippets and Dheeraj Raghav and Rajendra Prasad for their creative inputs in the design of this book.
A ton of thanks go out to Stuti Awasthi for being the initiator and inspiration for this book
The authors will like to acknowledge the creators of big data technologies and the open source community for providing such powerful tools and technologies to code with and enable products and solutions which solve real business problems easily and quickly.
Preface
Data warehousing as an industry has been around for quite a number of years now. Relational databases have been used to store data for decades while SQL has been the de-facto language to interact with RDBMS. With the emergence of Social Networking, Internet of Things and huge volumes of unstructured data on the internet the needs of data storage, processing and analytics just exploded. Traditional RDBMS systems and storage technologies were not designed to handle such vast variety and volumes of data.
Thus was born the Big Data technologies which now power various internet scale companies and their huge amounts of data. Companies like Facebook, Twitter, Google and yahoo are leveraging the big data technologies to provide products and services at internet scale which support millions of users.
This book will help our readers to appreciate the big data technologies, their emergence, need and then we will provide a deep dive technical perspective on architecting solutions using MongoDB. The book will enable our readers to understand the key use cases where big data technologies fit in and also provide them pointers on where Big Data technologies should be used carefully or combined with traditional RDBMS technologies to provide a feasible solution.
Along with the architecture the book aims to provide a step by step guide on learning MongoDB and creating applications and solutions using MongoDB.
We sincerely hope our readers will enjoy reading the book as much as we have enjoyed writing it.
About this book
This book
Acts as a guide that helps the reader in grasping the various buzz words in Big Data technologies and getting a grip over various aspects of Big Data.
Acts as a guide for people in order to understand about NoSQL and Document based database and how they are different from the traditional relational database.
Provides insight into architecting solutions using MongoDB, it also provides information on the limitations of MongoDB as a tool.
Methodically covers architecture, development, administration and data model of MongoDB.
Cites examples in order to make the users comfortable in getting started with the technology.
What you need for this book
MongoDB supports the most popular platforms.
Download the latest stable production release of MongoDB from the (http://www.mongodb.org/downloads/)
In this book we have focused on using MongoDB on a 64-bit Windows platform and at places have cited references on how to work with MongoDB running on Linux.
At the time of writing, the latest stable MongoDB production release is 2.4. 9 (see the below Figure).
We will be using 64-bit Windows 2008 R2 and LINUX for examples of the installation process.
Conventions Used In the Book
Italic indicates important points, commands.
This is used to denote the Code Commands
This is the Output of the command
This is used for Example commands
This icon indicates statistics figures
This icon indicates examples
This icon indicates points to be noted.
This icon indicates further reading links or references.
Who this book is for
This book would be of interest to Programmers, Big Data Architects, Application Architects, Technology Enthusiasts, Students, Solution Experts and those wishing to choose the right big data products for their needs.
The book covers aspects on Big Data, NOSQL and details on architecture and development on MongoDB. Thus it serves the use cases of developers, architects and operations teams who work on MongoDB .
1
Big Data
Big Data is used to describe data which has massive volume, varied structure and is generated at high velocity. This is posing challenges to the traditional RDBMS systems which is used for storing and processing data and paving way for newer approaches of processing and storing data
In this chapter we will talk upon the basics of Big Data, sources of Big Data and Challenges of Big Data.
We will introduce the readers to the three Vs of Big Data and the limitations of traditional technologies in handling Big Data.