CS 340 SNHU Database indexing & Authentication in Austin Animal Center Worksheet

User Generated

pfS10R60

Computer Science

cs 340

Southern New Hampshire University

CS

Description

Overview

In this milestone you will import the Austin Animal Center (AAC) CSV file that you will be using for Project One into MongoDB. You will then formulate both a single and a compound index that will optimize the queries for the scenario. Recall that you can use the explain function to verify the use of indexes in your queries. Finally, you will be asked to create an admin and a user account in Mongo to address security needs.

Note: Be sure to begin working on your milestone early in the week. One natural stopping point would be after the completion of Part I.

Prompt

Part I: Importing and Indexing a Data Set
You have been asked to import a file for the Grazioso Salvare project. In order to do so, you must complete the following steps:

  1. In Apporto, open the terminal window to access the Linux shell. Upload the Austin Animal Center (AAC) Outcomes data set into MongoDB by importing a CSV file using the appropriate MongoDB import tool. Use the database name “AAC” and collection name “animals”. Complete the import using the mongoimport tool and take screenshots of both the import command and its execution.

    Tip: How to import a CSV file is covered in the mongoimport documentation in the Module Three Resources. The Austin Animal Center (AAC) Outcomes data set has already been uploaded into Apporto in the /usr/local/datasets/ directory. The filename is “aac_shelter_outcomes.csv”.
  1. After importing your data set, start up the mongo shell. Create a simple index on the key “breed”. Show an example query that will use this index and verify that the index will be used with the explain function. Take screenshots of your example query.
  1. Create a compound index that will improve the performance of queries looking for breeds that have an “outcome_type” of “Transfer”. Show an example query that will use this compound index and confirm the index will be used with the explain function. Take screenshots of your example query.

Part II: User Authentication
To comply with your client’s security needs, you have been asked to ensure user authentication to the database by setting up both administrator and user accounts. To achieve this, follow the steps below.

  1. Create an administrator account in the mongo shell by following steps #2–3 of the MongoDB Manual Enable Access Control tutorial. Then exit the mongo shell.

    IMPORTANT: Write down the password for the admin account and keep it somewhere safe. You will need to use this account later in the course.
  1. Enable user authentication for the database by typing the following commands exactly into the Linux shell in Apporto:
    sudo /bin/cp /etc/mongod_withauth.conf /etc/mongod.conf
    sudo /bin/systemctl restart mongod.service
    
    You can verify that you have enabled user authentication by accessing MongoDB with your new username/password. Type the following command into the Linux shell to start mongo:
    mongo --port 27017  --authenticationDatabase "admin" -u "admin" -p
    
    This will prompt you to enter your password. Then use the command to show databases to verify that you have set up authentication correctly. If you are not logged in with your admin account, no databases will be viewable.

    Note: These commands have been customized for the Apporto environment. If you are accessing MongoDB on your own machine, refer to the MongoDB Manual Enable Access Control tutorial.

    If you accidentally messed up user authentication, or if you forgot your password, you can disable user authentication with this set of commands:
    sudo /bin/cp /etc/mongod_noauth.conf /etc/mongod.conf
    sudo /bin/systemctl restart mongod.service
    
  1. Create a new user account called “aacuser” for the database AAC in the mongo shell. Refer to steps #6–7 of the MongoDB Manual Enable Access Control tutorial, linked above, to help you with this task. You will need to modify the commands so that the account name is “aacuser”.

    IMPORTANT: Write down the password for the aacuser account and keep it somewhere safe. You will need to use this account later in the course.
  1. Take a screenshot of your login process to MongoDB using the mongo shell. Be sure you can access MongoDB and list the databases using both the admin and aacuser accounts, as this will verify that your accounts are working. You should be able to include the login commands for both accounts in one screenshot, but if you can not, include two screenshots to show both login commands.

Guidelines for Submission

Submit a Word document containing all of your screenshots. Use a screenshot tool, such as the Snipping Tool, for your screenshots and be sure to enlarge the images in the Word document before submitting. This will help make sure that your screenshots are an appropriate size for your instructor to be able to read them. Refer to this Use Snipping Tool to Capture Screenshots guide for help with taking screenshots.

Unformatted Attachment Preview

User generated content is uploaded by users for the purposes of learning and should be used following Studypool's honor code & terms of service.

Explanation & Answer

Attached. Pleas...


Anonymous
Really helpful material, saved me a great deal of time.

Studypool
4.7
Trustpilot
4.5
Sitejabber
4.4

Similar Content

Related Tags