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;
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:
The replication can get done in any of these two forms:
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.
The four broad classifications of NoSQL databases are key-value, graph, document, and column-family.
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.
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 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 hold entities, as well as the links that exists between these entities. Also, the entities are referred to as nodes with properties.
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.
 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.
 Han, Jing, et al. "Survey on NoSQL database." Pervasive computing and applications (ICPCA), 2011 6th international conference on. IEEE, 2011.
 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.
 Halpin, Terry, and Tony Morgan. Information modeling and relational databases. Morgan Kaufmann, 2010.
 Leavitt, N. (2010). Will NoSQL databases live up to their promise?. Computer, 43(2).
 Pokorny, J. (2013). NoSQL databases: a step to database scalability in web environment. International Journal of Web Information Systems, 9(1), 69-82.
 Sadalage, P. J., & Fowler, M. (2012). NoSQL distilled: a brief guide to the emerging world of polyglot persistence. Pearson Education.
 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.
No matter how close the deadline is, you will find quick solutions for your urgent assignments.
All assessments are written by experts based on research and credible sources. It also quality-approved by editors and proofreaders.
Our team consists of writers and PhD scholars with profound knowledge in their subject of study and deliver A+ quality solution.
We offer academic help services for a wide array of subjects.
We care about our students and guarantee the best price in the market to help them avail top academic services that fit any budget.
You will receive a confirmation email shortly in your subscribe email address.
You have already subscribed our newsletter.