SquirtleSquad1988 / sql-nosql-discussion

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

General Assembly Logo

Discussion: Relational and Non-relational Databases

Objectives

By the end of this, developers should be able to:

  • Identify use cases where relational or non-relational databases are appropriate.
  • List three strengths of relational databases.
  • List three strengths of non-relational databases.

Introduction

You should have read the following:

Take five minutes to review these readings. Just skim to refresh your memory. Then, take fifteen minutes to share your notes with your classmates and to prepare for discussion. Discuss with each other and attempt to answer the following questions.

Discussion

  1. According to Sarah Mei, what are the benefits of using MongoDB?
  2. Why wasn't MongoDB a good fit for the project she was developing?
  3. What should you consider when choosing MongoDB or a relational database like Postgres?
  4. Suppose you were building a blog with comments. Should a comment on one article appear on any other article? Will you ever view comments apart from their article?
  5. Suppose this blog also had tags. Should tags appear on multiple articles? Which is the "parent" relation?
  6. Contrast the strength "ownership" between blog posts and comments, and blog posts and tags.
  7. Suppose you had to edit a tag. In a relational database, how many rows need to be changed (best and worst case)? In a document database, how many documents need to be changed (best and worst case)?

Compare & Contrast

Put together a list of similarities and differences between relational and non-relational databases. You can start with comparisons provided by specific vendors, such as the one found in NoSQL Databases Explained. You might wish to organize your thoughts with a Venn diagram or a series of tables.

Additional Readings

Pick an additional reading to go through with a classmate. Reflect on how the article changes the discussion. What have you learned?

  1. All content is licensed under a CC­BY­NC­SA 4.0 license.
  2. All software code is licensed under GNU GPLv3. For commercial use or alternative licensing, please contact legal@ga.co.

About

License:Other