Using NoSQL Database In Movie Maniacs Web Platform

Design and Development of the Database for Movie Maniacs

A NoSQL database has been used for the purpose of serving as the database backend for the web based platform of the Movie Maniacs. NoSQL database are one of the most commonly used database models in the modern days (Boicea, Radulescu and Agapin 2012). With the significant changes in the variety, volume and agility of data, the need for a change in the traditional relational database structure was badly in need. Millions of users around the globe are now accessing the same database from various platforms in order to expect the quickest of services. In this scenario, it is extremely necessary to make the data that is being accessed and the database more scalable and rich with high-end performance (Chodorow 2013). This is where the need for a NoSQL database peeps in. MongoDB, which has been used for this project is one of the most preferable NoSQL database platforms available. It focuses on performance, consistency and reliability more than the relationship based structure of the involved database entities (Kanwar, Trivedi and Singh 2013).

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

The database that has been designed and developed for the purpose of Movie Maniacs is more of an unstructured cluster of data that are piled onto one another in a meaningful manner without having to worry about the contents of it. This means that it is not necessary for every of the entity or collection in this case to have the same fields and or data in all the fields.

The movie_collection collection that has been created in this database to hold the necessary data of the movies. This collection is meant to hold the entire data for all the fields that are related to every particular movie. The table or collection holds a unique identifier for each movie, their names, directors, actor list, Oscar count and also a special of the database allows to keep the user reviews and ratings that have been made for each movie. There can be several leading actors in the movie, hence their details have been store d in an array like field within each collection. In addition, the Reviews section is also wrapped with in an array. Each element of the array represents a complete review entity that has been posted by a user. It contains the basic details like the reviewer’s name, review data, ratings and so on. 

Indexes in NoSQL database helps in the process of quick accessing of data from the database with the help of different queries. In this case, the MovieId field has been made the index of the collection (Li and Manoharan 2013). This has been done with the motive to simplify the search process as the MovieId column is the one that is meant to be the unique constraint among all other fields.

Indexes in NoSQL Database

Moreover, it can be prophesied easily that when this database is to be connected to a live and working software or web based platform, most of the data fetch queries will be using the unique ID of the movie entries. Hence, the following index will allow in the easy and quick retrieval of necessary data from the respective collection.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

As mentioned in the section above, only one collection has been made within the database that is the movie_collection. This collection holds data about all the movies as a single entity. The Reviews section of the movies were merged into this single collection as a sub-array only for the entries who needed them. This helps to easily spot the review ratings and comment references of each movie within the database just from a single collection and the relationship between the movie and the review is clearly depicted. This process of representing a possibly different table that can be related directly, into one and only one table is known as Embedding in MongoDB.

However, the relationships could have been differently handled as well. That is, there could have been introduced the process of referencing. Referencing, though is one of the most commonly recognized terms from relational database (Birgen, Preisig and Morud 2014). Here, the reviews data should have been represented as a separate collection with Id references to the main movie_collection collection. In case the database is being accessed from multiple locations, the referencing style of relationship establishment is more preferred, nevertheless for the data usefulness in terms of parent documents only, embedding is more preferred (Liu 2012).

The movie_collection can be improved to suffice more functionality in a certain fields which are:

One of them being, there must be opportunities for the database to separately store user or reviewer information. This will not only allow the users to create an account on the database with their necessary data but will also allow the database to keep proper track of the visitors and reviewers. This data will be more useful in data analysis.

In addition, as mentioned above, the relationships should be separately handled in the form of references and multiple collections. 

References

Birgen, C., Preisig, H. and Morud, J., 2014. SQL vs. NoSQL. Norwegian University of Science and Technology, Scholar article.

Boicea, A., Radulescu, F. and Agapin, L.I., 2012, September. MongoDB vs Oracle–database comparison. In 2012 third international conference on emerging intelligent data and web technologies (pp. 330-335). IEEE.

Chodorow, K., 2013. MongoDB: The Definitive Guide: Powerful and Scalable Data Storage. ” O’Reilly Media, Inc.”.

Horn, T., Krause, C. and Tichy, M., 2014, July. The TTC 2014 Movie Database Case. In [email protected] STAF (pp. 93-97).

Kanwar, R., Trivedi, P. and Singh, K., 2013. NoSQL, a solution for distributed database management system. International journal of computer applications, 67(2).

Li, Y. and Manoharan, S., 2013, August. A performance comparison of SQL and NoSQL databases. In Communications, computers and signal processing (PACRIM), 2013 IEEE pacific rim conference on (pp. 15-19). IEEE.

Liu, J., Cyphers, S., Pasupat, P., McGraw, I. and Glass, J., 2012. A conversational movie search system based on conditional random fields. In Thirteenth Annual Conference of the International Speech Communication Association.

McCreary, D. and Kelly, A., 2014. Making sense of NoSQL. Shelter Island: Manning, pp.19-20.