Research Assignment on Relational and NoSQL
Databases in Regards to Transaction Management
Techniques of Concurrency and Recovery
Databases have become almost as integral to businesses today as the staff that work there. So choosing the right database to fit the needs of the business at the costs available has become an important job. What this paper aims to do is discuss the ideals behind relational databases and NoSQL databases as well as compare both “open source” to premium services focusing on transaction management techniques of concurrency and recovery of said database. That was a mouthful. To say it in a simpler way, “Which type of database best fits the business?” and “What do I get for my money?”
Relational databases operate under a set of properties that are abbreviated as ACID (Atomicity, Consistency, Isolation, Durability). Every individual, logical operation in a database is called a transaction. If you read, update, delete, etc.. any field in a table it is said you have performed a transaction. In a relational model the transaction should be “all or nothing”, which is what is meant by Atomicity. After a transaction the database should be valid as laid out by the specified schema. This is known as keeping the database in a consistent state. Concurrency control aims to make sure every transaction performs the task it was meant to do with the correct results being met or else “rolled back” or reset to where the database was before the transaction
Key/Value Database is a type of NoSQL Database. NoSQL Database stands for Not Only SQL Database which means that the database can store heterogeneous data. The Key/Value database does not follow the conventional relational database way of storing the data. Every piece of data that needs to go into the DB, gets a key associated with it. Additionally, few other metadata also gets attached to the data. It stores data as hash table where each key is unique and the value can be string, array of strings, integer etc. Initially, data is stored in in-memory, but after particular time intervals or depending upon some specified condition, data is moved to disk in the form of Shards. Shards are nothing but XML
Most database ensure that they follow the ACID (Atomicity, Consistency, Isolation, Durability) properties to ensure the transactions are reliable. The studies show that stores that guarantee ACID property generally have poor availability. As a result, Dynamo focusses on application that have weaker consistency.
In order to overcome these limitations, a new database model known as Not Only SQL (NoSQL) database emerged with a set of new features. The main objective of NoSQL is not to discard SQL, but to be used as an alternative database data model for new features [1] [2] [3]. NoSQL database increases the performance of relational databases by a set of new characteristics and advantages. In contrast to relational databases, NoSQL databases introduced an additional feature that provides flexible and horizontal scalability and taking advantage of new clusters. The rise of NoSQL provides cost-effective management of data in modern web applications. With its new features, NoSQL can be used with applications that have a large transaction, and require low-latency access to huge datasets, service availability while
The wider insight about relational and non-relational database performance, particularly MySQL and Hadoop was gathered through the literature survey. By read textbooks, reviewing academic journals and research papers, I founded a gap in the performance of relational database compare to the non-relational.
The idea of relational database was first introduced by E.F.Codd at IBM in 1970. It is a kind of computer database in which data is stored in Relations and is represented in the form of tables with rows and columns. Databases can vary in sizes, ranging from very small and simple to very large and complex ones. Database users can access the data practically in an unlimited number of ways. Relational databases help in finding the information in a quick and efficient manner that one is looking for.Today many popular databases use the model of relational database.
Abstract – With companies such as Facebook and Google producing large volumes of data, known as Big Data, the popularity of NoSQL databases has risen in the past decade as traditional relational databases cannot handle the vast amount of data as it was not designed to effectively manage such a large data collection. The following research paper gives an introduction to non-relational databases otherwise known as NoSQL. It defines what a NoSQL database is, the origins of its existence and the various types of NoSQL databases. It goes on to discuss the advantages and disadvantages of non-relational databases and the reason companies in the past decade are selecting to implement these databases over traditional relational databases.
Connolly and Carolyn (2004) define a database as a structureordesign that consists of theclient’s data as well as metadata. It is also a persistent, logicallycoherentrepository of inherentlymeaningful data that is relevant to someaspects of therealworld. The database consists of data organized in a systematicway, anditallowseasy retrieval of information, analysis, updating andoutput of data. Thatdata can be in theform of graphics, scripts, reports, text, tables, andsoon. Most of thecomputerapplications are databases at their core. Manycompaniesusuallyhave a lot of data, andsotheyhavebig databases that can handlethatlargeamount of data. It is wherenothe database administratorcomes into playtopensurepropermanagement of the database sothatthe organizational data is safe from anyintrudersor data corruption (Jones, 2014). The database is whatcontrolsthedata of theentireorganization, andany tampering of the databases can culminate to the stoppage of businessoperations.
The basic problem of concurrency control is sharing the data in database at a time by many numbers of users. Due to many users accessing data at a time which causes to produce the undesirable output or system failure even the transaction is correct. This problem may not occur due to read operations. This problem is due to manipulating data in database such that performing creates, modify and write operations on data items. The delete operation has capability of deleting the data items which is similar to modify operation. And the insert operation have able to create a new data items and assign the values if data items are not exist before staring the transaction which is similar to the create and write operation in database.
As a Database Administrator my responsibility is to manage the performance, data integrity and security of database. Troubleshooting the issues generated by the user and also involving in the planning and developing the database. I should make sure that data remains consistent throughout the database. Data should be defined very clearly in the database by following normalization rules.
Note also that if one is relying on explicit locking to prevent concurrent changes, one should either use Read Committed mode, or in Repeatable Read mode be careful to obtain locks before performing queries. A lock obtained by a repeatable read transaction guarantees that no other transactions modifying the table are still running, but if the snapshot seen by the transaction predates obtaining the lock, it might predate some now-committed changes in the table. A repeatable read transaction's snapshot is actually frozen at the start of its first query or data-modification command (SELECT, INSERT, UPDATE, or DELETE), so
A No-SQL (often interpreted as Not Only SQL) database provides a mechanism for storage and retrieval of data that is modelled in means other than the tabular relations used in relational databases. Motivations for this approach include simplicity of design, horizontal scaling and finer control over availability.
According to their uses, databases are also classified as transactional databases and data warehouses. A transactional database is optimised for capturing and storing data that are transacted into the system on a regular basis (Choudhuri, 2014). A relational database supports these transactions; therefore, transactional databases usually have data organised in a relational format to optimise quick data entry and storage. On the other hand, data warehouses support historic and integrated data storage that is optimised for reporting and analysis purposes. In order to make the data retrieval easy and
The modern RDBMS advancements are not capable of supporting unstructured information with ideal space necessity. The plan winds up plainly mind-boggling and is henceforth troublesome for designers. The requirement for unstructured information administration is so annoying with conventional RDBMS arrangements (Big data in financial services industry: Market trends, challenges, and prospects 2013 - 2018). Moreover, RDBMS turns out to be an exorbitant answer for creating light-footed web applications with direct information investigation necessities. NoSQL is developing as a proficient possibility in this situation, which connects the issues related with RDBMS innovation. The market development can credit to creative dispatches of NoSQL arrangements, and collective endeavors by NoSQL sellers and clients. The endeavors of organizations, to enhance their market offerings, are creating the request of NoSQL, as a back-end bolster (Big data in financial services industry: Market trends, challenges, and prospects 2013 - 2018). The emergence of agile software development is creating the demand for NoSQL (Big data in financial services industry: Market trends, challenges, and prospects 2013 - 2018). They offer users much more avenues to accept data in many different forms. NoSQL is adaptable as SQL but offers many more uses that can apply to many organizations.
Data is at the centre of most today’s businesses and businesses must pay close attention to how they access, store and use data. One of the systems at the heart of current data management is different database management system.
The research would concentrate more on how database management system applications have progressed since the past decade. The research objective is to study the evolution of DBMS and learn about the emerging alternative applications for this traditional system. The positive and negative effects