2010-07-20 11 views

Respuesta

10

estaba inicialmente iba a decir leer la base de datos/escritura , sin dudas, ya que incluiría el archivo requerido en la parte superior de la sobrecarga DB, pero luego se dio cuenta de que no es tan simple. Si tiene todo su DB cargado en la memoria, las lecturas serán casi instantáneas ya que no hay archivos IO involucrados.

Las escrituras, en general, serían más rápidas también, ya que el motor de DB no tiene que esperar que el archivo IO lo complete antes de volver, ya que puede adoptar un enfoque de "escritura diferida".

Una base de datos pobremente sintonizada, por otro lado, será órdenes de magnitud más lentas que cualquier archivo basado en IO. El ajuste de DB importa. Mucho.

+0

Además, podría ser mucho más ineficiente sacar los datos que necesita con simple archivo-io, sin implementar un motor de base de datos, vs usar una base de datos que cientos de personas pasaron años desarrollando para encontrar datos rápidamente. – nos

3

Esto es una pregunta cargada. ¿De qué tamaño de archivos estamos hablando? Gigabytes? Además, ¿qué tipo y tamaño de DB? A menudo uso una combinación. ¿Desea controlar cualquier integridad de nivel de datos? Si es así, puede dejarlo en el DB, de lo contrario, debe controlar todo eso en el nivel de la aplicación.
Hay tantos factores para tomar una buena decisión al respecto. Por ejemplo, cuando estoy creando datos temporales que no quiero persistir, utilizo File, pero si uso datos que deseo persistir o respaldar, entonces uso un DB.
Esto junto con la arquitectura es importante. Si el hardware, las licencias o las instalaciones son un problema, tal vez no necesite la infraestructura de los servidores de bases de datos, etc. Pero si tiene los recursos, entonces agregar una capa de base de datos puede ser la opción correcta.

0

No hay una respuesta simple. Con cualquier base de datos, usted tiene la carga de tenerlo funcionando todo el tiempo. Pero cuando accede a ella generalmente es mucho más rápido que acceder a un archivo. Si solo habla de unos cuantos accesos, no notará mucha diferencia. Pero cuando llega a cientos, miles y millones de accesos por minuto, la base de datos será mucho más rápida. Y como señaló Tim anteriormente, una base de datos mal ajustada puede ser mucho más lenta que acceder a un archivo plano.

Cuestiones relacionadas