MongoDB is an open source NoSQL database program designed for both scalability and high availability. High availability is a requirement for all production databases/applications. High availability on databases is the replication of data. This replication enables the database to serve a higher number of read requests and also adds an additional layer of fault tolerance; if a replica fails, the data is not lost as there are multiple replicas. However, administrators of a database must consider how they enable replication as there are several pitfalls to avoid. For example: replicas hosted on the same server is an ill-advised scheme as requests to the server can bottleneck and if that server fails all the data will be lost. MongoDB is a highly available database program, allowing administrators to customize their databases' high availability. Administrators should take care to set up high availability correctly and early on. For example: moving from a deployment of MongoDB without high availability to one with high availability can be a challenge so we suggest users to always start with high availability enabled. Finally high availability is something that can (and has) been automated. By having a solid understanding of high availability in MongoDB developers can automate high availability for MongoDB in a fault tolerant way. For example the Charmed MongoDB Operator takes concerns such as replication time, replica set conversion, and downscaling into consideration to provide an automated fault tolerant deployment of highly available MongoDB.
Session author bios
Mia Altieri is a Software Engineer focused in databases and cloud technology, with a history of bioinformatics and machine learning. She is passionate about distributed systems, algorithm design for asynchronous computing; and has an affinity for optimisation, automation, and quantifiable analysis. She currently works to package MongoDB as an application for the cloud (i.e. Charmed MongoDB) at Canonical. In her free time she volunteers building bicycles and goes on multi-week mountain bike tours.
|Level of Difficulty||Beginner|