Software applications usually handle sets of data that must to be stored in an organized manner so they can be easily accessed, managed, and updated. The fact that data can be made to persist means that is can be available even when the application is down. So storage is decoupled from the rest of the application. The most common way of organizing data for storage is a database. Any storage setup that allows for data to be organized in such a way that can be queried and updated represents a database.