Last day of the OFFER FLAT 20% off & $20 sign up bonus Order Now

Last day of the offer FLAT 20% off & $20 sign up bonus

us

Free Resources

  • icon 67K+ Completed Assignments
  • icon 1.5K+ PhD Experts
  • icon 100+ Subjects we cater
  • icon 100% Secure Payment

J380 Research Methods

Published : 20-Sep,2021  |  Views : 10

Question:

The development of the internet as well as cloud computing has brought to light the challenges of using the traditional relational databases. This is because the internet and other technologies of the 21st century require databases that have the ability to efficiently store and process large amounts of data, and high performance when writing and reading.
 
Large scale and applications that have high concurrency, for example, search engines, have shown the inadequacy of using the relational databases for query and storage of dynamic user data. In order to solve the above mentioned challenges, the creation of NoSQL which is a non-relational database came about.  
 
This paper is a discussion of the background, data model, and the essential characteristics of NoSQL; it also talks of the classifications of NoSQL, according to the CAP theorem. There is also a description of the typical NoSQL databases and some of the properties that make it a good choice for enterprises.

Answer:

Introduction

A computing system entails the movement of large data into and from the web every day and this can pose database security challenges. When a cyber-attacker is able to gain access into an enterprise database, the attacker acquires excellent control over the most vital data. For instance, an attacker of SQL injection inserts malicious code into statements that the application passes to the database layer. These allows the attacker a chance to do as much as they would like with the data which includes accessing unauthorized data, and deleting, altering, or even inserting new information (Han, Haihong & Du 2011).

Over the years, there has been a steady decline in the exploitation of SQL injection as a result of increased awareness and secure frameworks; it has, however, remained a means of exploiting system vulnerabilities and the impact can be very high. Relational database management systems (RDBMS), as one of the secure frameworks, are used to handle a section of the data. The concept of a relational model of data came about in 1970 through E.F. Codd; it eased data modeling and application programming (Halpin and Tony 2010). The benefits of relational model would in time surpass what was expected for it is effectively suited for client-server programming and day it is a very efficient technology used for the storage of structured data in business and web applications.

The constant development of the internet and cloud computing has brought about the emergence of different kinds of applications and subsequently an increased demand for the non-relational database technology is aspects such as;

  • High concurrent reading and writing with little dormancy – the concurrency needs of database application must get met and likewise, customer satisfaction must be enhanced through increased program reaction.
  • Efficient storage for large amounts of data and its access requirements – search engines and other large applications require a database that has adequate data storage, and that can respond well to the needs of so many users in traffic at any particular time.

NOSQL

NoSQL databases are a new type of databases that has seen much increase in its use over the last decade; it has also challenged the dominance that relational databases have had for long. The software industry has for a long time depended on relational databases and it has provided mechanisms for persistent data storage, transactions, concurrency control, interface standardization, and tools integration for application data and reporting (Dittrich et al 2012). NoSQL refers to Not Only SQL; it is a non-relational database that relies on different storage mechanisms such as key-value store, document stores, and graphs among others (Han et al 2011). The modern large-scale applications have come with their set of new requirements, and these have facilitated the broad adoption of these non-relational databases. These applications are such as Facebook, Twitter, Google, and Amazon; all of them seek to distribute data across a large number of servers.

Leavitt (2010) explains that traditional relational databases cannot meet scalability requirements that demand all operations of a single transaction get executed by a single database node. Therefore, NoSQL was developed to deal with these new kinds of database challenges.

Application developers often face problems of impendence misalliance between data structures that have an in-memory and the rational data structures; NoSQL allow the developers to get over these problems.  The developers, therefore, do not have to convert data structures that are in-memory into being relational. Also, the use of databases as integration points for database encapsulation with applications and integration using services is now fading. With the web a solid and established platform, it is now a requirement to change how data gets stored as the need to run on clusters in a bid to support massive data volumes grows (Sadalage & Fowler 2012).

There is vast difference between relational database modeling and the kind of data structures used by application developers. However, usage of data structures, which are modeled by developers, to solve various domain problems has led to a shift from relational modeling on to aggregate models powered by Domain Driven Design. An aggregate is a group of data that users interact with as a unit; they form the limits for the operations of ACID with the database, document, key-value, and column family databases and all of them can be seen as types of aggregate-oriented database (Pokorny 2013).

Aggregates ease the databases’ management of data storage over clusters, allowing a data unit to stay on any machine; upon retrieval from the database, the data unit retrieves from the database all associated data along with it. Aggregate-oriented databases perform best when the interaction of most data gets done with the same aggregate; they also make handling of inter-aggregate relationships more difficult to handle compared to intra-aggregate relationships. These databases also ease the distribution because the distribution mechanism moves the aggregate without worrying about associated data because all the linked data is held in the total.

The distribution of data can get done in two stlyes:

  • Sharding – using this style, different data gets distributed across many servers so that each server performs as the lone source for a subsection of data.
  • Replication – using this style, all the data is held in all the different places within the database; these data gets copied from across the multiple sources.

The replication can get done in any of these two forms:

  • Master-slave - through it, one node becomes the master, also the official copy, and it deals with writes while the other takes the position of a slave and it synchronizes with the master by way of handling reads,
  • Peer-to-peer - through it, all nodes get allowed to write; through coordination between the nodes, the copies of data they hold are then synchronized. (Tauro, Shreeharsha and Shreeharsha 2012).

CAP theorem

Proper management of consistency, availability, and partition toleration, which are abbreviated CAP, is very important in a system that is distributed. Eric Brewer while talking of CAP theorem in relation to a distributed system indicates just two of the CAP elements can get chosen by the system (Pokorny 2013). Most NoSQL databases aim at giving options and so a developer has alternatives when it comes to tuning databases according to their requirements. For instance, with consideration to the distributed key-value database by Riak Cluster, there is in essence three variables r, w, and n. The variable r represents the quantity of nodes that ought to act in response to a read request for it to be deemed a success. The variable w represents the total amount of nodes that ought to act upon a write request for it to be thought a success. The variable n represents the sum of nodes where data gets replicated i.e. the replication factor.

Types of NOSQL databases

The four broad classifications of NoSQL databases are key-value, graph, document, and column-family.

Key-Value databases

The databases allow a user to acquire key value from, erase key value from, or put a key value into a data store. The said key value is a bead stored by the data store with no knowledge of or minding its content. The key-value stores always utilize primary-key access and, hence, their performance is great and can easily get scaled.

Document databases

In these databases, documents are the primary concept; the documents stored and retrieved by these databases can be JSON, XML, BSON, among others. The documents are hierarchical tree data structures which are self-describing and can constitute of maps, scalar values, and collections. The stored documents should be similar but they do not necessarily have to be exactly the same.

Column family stores

Column-family databases accumulate data into column families. These data gets stored in rows that have multiple columns with a row key as the link.

Graph Databases

Graph databases hold entities, as well as the links that exists between these entities. Also, the entities are referred to as nodes with properties.

Conclusion

In conclusion, NoSQL databases have brought about a wide array of choices, it, however, does not denote the demise of RDBMS databases.  The age of multilingual preservation, which is a method that uses distinct technologies to store data and to manage varying needs that accompany data storage, has gotten replaced by NoSQL. The number and information required for storage and application development will determine the choice of database program use, and the security, and its scalability use.

References

[1] Dittrich, K. R., et al. Engineering databases: connecting islands of automation through databases. Eds. Jose L. Encarnacao, and Peter C. Lockemann. Springer Science & Business Media, 2012.

[2] Han, Jing, et al. "Survey on NoSQL database." Pervasive computing and applications (ICPCA), 2011 6th international conference on. IEEE, 2011.

[3] Han, J., Haihong, E., Le, G., & Du, J. (2011, October). Survey on NoSQL database. In Pervasive computing and applications (ICPCA), 2011 6th international conference on (pp. 363-366). IEEE.

[4] Halpin, Terry, and Tony Morgan. Information modeling and relational databases. Morgan Kaufmann, 2010.

[5] Leavitt, N. (2010). Will NoSQL databases live up to their promise?. Computer, 43(2).

[6] Pokorny, J. (2013). NoSQL databases: a step to database scalability in web environment. International Journal of Web Information Systems, 9(1), 69-82.

[7] Sadalage, P. J., & Fowler, M. (2012). NoSQL distilled: a brief guide to the emerging world of polyglot persistence. Pearson Education.

[8] Tauro, Clarence JM, Shreeharsha Aravindh, and A. B. Shreeharsha. "Comparative study of the new generation, agile, scalable, high performance NOSQL databases." International Journal of Computer Applications 48.20 (2012): 1-4.

Our Amazing Features

delivery

No missing deadline risk

No matter how close the deadline is, you will find quick solutions for your urgent assignments.

work

100% Plagiarism-free content

All assessments are written by experts based on research and credible sources. It also quality-approved by editors and proofreaders.

time

500+ subject matter experts

Our team consists of writers and PhD scholars with profound knowledge in their subject of study and deliver A+ quality solution.

subject

Covers all subjects

We offer academic help services for a wide array of subjects.

price

Pocket-friendly rate

We care about our students and guarantee the best price in the market to help them avail top academic services that fit any budget.

Not sure yet?

Get in touch with us or

get free price quote.

Get A Free Quote