Relational Database Analysis

946 Words2 Pages

When discussing the topic of databases most individual’s minds go to a relational database. Where data is stored in tables and they are inter-related to one another by the use of primary and foreign keys. The increased interest on big data has caused some companies to forgo the standard RDBMS in favor of a system that would better suit their needs. This is where NoSQL comes into play. NoSQL – or “Not Only SQL” – uses different data structures to house data. These structures could look similar to a relational database but others look completely different. Depending on the specific structure used, your choice of Database Management Systems will change as well. There are four common data models to use; Key/Value Stores, Document Databases, Table-Style Databases, and Graph Database (Data Access for Highly Scalable Solutions).
Key Value Stores
Looking at the different data storage models, this is the most simple to implement. This is a way to have a schema-less design for storing data. In essence, the store will act as a large hash table that is separated into keys and values (Data Access ref). To the DBMS, the values are opaque – a random assortment of 1’s and 0’s – and the application sitting on top of the database will then translate the binary to useful information. Hash functions are then used to determine where the values will be physically stored.
Document Databases
Document Databases are similar to Key/Value Stores but documents, not values, are stored within the database. Documents can come in many different forms such as XML, Microsoft Word documents, and even PDFs. Like a Key/Value Store, a Document Database will assign a key to each document a unique key in order to locate it and the end users can query by the key. The...

... middle of paper ...

...nage the transactions in the database. NoSQL goes away from ACID and uses BASE. Base stands for Basically Available, Soft-state, and Eventual Consistency. Basically available means the system will be available, although the end users might receive failure messages due to the changing state of the data. Soft state means that the system will always be updating or changing overtime. Since it is changing constantly, the data is never assumed to be hard or where it is for certain. Finally, Eventual consistency means a consistent state will occur once it is finished receiving input from users ( Joe Celko’s guide to NoSQL). The use of this BASE model gives NoSQL better performance at the cost of data consistency. As stated earlier, NoSQL, when given the choice between the three options in the CAP Theorem, would chose availability and partition Tolerance over consistency.

Open Document