MongoDB is a cross-platform document-oriented database system and it is free and open source software. Classified as a NoSQL database, MongoDB eschews the traditional table-based relational database structure in favour of JSON-like documents with dynamic schemas (MongoDB calls the format BSON), making the integration of data in certain types of applications easier and faster.
In this course, you will get introduced to MongoDB. You will learn how to install it and how to operate it via its shell. Moreover, you will learn how to programmatically access it via Java and how to leverage Map Reduce with it. Finally, more advanced concepts like sharding and replication will be explained.
About the Author
Andriy has completed his Master Degree in Computer Science at Zhitomir Institute of Engineering and Technologies, Ukraine. For the last 15 years he has been working as the Consultant/Software Developer/Senior Software Developer/Team Lead for many successful projects.
Andriy has great experience in enterprise architecture, web development, software development practices and software platforms, object-oriented analysis and design, development of rich user interfaces, relational database management systems, NoSQL solutions and operating systems.
In this lesson, you will get introduced to MongoDB. We will see an overview of its architecture and then we will install the server in various platforms, including Windows, Linux and MacOs.
In this part we are going to cover the integration of MongoDB with applications written in Java. Our choice of Java is caused by its popularity but MongoDB provides bindings (or drivers) to many other languages. For the purposes of this lesson, we are going to develop a simple book store application with a goal in mind to cover most of the use cases you may encounter, emphasizing MongoDB ways to solve them.
In this lesson we are going to cover the MongoDB Sharding functionality. Sharding is a technique used to split large amount of data across multiple server instances. It helps in solving such issues by dividing the whole data set into smaller parts and distributing them across large number of servers (or shards). MongoDB supports sharding out of the box using sharded clusters configurations. We will explore how to configure sharding with MongoDB and how to operate it.
Replication is a foundational technique to keep data safe (by providing redundancy) and highly available all the time. MongoDB supports the replication in a form of replica sets: a group of MongoDB instances that maintain the same (synchronized) data across multiple instances (servers). In this lesson, we will perform the necessary configuration for MongoDB Replication and also how it relates to Sharding. Finally, we will examine the various Replication commands and command helpers.
Map/Reduce is a framework which allows to parallelize the processing of large and very large datasets across many physical or virtual servers. This paradigm, firstly popularized by Google, has gotten a lot of traction these days, mostly because of the Big Data movement. Many NoSQL solutions aim to support integration with Map/Reduce frameworks but MongoDB goes further than that and provides its own Map/Reduce implementation integrated into the MongoDB server, available for everyone to consume.
In this final lesson of the course, we are going to take a look on MongoDB security model, different types of indexes, query plans and profiling, server-side cursors and bulk operations. We will discuss indexing, profiling, the use of Query cache and how to implement bulk operations.
Make sure to retweet this, let your social followers know!
— Java Code Geeks (@javacodegeeks) October 16, 2015