NoSQL Data Storage
While relational database management system (RDBMS) are the workhorse of the data storage world, they are based on a set-model that is not appropriate for certain kinds of data storage needs. Recently, non-relational databases that use query languages other than SQL have become more common. This lesson looks at key-value, columnar, document, and graph databases as alternatives to relational databases. Two genres of non-relational (or NoSQL) database management systems are key-value and columnar databases such as MongoDB, Riak,Redis, and HBase. In this module, we'll take a look at the different genres and how they approach data storage. We'll then focus on the three databases aforementioned to explore when these two genres present appropriate storage mechanisms. Document databases provide a means of stored hierarchically structured data while graph databases are best suited to storing network information such as that occurring in social network graphs.
Objectives
Upon completion of this lesson, you will be able to
Upon completion of this lesson, you will be able to
- describe non-relational databases
- define key-value and columnar databases
- explore Riak, Redis, and HBase
- define document and graph databases
- explore MongoDB and CouchDB as examples of document databases
- explore Neo4J as an example of a graph database
- insert and retrieve data from MongoDB through R
Required Readings
Example Code
- TBD
Supporting Software & Tools
- TBD
Suggested Readings
- A Comparison of NoSQL Database Management Systems & Models.
- Sadalage, P. (2014). NoSQL Databases: An Overview. ThoughtWord, Oct 3, 2014.
- Peng, Roger. Interacting with data using the filehash package for R.
- Saya, Rami. (2015). Introduction to Key-Value Databases and Redis. Canadian Developer Connection. April 6, 2015.