SQL versus MongoDB from an application development point of view - Ankit, Bajpai (Kansas State University, 2015)
There are many formats in which digital information is stored in order to share and re-use it by different applications. The web can hardly be called old and already there is huge research going on to come up with better formats and strategies to share information. Ten years ago formats such as XML, CSV were the primary data interchange formats. And these formats were huge improvements over SGML (Standard Generalized Markup Language). It’s no secret that in last few years there has been a huge transformation in the world of data interchange. More lightweight, bandwidth-non-intensive JSON has taken over traditional formats such as XML and CSV. BigData is the next big thing in computer sciences and JSON has emerged as a key player in BigData database technologies. JSON is the preferred format for web-centric, “NoSQL” databases. These databases are intended to accommodate massive scalability and designed to store data which does not follow any columnar or relational model. Almost all modern programming languages support object oriented concepts, and most of the entity modeling is done in the form of objects. JSON stands for Java Script object notation and as the name suggests this object oriented nature helps modeling entities very naturally. And hence the exchange of data between the application logic and database is seamless. The aim of this report is to develop two similar applications, one with traditional SQL as the backend, and the other with a JSON supporting MongoDB. I am going to build real life functionalities and test the performance of various queries. I will also discuss other aspects of databases such as building a Full Text Index (FTI) and search optimization. Finally I will plot graphs to study the trend in execution time of insertion, deletion, joins and co- relational queries with and without indexes for SQL database, and compare them with the execution trend of MongoDB queries.
Keywords: NoSQL; Computer Science (0984)