CST8276 – Advanced Database Topics
Assignment 2: Implementing and Assessing Change Requests (10%)
This assignment relates to the following Course Learning Requirements:
CLR 1 – Plan for and install a database management system (including the creation of a database)
CLR 2 – Administer a DBMS using knowledge of SQL, database security features, globalization and database architecture (storage, memory and processes)
CLR 6 – Build database systems that directly support internationalization and globalization
CLR 7 – Explore and gain practical experience in current advanced database technology
Objectives of the Assignment
First you will install MongoDB, and MongoDBCompass applications. Then you will create a new database and import a csv provided (Inventory).
The focus of this assignment is to draft a detailed change request form to update a MongoDB database. This change request form (PDF file) will also include the steps for implementing the change. You are not expected to do detailed programming for MongoDB. Keep your procedures and programming scripts at a high level.
Instructions
Examine these resources and determine from a high level how MongoDB works.
MongoDB manual — https://www.mongaodb.com/docs/manual/contents/
Tutorial – https://docs.mongodb.com/manual/tutorial/
Overview – https://youtu.be/pWbMrx5rVBE
Cluster Sharding
Shell methods – https://docs.mongodb.com/manual/reference/method/
Install MongoDB. https://www.mongodb.com. Do not use Mongo Atlas.
Note: Using MongoDB is mostly done using CMD (command line mode) – MongoDBCompass is a GUI interface but most of the following ‘shell’ code will need to be done in CMD mode.
Mongo installation location by default in your Program Folder.
Go to your Control Panel. Type “Control Panel” in your search bar located at the bottom left of your Windows screen.
then Hit enter.
Search for System. Type “System” in your search bar located a the upper right corner of your Control Panel. Hit enter.
Click “Edit the system environmental variables” under System
Click “Environmental Variables” in the System Properties Window.
Click on PATH and choose NEW to add a new ‘path’
Add the PATH (see my C:/Program Files…..)
Create a ‘db’ folder in the Mongo installation folder
Install MongoDBCompass — https://www.mongodb.com/try/download/compass
Under the C:Program FilesMongoDB folder (on my laptop, this is the location)
Use the
From the START menu, open MongoDBCompass application and create a connection….
Now, once you have a successful connection, you can begin to create your new database.
https://www.mongodb.com/basics/create-database
https://www.freecodecamp.org/news/learn-mongodb-a4ce205e7739/
You will need to create your new database and create/populate a new collection – INVENTORY table
Create a database called INVENTORY. (screenshot and paste in box provided).
Create an inventory table/collection – pull the file from Brightspace called INVENTORY_ITEMS.csv to import. (screenshot and paste in box provided).
Use one shell method and provide a screen shot showing the use of that method (screenshot and paste in box provided).
Determine if the collection is fixed (capped) or dynamic. Provide a screenshot showing how determined what your new collection – INVENTORY is.
(screenshot how you determined the type of collection and paste in box provided).
If fixed, how would you change the size?
If dynamic, is there a maximum size limit? You will need to understand these concepts and limitations to complete the assignment.
(type in the box below the answers to the above two questions).
The size of the collection can change because we never determined the size when we first created it. If we want to change the size, we must run the convertToCapped command and specify the new size. The maximum size limit varies depending on things like the number of shards, but it can be as large as 1TB to 32TB.
Research shards and clusters on how they work. Type a brief explanation of what each of these things are.
(screenshot and paste in box provided).
Shards are used to divide data into smaller pieces, while clusters can be used to spread data out across multiple servers, making it easier to scale up.
Create your change request form based on what you learned from the activities covered in Modules 4, 5, and 6.
(Submit as a separate document – Change Request Form)
Your Change Request should include the following sections. This means each section in your change request has the following information. This change request form covers how the business and the technology will change. This is not a change request for a project. A project would be setup based on this change request.
Change Request – Initial Request. For this section assume the request is made by the sales team. They notice that their inventory collection has gotten really big and accessing it is extremely slow. They want to double the table size and double the performance for accessing. This is a high priority request to improve worker productivity. Use examples from the readings in the module’s content.
Change Request Analysis. Provide a detailed technical explanation of what needs to be changed and why. Determine why the performance is an issue based on your understanding of how MongoDB works.
Database Current State. Provide screen shots of all current database settings that will be changed per this change request.
Specify which settings will be changed. Use one shell method for the database, one shell method for the collection, and one shell method for the collection size. Provide screen shots of using these methods and what the results of these methods show.
Change Procedure. Specify the high-level steps required to implement the change. DO NOT go deep into MongoDB coding.
Specify the shell methods and how to best use them to support your high-level procedure. Provide the results of each shell method.
Roll Back Procedure. Specify the high-level steps required to reverse the change.
Specify the shell methods and how to best use them to support your high-level procedure. Different versions of MongoDB may not have a rollback method. If the version of MongoDB you downloaded doesn’t have that method you will need to provide a script that undoes the change by recreating the database environment.
Change Request Completed. Provide screen shots of the database’s new settings, emphasizing only those settings that changed.
Change Request Submission. Submit your Change Request Report as a separate document.
Submission Requirements:
To submit this assignment, submit this completed file along with your Change Request Form, using the assignment upload tool in Brightspace. To access this, navigate to the Activities/Assignments link in the left-hand sidebar, and select Assignment 2 – Implementing and Assessing Change Requests.
Please note: Algonquin College has a policy regarding Plagiarism. The consequences are immediate zeroes for assignments and potentially an instant fail for the whole course. It is only natural for students to work together to complete assignments.
DO NOT PLAGIARIZE each other’s work.
Assignment 2 Grading Rubric (10%)
Table 1 – Assignment 2 Grading Rubric
Exemplary |
Accomplished |
Developing |
Incomplete |
|
---|---|---|---|---|
Criteria |
3 |
2 |
1 |
0 |
Change Request Form |
Included sections that would be used by IT and Business customers. |
Included sections that would be used by IT customers. |
Included all sections specified in the assignment. |
Not completed |
Change Request Submission |
Included at least 75% of the information standard for this section. |
Included at least 50% of the standard information for this section. |
Included less than 50% of the information required. |
Not completed OR Excluded any information that was provided in this assignment |
Change Request Analysis |
Included a detailed and concise explanation of how the requested change impacts the database structures. |
Included at the most part a straight forward explanation of how the requested change will impact the database. |
Included a vague or meandering explanation of how the requested change will impact the database. |
Not completed OR Excluded analysis regarding database structures |
Database Current State |
Included all screen shots of database settings that will be changed. |
Included 75% of all the database settings that will be changed. |
Included less than 75% of the database settings to be changed. |
Not completed OR Specific settings to be changed were not identified |
Change Procedure |
Included at least 80% of the steps for the change. Each step is clearly titled, easily understood and included scripts that can be copied / pasted to be executed. |
Included at least 60% of the steps for the change. Each step is titled, understood, and included scripts that can be copied / pasted to be executed. |
Included less than 60% of the steps for change OR steps are not easily understood OR Excluded scripts |
Not completed |
Roll Back Procedure |
Included at least 80% of the steps for the change. Each step is clearly titled, easily understood and included scripts that can be copied / pasted to be executed. |
Included at least 60% of the steps for the change. Each step is titled, understood, and included scripts that can be copied / pasted to be executed. |
Included less than 60% of the steps for change OR steps are not easily understood OR Excluded scripts |
Not completed |
Change Completed |
Included all screen shots of database settings that were changed. |
Included 75% of all the database settings that were changed. |
Included less than 75% of the database settings that were changed. |
Not completed OR Specific settings changed were not identified |
End of Assignment