Book Image

MongoDB Data Modeling

Book Image

MongoDB Data Modeling

Overview of this book

<p>This book covers the basic concepts in data modeling and also provides you with the tools to design better schemas. With a focus on data usage, this book will cover how queries and indexes can influence the way we design schemas, with thorough examples and detailed code.</p> <p>The book begins with a brief discussion of data models, drawing a parallel between relational databases, NoSQL, and consequently MongoDB. Next, the book explains the most basic MongoDB concepts, such as read and write operations, indexing, and how to design schemas by knowing how applications will use the data. Finally, we will talk about best practices that will help you optimize and manage your database, presenting you with a real-life example of data modeling on a real-time logging analytics application.</p>
Table of Contents (16 chapters)

About the Reviewers

Mani Bhushan is Head of Engineering at Swiggy (http://www.swiggy.com/)—India's biggest on-demand logistic platform focused on food.

In the past, he worked for companies such as Amazon, where he was a part of the CBA (Checkout by Amazon) team and flexible payment services team, then he moved to Zynga where he had a lot of fun building games and learning game mechanics. His last stint was at Vizury, where he was leading their RTB (Real-Time Bidding) and DMP (Data Management Platform) groups.

He is a religious coder and he codes every day. His GitHub profile is https://github.com/mbhushan. He is an avid learner and has done dozens of courses on MOOC platforms such as Coursera and Udacity in areas such as mathematics, music, algorithms, management, machine learning, data mining, and more. You can visit his LinkedIn profile at http://in.linkedin.com/in/mbhushan.

All his free time goes to his kid Shreyansh and his wife Archana.

Álvaro García Gómez is a computer engineer specialized in software engineering. From his early days with computers, he showed a special interest in algorithms and how efficient they are. The reason for this is because he is focused on real-time and high performance algorithms for massive data under cloud environments. Tools such as Cassandra, MongoDB, and other NoSQL engines taught him a lot. Although he is still learning about this kind of computation, he was able to write some articles and papers on the subject.

After several years of research in these areas, he arrived in the world of data mining, as a hobby that became a vocation. Since data mining covers the requirements of efficient and fast algorithms and storage engines in a distributed platform, this is the perfect place for him to research and work.

With the intention of sharing and improving his knowledge, he founded a non-profit organization where beginners have a place to learn and experts can use supercomputers for their research (supercomputers built by themselves).

At the moment, he works as a consultant and architecture analyst for big data applications.

Mohammad Hasan Niroomand graduated from the BSc program of software engineering at K. N. Toosi University. He worked as a frontend developer and UI designer in the Sadiq ICT team for 3 years. Now, he is a backend developer at Etick Pars, using Node.js and MongoDB to develop location-based services. Moreover, he is an MSc student at the Sharif University of Technology in the field of software engineering.

Mithun Satheesh is an open source enthusiast and a full stack web developer from India. He has around 5 years of experience in web development, both in frontend and backend programming. He codes mostly in JavaScript, Ruby, and PHP.

He has written a couple of libraries in Node.js and published them on npm, earning a considerable user base. One of these is called node-rules, a forward chaining rule engine implementation written initially to handle transaction risks on Bookmyshow (http://in.bookmyshow.com/)—one of his former employers. He is a regular on programming sites such as Stack Overflow and loves contributing to the open source world.

Along with programming, he is also interested in experimenting with various cloud hosting solutions. He has a number of his applications listed in the developer spotlight of PaaS providers such as Red Hat's OpenShift.

He tweets at @mithunsatheesh.