Up until now in the cohort we have stored data only in what are known as relational databases (SQL is the most well known type of relational DB querying language). Relational databases structure our data into tables. Today we will learn about a different type of database: a non-relational one.
In this lab you will be researching, either individually or in groups, answer to the following questions about noSQL databases. The intention is for you to spend some time learning about the fundamental differences between the type of databases we have seen before and the new type we will be learning about today. Even more importantly, you will learn about why two types of databases are used, and what situations fit each type of db.
Fork and clone this repository and answer questions as you research directly in the README. You do not have to submit this lab, but you will want to have it on hand for reference in the future.
- What does the term noSQL refer to, and what other term is often used synonymously with noSQL?
- In this class we will be using the document style of non-relational databases. What are the charecteristics of a document based db?
- In this class we will be using Mongo specificially as our no-SQL db. Look into Mongo and answer this question: what is the priamry difference between how Mongo is maintained vs SQL?
- Mongo DBs are organized into documents. Describe an example of a table in SQL that contains users, and then describe the equivalent DB setup in Mongo.
- What is an example situation where a non-relational database makes more sense versus a relational db?
- What are the benefits of SQL databases? NoSQL Databases?
- Explain the differences between ACID and BASE models.
Pick an additional reading to go through with a classmate. Reflect on how the article changes the discussion. What have you learned?
Note: You do not have to read about the different types of SQL and NoSQL. We will use PostgreSQL and MongoDB in this course.
- ACID vs. BASE Explained
- PostgreSQL Use Cases
- MongoDB Use Cases
- What the heck are you actually using NoSQL for?
- A co-Relational Model of Data for Large Shared Data Banks
- A brief history of databases
- NoSQL Databases: An Overview | ThoughtWorks
- When to choose CouchDB vs RDBMS?
- CAP Twelve Years Later: How the "Rules" Have Changed