Background image
logologo symbol

5 - Back-end & Infrastructure

Back-end - NoSQL in the cloud (16h-20h)

Description

Non relational databases (or NoSQL), like they are sometimes called, have been gaining popularity in recent years. They differ from relational databases in the way that the relations between the data is not the main concern of the developer when creating the database. This causes data to be repeated and sometimes it can be hard to connect different datasets. On the other hand changing the data schema is much easier than in relational databases and there fore NoSQL has been gaining popularity in agile software development where things can change quickly and developers need to respond quickly to the changes.
To sum it up the for NoSQL:
PROS:
  • Easy to change the schema "on the fly"
  • More availability in the cloud (database as a service)
  • Data is often stored as JSON
CONS:
  • Data relation can become complicated
  • The data might change so there is no promise that it will always look the way it does
  • Lack of support in older software (legacy systems)

Topics

Here are some things to google if you want to know more about the topic:
  • MongoDB
  • Firebase
  • Non-relational databases
  • Database as a service
  • Document based databases
  • NoSQL

Goals

Knowledge

Understand how to make a server component
Understand what a NoSQL database is
Understand the difference between a NoSQL and SQL database
Understand how to query a NoSQL database

Skills

Be able to create a web server that gets data from a database
Be able to respond to a get request and serve some data from the server

Idea for return

  • Follow this tutorial to make a working Next.js with MongoDB stack
  • Play around with the code, add some things to the code like other routes, more collection to the database etc...