Have you ever asked yourself how do database servers work?
I know this is silly question for technical users, but I am sure not everyone knows the answer to this.
Let me start with the basic definition of a Database and Database Server. A database is a collection of information that is organized so that it can easily be accessed, managed, and updated. A database server is a computer program that provides database services to other computer programs or computers using a client-server model. The term may also refer to a computer dedicated to running such a program.
Also, you should know that there are many different types of database server softwares. Some are open source (ie. MySQL, MongoDB, PostgresSQL) and some are commercial software (ie. MSSQL, Oracle).
Now that we know what the Database Server term means, lets explore the communication process of the client-server model.
The process is not that complicated. Imagine that some computer has contently running program that can understand some special language (SQL or Structured Query Language), but only listens someone specific (security measure) rather than everyone who tries to talk to it. Now when someone who is allowed to talk to Database Server sends it a command, the command will be processed and necessary data selected or updated from/to database storage and result send back to requester.
Different types of database servers use different data storage techniques (also called engines) and usually can utilize multiple engines at the same time depending on your needs. In most cases, all data is physically stored as files on the same computer where the database server is running, or on any remote storage.