Databases are collections of files sorted intelligently[1] and normally unintelligible to humans. But they are files in the end. Then, a system is located between users (humans or other systems) and those files. That system is called a Database Management System (think of the MySQL program).
Then, users can ask the Database Management System questions about the data or give commands that will cause new data or changes in the data, and the system will search the files and/or modify their contents to answer the questions or satisfy the commands.
You see, it is simply a collection of files and a program that can manage those files (so it needs access to them). In the real world, that tuple can be deployed in multiple ways.
Now, the concepts of “program,” “process,” and “files” are high-level concepts. They exist thanks to the Operational Systems, which allow us to speak in those terms. And that’s it: You need at least an Operational System to deploy a database solution.
In the real world, a single big server machine with a lot of space can be dedicated to a database solution. In the LAMP age, this was a normal practice. This example has no virtual machine or container; it is just a plain machine. That’s still an option.
There are more complex solutions that split these main concepts (files, programs/processes) into different “run time” environments (machines, virtual machines, clusters, etc.) where they can be fine-tuned to a specific task.
Now, the whole deal with the databases is to coordinate multiple users while serving as permanent memory. It is the central point where everything else orbits. They try to provide users with an ideal data model that is always updated at the quantum moment so that when users observe it, they can trust that it is the truth.
[1] With “intelligently” I mean that they are sorted in that way (very complicated way) for a reason: to facilitate typical operations, a database solution has to be performed, like searching for data and manipulation, taking advantage of schemas (if it is a database with schema).
Databases are collections of files sorted intelligently[1] and normally unintelligible to humans. But they are files in the end. Then, a system is located between users (humans or other systems) and those files. That system is called a Database Management System (think of the MySQL program).
Then, users can ask the Database Management System questions about the data or give commands that will cause new data or changes in the data, and the system will search the files and/or modify their contents to answer the questions or satisfy the commands.
You see, it is simply a collection of files and a program that can manage those files (so it needs access to them). In the real world, that tuple can be deployed in multiple ways.
Now, the concepts of “program,” “process,” and “files” are high-level concepts. They exist thanks to the Operational Systems, which allow us to speak in those terms. And that’s it: You need at least an Operational System to deploy a database solution.
In the real world, a single big server machine with a lot of space can be dedicated to a database solution. In the LAMP age, this was a normal practice. This example has no virtual machine or container; it is just a plain machine. That’s still an option.
There are more complex solutions that split these main concepts (files, programs/processes) into different “run time” environments (machines, virtual machines, clusters, etc.) where they can be fine-tuned to a specific task.
Now, the whole deal with the databases is to coordinate multiple users while serving as permanent memory. It is the central point where everything else orbits. They try to provide users with an ideal data model that is always updated at the quantum moment so that when users observe it, they can trust that it is the truth.
[1] With “intelligently” I mean that they are sorted in that way (very complicated way) for a reason: to facilitate typical operations, a database solution has to be performed, like searching for data and manipulation, taking advantage of schemas (if it is a database with schema).