Preface

Even today, it is still quite common to say that computer science is a young and new field. However, this statement becomes somewhat contradictory when we observe other fields. Unlike other fields, computer science is a discipline that is continually evolving above the normal speed. I dare say that computer science has now set the path of evolution for other fields such as medicine and engineering. In this context, database systems as an area of the computer science discipline has not only contributed to the growth of other fields, but has also taken advantage itself of the evolution and progress of many areas of technology such as computer networks and computer storage.

Formally, database systems have been an active research topic since the 1960s. Since then, we have gone through a few generations, and big names in the IT industry have emerged and started to dictate the market's tendencies.

In the 2000s, driven by the world's Internet access growth, which created a new network traffic profile with the social web boom, the term NoSQL became common. Considered by many to be a paradoxical and polemic subject, it is seen by some as a new technology generation that has been developed in response to all changes we have experienced in the last decade.

MongoDB is one of these technologies. Born in the early 2000s, it became the most popular NoSQL database in the world. Not only the most popular database in the world, since February 2015, MongoDB became the fourth most popular database system according to the DB-Engines ranking (http://db-engines.com/en/), surpassing the well-known PostgreSQL database.

Nevertheless, popularity should not be confused with adoption. Although the DB-Engines ranking shows us that MongoDB is responsible for some traffic on search engines such as Google, has job search activity, and has substantial social media activity, we can not state how many applications are using MongoDB as a data source. Indeed, this is not exclusive to MongoDB, but is true of every NoSQL technology.

The good news is that adopting MongoDB has not been a very tough decision to make. It's open source, so you can download it free of charge from MongoDB Inc. (https://www.mongodb.com), where you can find extensive documentation. You also can count on a big and growing community, who, like you, are always looking for new stuff on books, blogs, and forums; sharing knowledge and discoveries; and collaborating to add to the MongoDB evolution.

MongoDB Data Modeling was written with the aim of being another research and reference source for you. In it, we will cover the techniques and patterns used to create scalable data models with MongoDB. We will go through basic database modeling concepts, and provide a general overview focused on modeling in MongoDB. Lastly, you will see a practical step-by-step example of modeling a real-life problem.

Primarily, database administrators with some MongoDB background will take advantage of MongoDB Data Modeling. However, everyone from developers to all the curious people that downloaded MongoDB will make good use of it.

This book focuses on the 3.0 version of MongoDB. MongoDB 3.0, which was long awaited by the community, is considered by MongoDB Inc. as its most significant release to date. This is because, in this release, we were introduced to the new and highly flexible storage architecture, WiredTiger. Performance and scalability enhancements intend to strengthen MongoDB's emphasis among database systems technologies, and position it as the standard database for modern applications.

What this book covers

Chapter 1, Introducing Data Modeling, introduces you to basic data modeling concepts and the NoSQL universe.

Chapter 2, Data Modeling with MongoDB, gives you an overview of MongoDB's document-oriented architecture and presents you with the document, its characteristics, and how to build it.

Chapter 3, Querying Documents, guides you through MongoDB APIs to query documents and shows you how the query affects our data modeling process.

Chapter 4, Indexing, explains how you can improve the execution of your queries and consequently change the way we model our data by making use of indexes.

Chapter 5, Optimizing Queries, helps you to use MongoDB's native tools to optimize your queries.

Chapter 6, Managing the Data, focuses on the maintenance of data. This will teach you how important it is to look at your data operations and administration before beginning the modeling of data.

Chapter 7, Scaling, shows you how powerful the autosharing characteristic of MongoDB can be, and how we think our data model is distributed.

Chapter 8, Logging and Real-time Analytics with MongoDB, takes you through an schema design of a real-life problem example.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.149.28.126