Database Server vs File Server: What's Different



  • This question came up and it is definitely worth looking into. These are two common and standard types of servers, but if you've never worked with them before, they can be a little confusing.

    First: What is a file server? A file server is a kind of network server that provides a network file system (SMB, AFP, NFS) that can be mounted as a file system by clients. This is the most common type of server and the one understood by non-technical users most of the time. We common refer to this as something that provides "mapped drives" and is how most people transfers files between machines on a LAN. In all but the rarest circumstances, file servers and their clients are just operating systems. This is generally considered an intrinsic component of an OS and all production OSes for decades provide this out of the box.

    Second: What is a database server? A database server is software that provides access to a database. Databases present some sort of API and are not consumed by operating systems or end users, but by applications. Databases often have unique protocols including ODBC, but many use common standards like JSON over HTTPS as well. A database can, of course, be controlled directly by an end user, but it would be raw data being accessed (such as issuing raw SQL commands.)

    Commonly database servers and application servers are confused. But database servers provide data to applications and sometimes file servers. Unlike application servers which are used by users, and file servers which are used by OSes to mount file systems, database servers provide a behind the scenes data services used by other services.

    It should be noted that a file server could be used as an interface to a database server.



  • @scottalanmiller said in Database Server vs File Server: What's Different:

    This question came up and it is definitely worth looking into. These are two common and standard types of servers, but if you've never worked with them before, they can be a little confusing.

    First: What is a file server? A file server is a kind of network server that provides a network file system (SMB, AFP, NFS) that can be mounted as a file system by clients. This is the most common type of server and the one understood by non-technical users most of the time. We common refer to this as something that provides "mapped drives" and is how most people transfers files between machines on a LAN. In all but the rarest circumstances, file servers and their clients are just operating systems. This is generally considered an intrinsic component of an OS and all production OSes for decades provide this out of the box.

    Second: What is a database server? A database server is software that provides access to a database. Databases present some sort of API and are not consumed by operating systems or end users, but by applications. Databases often have unique protocols including ODBC, but many use common standards like JSON over HTTPS as well. A database can, of course, be controlled directly by an end user, but it would be raw data being accessed (such as issuing raw SQL commands.)

    Commonly database servers and application servers are confused. But database servers provide data to applications and sometimes file servers. Unlike application servers which are used by users, and file servers which are used by OSes to mount file systems, database servers provide a behind the scenes data services used by other services.

    It should be noted that a file server could be used as an interface to a database server.

    Is it possible for a File server to run a database server ? how would that be classified at that point ?



  • @WrCombs said in Database Server vs File Server: What's Different:

    @scottalanmiller said in Database Server vs File Server: What's Different:

    This question came up and it is definitely worth looking into. These are two common and standard types of servers, but if you've never worked with them before, they can be a little confusing.

    First: What is a file server? A file server is a kind of network server that provides a network file system (SMB, AFP, NFS) that can be mounted as a file system by clients. This is the most common type of server and the one understood by non-technical users most of the time. We common refer to this as something that provides "mapped drives" and is how most people transfers files between machines on a LAN. In all but the rarest circumstances, file servers and their clients are just operating systems. This is generally considered an intrinsic component of an OS and all production OSes for decades provide this out of the box.

    Second: What is a database server? A database server is software that provides access to a database. Databases present some sort of API and are not consumed by operating systems or end users, but by applications. Databases often have unique protocols including ODBC, but many use common standards like JSON over HTTPS as well. A database can, of course, be controlled directly by an end user, but it would be raw data being accessed (such as issuing raw SQL commands.)

    Commonly database servers and application servers are confused. But database servers provide data to applications and sometimes file servers. Unlike application servers which are used by users, and file servers which are used by OSes to mount file systems, database servers provide a behind the scenes data services used by other services.

    It should be noted that a file server could be used as an interface to a database server.

    Is it possible for a File server to run a database server ? how would that be classified at that point ?

    Sure. People do it all the time. Especially, in the SMB space.



  • @WrCombs said in Database Server vs File Server: What's Different:

    Is it possible for a File server to run a database server ? how would that be classified at that point ?

    No, conceptually that would not mean anything. A file server and a database server are discrete concepts.

    A single operating system can run neither, either, or both. But as servers themselves, they are discrete.



  • @scottalanmiller said in Database Server vs File Server: What's Different:

    @WrCombs said in Database Server vs File Server: What's Different:

    Is it possible for a File server to run a database server ? how would that be classified at that point ?

    No, conceptually that would not mean anything. A file server and a database server are discrete concepts.

    A single operating system can run neither, either, or both. But as servers themselves, they are discrete.

    I gotcha. It was one of those hypothetical questions



  • @WrCombs said in Database Server vs File Server: What's Different:

    @scottalanmiller said in Database Server vs File Server: What's Different:

    @WrCombs said in Database Server vs File Server: What's Different:

    Is it possible for a File server to run a database server ? how would that be classified at that point ?

    No, conceptually that would not mean anything. A file server and a database server are discrete concepts.

    A single operating system can run neither, either, or both. But as servers themselves, they are discrete.

    I gotcha. It was one of those hypothetical questions

    What's messy is that technical file servers are a very, very specific form of database server. Because a file server presents a file system over a network. And a file system is a special case database.

    No one really thinks about this and absolutely no one will talk about file servers this way, but for understanding what is actually happening... file servers are special purpose database servers. And that is very easy to prove.

    So a file server is a database server, but a database server is not a file server. But file servers are so common, unique, and discrete, we treat them as totally different animals and no one considers the two to even be similar.