Struggling to tell your APIs from your CDNs? Read our comprehensive cloud computing glossary covering the most common terms.
< Back to glossary
A database is like a digital filing cabinet. A database is an organized way to store information. It allows users to access, organize, and modify the information. Whether you have a contact list, an inventory list of products, a record of financial transactions, or user data related to an application, this information resides in a database. The database serves as the hidden engine behind many systems, websites, and modern business where it is responsible for everything from day-to-day operation and maintenance.
We typically think of data stored in databases as records in tables, which are organized as rows and columns like a spreadsheet. Each row represents an individual record or customer; every column, an individual data point, like the customer name, email address or order history. This structure is advantageous because it is easy to get at and interact with your data quickly.
There are many kinds of databases, varying in complexity and size, but the two most common systems include the following:
Relational databases (MySQL, PostgreSQL or Oracle): These systems store data in tables and tables can be related to one another. A relational database is an exceptional way to store data because you can store very large amounts of data while keeping that data consistent.
Non-relational (or NoSQL) databases (e.g., MongoDB or Cassandra): These systems store data in ways that are less structured. In particular, these databases are great if you want to store very large amounts of data or you want to store data that may are always changing, like how something is used by individuals using the application (logging in in real time).
Most databases are ultimately organized using a programming language called SQL (Structured Query Language) to search, update and delete data. SQL is somewhat like asking a very smart assistant for information, like saying “show me all customers that spent over $100 last week.”
Organization: Data is purposefully organized within the database and becomes clear because data is approached visually.
Access: Accessing data tends to be easy involving searching or filtering based on the task you want to accomplish.
Speed: You can access specific pieces of information very quickly, regardless of the size of the data set.
Security: Strong database solutions provide permission and encryption tools to protect sensitive information.
Multi-user: Multiple users can access or interact with the data simultaneously, efficiently and safely.
Scalability: Modern databases will expand to support and manage large amounts of data without diminishing performance.
If you think of a ride-hailing application like Uber, they will have a database that stores all of the required information for the app to function: profiles for the drivers and users, ride history, payments, location data, etc. When you request a ride, it connects to the database and retrieves the proper data to connect you to a driver that is in the vicinity. The database stores the ride in your history and will update payment information when the ride is completed. Most, if not all, of this interaction happens instantly via the database.
Databases are interesting tools, but they require routine maintenance, such as back-up, security, and cleanliness, that will keep the data accurate. Badly designed databases can lead to error, which may have consequences by slowing systems down or generating confusing results.
The specific type of database depends on the situation. For example, a small e-commerce store might only need a basic relational database. Other example applications would be large streaming providers which often use both relational DB and NoSQL hybrid systems.