Reference no: EM133626880
1 Design a NoSQL Schema:
AudioStream from Assessment 1 has a requirement to create a NoSQL database for streamlined read access. The data to be modelled is as follows:
Artists: Each artist has a unique ID, name, and may have other details like biography, birth date, etc.
Albums: Each album has a unique ID, name, release date, and is associated with a specific artist.
Songs: Each song has a unique ID, name, duration, and is linked to an album.
Reviews: Each review has a unique ID, is linked to a specific song, and includes details like the
review content, reviewer name, and review date.
a) Design a NoSQL (consider a document-oriented database like MongoDB for this task) schema for storing the above data. Your design should take into consideration the typical operations the application will need to perform, such as:
Retrieving all songs by a specific artist.
Retrieving all reviews for a specific song
Adding a new review for a song.
Updating the details of a song or an artist.
b) Data Modeling: Create sample data for artists, each with albums, and songs with reviews; pictorially depict how the data will be represented in the database.
c) Consider that you are going to be using Azure Cosmosdb for this case; peruse the following documentation
Retrieve all albums of an artist by artist name.
Retrieve all reviews of a song by song name.
d) Discussion: Discuss the benefits and potential drawbacks of your database design. For example, you could consider aspects like scalability, ease of querying, data redundancy, and so forth.