Almacenamiento de base de datos vs sistema de archivos

84

La base de datos finalmente almacena los datos en archivos, mientras que el sistema de archivos también almacena los datos en archivos. En este caso, ¿cuál es la diferencia entre DB y File System? ¿Está en la forma en que se recupera o en cualquier otra cosa?

Sriram
fuente

Respuestas:

61

Una base de datos se utiliza generalmente para almacenar datos estructurados relacionados, con formatos de datos bien definidos, de manera eficiente para insertarlos, actualizarlos y / o recuperarlos (según la aplicación).

Por otro lado, un sistema de archivos es un almacén de datos menos estructurado para almacenar datos arbitrarios, probablemente no relacionados. El sistema de archivos es más general y las bases de datos se construyen sobre los servicios generales de almacenamiento de datos proporcionados por los sistemas de archivos. [Quora]

El sistema de archivos es útil si está buscando un archivo en particular, ya que los sistemas operativos mantienen una especie de índice. Sin embargo, el contenido de un archivo txt no se indexará, lo cual es una de las principales ventajas de una base de datos.

Para operaciones muy complejas, es probable que el sistema de archivos sea muy lento.

Principales ventajas de RDBMS:

  • Las tablas están relacionadas entre sí

  • Lenguaje de procesamiento de datos / consultas SQL

  • Adición de procesamiento de transacciones a SQL (Transact-SQL)

  • Implementación servidor-cliente con objetos del lado del servidor como procedimientos almacenados, funciones, disparadores, vistas, etc.

La ventaja del sistema de archivos sobre el sistema de gestión de bases de datos es:

Cuando se manejan pequeños conjuntos de datos con datos arbitrarios, probablemente no relacionados, el archivo es más eficiente que la base de datos. Para operaciones simples, las operaciones de lectura, escritura y archivo son más rápidas y simples.

Puede encontrar n números de diferencia en Internet.

Vicky
fuente
La única diferencia entre la base de datos y el sistema de archivos es la forma y la estructura en la que se almacenan los datos. Pero tanto el sistema almacena. ¿Correcto?
Sriram
sí, pero la cuestión es datos estructurados o no estructurados
Vicky
25
La primera mitad de esta respuesta se copió de quora.com/…
PoweredByRice
12

Algo que uno debe tener en cuenta es que Unix tiene lo que se llama un límite de inodo. Si está almacenando millones de registros, esto puede ser un problema grave. Debe ejecutar df -ipara ver el% utilizado con la misma eficacia. Este es un límite de archivos del sistema de archivos, AUN SI tiene suficiente espacio en el disco.

Antonio
fuente
6

La diferencia entre el sistema de procesamiento de archivos y el sistema de administración de bases de datos es la siguiente:

  1. Un sistema de procesamiento de archivos es una colección de programas que almacenan y administran archivos en el disco duro de la computadora. Por otro lado, un sistema de administración de bases de datos es una colección de programas que permite crear y mantener una base de datos.

  2. El sistema de procesamiento de archivos tiene más redundancia de datos, menos redundancia de datos en dbms.

  3. El sistema de procesamiento de archivos proporciona menos flexibilidad para acceder a los datos, mientras que dbms tiene más flexibilidad para acceder a los datos.
  4. El sistema de procesamiento de archivos no proporciona consistencia de datos, mientras que dbms proporciona consistencia de datos a través de la normalización.
  5. El sistema de procesamiento de archivos es menos complejo, mientras que dbms es más complejo.
rashedcs
fuente
0

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.

zupa
fuente