🧠Knowledge Series #18: Databases Explained
CRUD, SQL, NoSQL and everything you need to know about the practical role of databases
🔒The Knowledge Series is a collection of easy to read guides designed to help you plug the gaps in your tech knowledge so that you feel more confident when chatting to colleagues. Clearly explained in plain English. One topic at a time.
If you’re a free subscriber and you’d like to upgrade to unlock them you can do so below. Or you can find out more about paid access here.
Hi product people 👋,
Welcome back! In this Knowledge Series, we’re going to explore one area of the tech stack that’s critical for both engineers and non-engineers alike. We’ve previously covered SQL as a means for querying a database, but databases themselves are a critical topic to know about in their own right.
Netflix without a database would have no movie titles.
Ebay without a database would have no product information.
Stripe without a database would have no place to store transactions.
But understanding databases can be confusing. There are a complex variety of different types of databases available and some of these are used for customer facing parts of your product and some are used for non-customer facing parts of product development like reporting and analytics.
In this edition of the Knowledge Series we’ll dig into the most important bits you need to know about databases so that the next time they come up in conversation you’re well equipped to understand what’s being said.
Coming up:
What does a database do?
Practical ways product teams use databases
How to get some hands on experience
A complete list of major databases, categorised by use cases and technology
What does a database do?
In simple terms, a database stores data. Just like your brain, a folder or a notepad stores information, a database stores information that can be easily retrieved later (although for many of us, retrieving information stored in our brains can sometimes be difficult if we haven’t written it down!).
In a product context, a database stores information relating to your product. And an application can have a few different databases, depending on the complexity, age and scale of your business. The less databases you have to manage, the easier it is for engineering, devops and data scientists, too. But different types of data might require different types of databases - more on that later.
When working with databases you’ll sometimes come across the acronym CRUD. This stands for create, read, update and delete:
Create: creating or add new entries or records.
Read: reading, retrieving, searching, or viewing existing entries or records.
Update: updating or modifying existing entries or records.
Delete: removing or deleting existing entries or records.
For non-engineering members of product teams, interactions with databases typically involve reading and retrieving information from a database, rather than creating or deleting but we’ll explore each of these abilities in more depth so that you get an understanding of how each of these works.Â
First though, let’s take a quick look at where databases sit alongside some of the other technical topics we’ve covered in previous Knowledge Series.
Where databases fit into the bigger picture
HTML, CSS and Javascript are responsible for powering the front end of an application. HTML lays the structure, CSS defines styles and Javascript adds interactivity (see the front end technologies guide here).