Contexto: He escrito un sistema de archivos que se ha estado ejecutando en producción durante 7 años. [1]
La diferencia clave entre un sistema de archivos y una base de datos es que la API del sistema de archivos es parte del sistema operativo, por lo tanto, las implementaciones del sistema de archivos deben implementar esa API y, por lo tanto, seguir ciertas reglas, mientras que las bases de datos son creadas por terceros con total libertad.
Históricamente, las bases de datos se creaban cuando el sistema de archivos proporcionado por el sistema operativo no era lo suficientemente bueno para el problema en cuestión. Solo piénselo: si tuviera requisitos especiales, no podría simplemente llamar a Microsoft o Apple para rediseñar su API de sistema de archivos. Puede seguir adelante y escribir su propio software de almacenamiento o buscar alternativas existentes. Entonces, la necesidad creó un mercado para software de almacenamiento de datos de terceros que terminaron llamándose bases de datos . Eso es todo.
Si bien puede parecer que los sistemas de archivos tienen ciertas reglas, como tener archivos y directorios, esto no es cierto. Los sistemas operativos más grandes funcionan así, pero hay muchos sistemas operativos pequeños de centros comerciales que funcionan de manera diferente. Ciertamente no es un requisito difícil. (Solo recuerde, para construir un nuevo sistema de archivos, también necesita escribir un nuevo sistema operativo, lo que hará que la adopción sea un poco más difícil. ¿Por qué no enfocarse solo en el motor de almacenamiento y llamarlo una base de datos?)
Al final, tanto las bases de datos como los sistemas de archivos vienen en todas las formas y tamaños. Transaccional, relacional, jerárquico, gráfico, tabulado; cualquier cosa que se te ocurra.
[1] He trabajado en Boomla Filesystem, que es el sistema de almacenamiento detrás de Boomla OS & Web Application Platform.