Wednesday, May 6, 2020

Comparison of FLOSS SQL and NoSQL in Web Applications

Question: Describe about the Comparison of FLOSS SQL and NoSQL in Web Applications. Answer: Introduction In this literature review, the comparison between the database management systems that depends either on SQL or FLOSS NoSQL used in different web application is discussed. In addition to this difference of functionalities between both databases are also provided in this literature review. SQL vs. NoSQL For the different websites and its huge client base it is important to maintain distributed or relational database so that it can serve and respond to its customers faster and better. In the traditional databases mainly the schema based relational databases are used. Different web applications such as, online social networks, photo sharing, ecommerce etc. requires low-latency backend database system to store critical client data, such asaccount settings, emails, posts from the user, shopping carts, and photos (Birgen, Preisig and Morud 2014). However use of the SQL databases in the large applications creates extra overhead for the developers as this type of databases are not scalable with the demand of the users. In order to overcome this hurdles related to scalability developers tried two ways to solve it. One is application specific scalability techniques and another is to replace the traditional data base system with the NoSQL system which provides scalability by its shedding functionality. Both SQl and NoSQL database systems has their advantages and drawbacks. Therefore while choosing between the two database systems it is important for the developer to know the requirement of the application clearly. A survey on Relational Database vs. NoSQL databases: According to Mohamed, Altrafi and Ismail (2014), the evolution of the data storage is initiated by the requirement of handling a large volume of user data by the developers at backend. As the relational databases at the clusters are not able to manage the large amount data gathered at the clusters. According to the authors NoSQL is successful in todays scenario for the following features, Manages data at the clusters very well. Does not use the relational model. Open source. The popularity of the FLOSS (Free, libre, open source software) NoSQL databases are getting increased day by day since the software is developed by an informal collaborative network of programmers. In addition to this the source codes of this softwares are licensed free of cost. Consequently the source codes of the NoSQL database can be modified, improved. These improvements are helpful in better performance of database. Again, if we consider the support for the systems then it can be said that relational database are supported and backed by professional, on the contrary NoSQL databases are supported by volunteers. In contrast with the relational database, the NoSQL databases are able to scale horizontally, whereas the relational databases are scaled vertically. In case of NoSQL, consistency is weak, the last updated write to the database is visible to the other users, and source code is complex to understand and is parallelizable (Birgen, Preisig and Morud 2014). At the end it can be stated that NoSQL is not meant to be the replacement of the relational database rather functionally different alternative for the users. In addition to this the NoSQL can be thought as the aggregation of different characteristics FLOSS and relational database. On the contrary according to other authors like Atzeni et al (2013), the abuse of privileges that are provided by the FLOSS databases like NoSQL may lead to the questionable claims of copyright over the software. In addition to this, the monetary values of this softwares are not clear to the governments (Khan 2012). Therefore, it is impossible to figure out the way in which these products are going to be taxed. Comparison of NoSQL and SQL Databases in the Cloud The FLOSS NoSQL databases are now used widely for the different web applications since the throughput of relational databases is less than the NoSQL databases while processing a huge amount of data. The main emphasis of the development of NoSQL is to use the advantages of storing key values, document database and graph database. Since the RDBMS is able to manage vertical scaling (adding new hardware to existing machines). For NoSQL databases the users does not need to maintain a predefined structure or schema. On the contrary the NoSQL databases are able to manage and the handle the data that is generated by adding more number of machines to existing cluster. Therefore it is helpful for the networks where it is assumed that large number of machines can be added to the cluster to accommodate more number of users (Hammes, Medero and Mitchell, 2014). One of the examples of NoSQL data base is Mongo DB. Moreover, the object relation mapping in the databases is expensive, time consuming an d asks the developers to treat the data relationally even though it is not always needed. Relational database systems is developed using the philosophy One size fits all. According to this philosophy it is assumed that RDBMs are the generic tools that can handle all kind of data management requirements. In case of relational databases, it provides ACID transactions and is considered as necessary for each and every transaction. Practically it is seen that, for some specific web applications it is not necessary and hence it only adds extra overhead to the back end data administrators (Sharma and Dave). The NoSQL databases compromises with the consistency of data as it is intended to support the availability of the data and partition tolerance. As the relational database systems are characterized by the ACID (Atomicity, consistency, integrity and durability), similarly the NoSQL databases are characterized by BASE (Basically available, soft state, Eventual consistency). When users want to retrieve data from the database they use the complex SQL (structured query language) for the relational database (Hammes, Medero and Mitchell 2014). On the other hand to retrieve the data in NoSQL it uses much simpler query language. Conclusion From the above discussion on SQL and NoSQL it is clear that SQL data bases are best as a generic solution for the application. This idea of generic solution for every solution is criticized by different authors. The reason behind this criticism is different requirements in terms of performance, consistency and so on can be observed for different applications. Therefore, 'One Size Fits All' concept has different flaws that can affect the performance of the web applications. Hence, for different web applications most probable and secure database is NoSQL databases due to its scalability and security features. References Atzeni, P., Jensen, C.S., Orsi, G., Ram, S., Tanca, L. and Torlone, R., 2013. The relational model is dead, SQL is dead, and I don't feel so good myself.ACM SIGMOD Record,42(2), pp.64-68. Birgen, C., Preisig, H. and Morud, J., 2014. SQL vs. NoSQL. Fowler, M. and Sadalage, P.J., 2012. NoSQL distilled. Hammes, D., Medero, H. and Mitchell, H., 2014. Comparison of NoSQL and SQL Databases in the Cloud.Proceedings of the Southern Association for Information Systems (SAIS), Macon, GA, pp.21-22. Khan, M.A., 2012. SQL vs NoSQL. Lawrence, R., 2014, March. Integration and virtualization of relational SQL and NoSQL systems including MySQL and MongoDB. InComputational Science and Computational Intelligence (CSCI), 2014 International Conference on(Vol. 1, pp. 285-290). IEEE. Mohamed, M.A., Altrafi, O.G. and Ismail, M.O., 2014. Relational vs. NoSQL databases: A survey.International Journal of Computer and Information Technology,3(03), pp.598-601. Sharma, V. and Dave, M., 2012. SQL and NoSQL Databases.International Journal of Advanced Research in Computer Science and Software Engineering,2(8).

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.