Slides and notes for the talk "Explaining the 5 types of database and how to choose between them", a talk (to be) given at EuroPython 2025 on Friday 18th July 2025 by Tibs.
When the video recording is released, a link will be provided.
What database should you choose? Worse, what kind of database should you choose?
My aim is to give you enough information to make that choice, or at least be aware of what the alternatives are.
I'd argue that there are five important database types at the moment, differing in how they regard the "shape" of their data. I'll give a brief introduction to each, explaining how it works, and discuss why you might want to use that particular type of database, depending on your data and what you want to do with it. I'll show case at least one open source example of each.
I'll cover:
- Relational (PostgreSQL®, SQLite)
- Columnar (ClickHouse®)
- Document (OpenSearch®)
- Key Value (Valkey™️)
- and as an extra, Graph (Neo4J®)
slides.typ is the Typst source code for the slides. The PDF for the slides is slides.pdf. This version of the talk is aimed at 30 minutes or less.
slides-long.typ is a longer version of the talk, which also mentions transactions and OLTP/OLAP.
notes.md are the notes I made when writing the talk. They're not really useful to anyone else at the moment.
The slides are created using typst and the polylux package.
They use the Libertinus fonts - see https://github.com/alerque/libertinus.
To build the PDF I use the command line tool typst
. See the installation
instructions
from the typst GitHub repostory - on my mac
I install it with brew install typst
- and then
typst compile -f pdf slides.typ
The provided Makefile
can also produce the slides
(you'll need make
, either GNU or BSD should work).
Try
make slides
(this will run typst
and then open
the PDF) and make help
for what else it can do.
This talk and its related files are released under a Creative Commons Attribution-ShareAlike 4.0 International License.