MongoDB is a high-performance, scalable, distributed database designed for a wide variety of modern applications. It is used by organizations of all sizes to power mission-critical, operational applications where low latency, high throughput, and continuous availability are critical requirements of the system.
As with any database, applications deployed on MongoDB require careful planning and the coordination of many roles in an organization's IT teams to ensure successful deployment and operation. Developers and data architects should work together to develop the right data model, and should invest time in this exercise early in the project.
The Certification project would challenge you on end-to-end implementation of MongoDB, considering the best practices and selecting the best approach. You would utilize various skills, options, techniques, features, you have learnt throughout this course to solve the problem statements. Each problem statement will challenge you to think and decide a solving approach. You would be provided with some high-level steps to ensure your approach is correct.
In an e-commerce company, customers browse the website to place orders for various brands and items. In the process, they must register themselves, sign in with a username and password, search for specific brands and items, and place an order. While placing the order they can add/remove products from the shopping cart, discard the shopping cart, or proceed with the payment using various payment options. The data stored from all the transactions and activities happening on the website is complex in nature. It could be in structured or unstructured format. It might be in text, document, or JSON format.
1. Task I - Being the Database Administrator of your organization, you are responsible to use a database which has flexible schema, reduces the operational procedure, and is highly scalable and reliable.
2. Task II - Further after the installation and configuration of the database, you must identify the final data schema. To do so,
a. Identify the operations that the system need to support, based on the system functionality
b. Identify the entities that the operations 'interact' with
c. Identify meta-data of the entities
d. View how the entities are used in the system in relation to one another
e. Bring it all together by using the findings from the above steps and apply some best practice rules to them.
3. Task III - After you create a logical schema, next step is to create a database named as “Mongo_DB_Project” which would be handled by a user “Adam”. You must maintain orders, customers and categories data with brands and items in segregated form. You are also responsible for modifying the documents and removing duplicate or redundant documents.
4. Task IV - Your organization keeps consolidated data in a single file for all categories with varied brands and items for each brand with item details. So, you must take a backup of the data.
5. Task V - With the increasing data, the query performance of MongoDB has declined. You are responsible for optimizing the query performance of the database. Which steps would you take?
6. Task VI - Your manager has asked you to provide total price obtained from order placed for myriad items.
7. Task VII - With the modernization of technologies, you should also modernize the storage process of the organizational data to increase flexibility and scalability at reduced cost. So, you decide to host your database somewhere and deploy it to make it secure, fast and highly available for any scale. You suggest your managers that you can save your data in MongoDB Atlas. So, you are now responsible to store your data in MongoDB Atlas and provide security to your cluster.
8. Task VIII - You have a lot of unwanted, empty and invalid collections which are consume the memory space of the server machine. Some users have also complained about some warnings and errors encountered while performing various tasks. What would you do?
9. Task IX - The developer of your organization has created a new application. You are asked to perform a test for the same application, where you will insert few documents in MongoDB database using a Rest Client.
10. Task X - As a database Administrator, you must be well prepared to face situations like system failure, disaster management recovery. You should have replica sets created of your server database.