1. Congratulations!
Congratulations! You made it to the end of the course. Let's review what you learned!
2. Chapter 1
In chapter one,
we saw the differences between NoSQL and relational databases
and the main concepts of key-value databases.
We learned some advantages
like simplicity,
horizontal scalability,
and flexibility,
and also some limitations,
such as that this kind of database doesn't offer complex queries or,
in some cases, they just search by key.
3. Chapter 1
We also discovered the cases in which this type of database is suitable,
such as user session information,
user profiles and user preferences,
shopping carts,
etc. By contrast, key-value databases
are often unsuitable
when searching for a key based on its value. We ended the chapter
with the case study of Editoo, a company that, thanks to the Redis database,
saw a reduction in downtime
and a higher performance.
4. Chapter 2
In chapter two,
we studied the basics of document databases.
We identified some advantages like
flexibility,
horizontal scalability,
and the fact that it is intuitive for developers.
On the other hand,
we learned that we need to care about the code
and redundant data.
5. Chapter 2
We recognized suitable cases for document databases
like catalogs,
event logging,
user profiles,
etc.,
and unsuitable cases
such as projects with very structured data.
At the end of this chapter, we analyzed the case study of Shutterfly, a company that uses the MongoDB database
and improved its performance.
6. Chapter 3
In chapter three,
we discovered column family databases.
We studied some advantages
like flexibility,
speed,
and horizontal scalability,
and also some limitations,
like the fact that they don't support multirow transactions,
joins,
or subqueries.
7. Chapter 3
We also saw the scenarios where they fit well,
like event logging,
Content Management Systems,
and time-series data.
As unsuitable cases, we explained that column family databases are not the best option when
we need to change the queries very often,
when we need complex queries and joins,
and when we don't need to deal with large amounts of data.
We finished the chapter with the case study of the Bigmate company that uses the Apache Cassandra database
and can handle millions of operations of concurrent users each second.
8. Chapter 4
The last chapter, chapter four,
introduced the main concepts of graph databases.
We saw some advantages like
flexibility,
high performance,
horizontal scalability,
and easiness of data representation;
and some limitations,
like that we can't store extremely large objects like BLOBs or CLOBs
and that this kind of modeling can be a significant change for developers.
9. Chapter 4
We examined suitable situations,
such as social graphs,
infectious diseases,
fraud detection,
location services,
etc.,
and unsuitable situations
like disconnected data,
unimportant relationships between data,
etc.
10. Chapter 4
We closed this final chapter with the case study of the Gousto company that uses the Neo4j database.
Gousto got better cost control
and an increased number of customers that select recommended recipes.
11. Thank you!
Thank you very much for your time!