2011-01-15 14 views

Respuesta

8

La base de datos es más rápida. Y lo más importante para usted, se trata de acceso concurrente.

0

Bases de datos con diferencia.

Las bases de datos están optimizadas para el almacenamiento de datos que se actualiza y cambia constantemente como en su caso. El almacenamiento de archivos es para almacenamiento a largo plazo con pocos cambios.

(incluso si los archivos fueron más rápidos Me gustaría volver a ir con bases de datos porque es más fácil de desarrollar y mantener)

0

Desde presumo su sistema escribiría/leer datos de forma continua (como la gente escriba sus mensajes), escribirlos en un archivo tomaría un tiempo más largo debido al procedimiento de manejo de archivos, es decir

  1. abrir el archivo para escritura
  2. archivo de bloqueo
  3. escritura & Guardar
  4. unlock file

Me gustaría ir con db.

2

¿Realmente desea una acción de disco mecánico cada vez que alguien escriba? Escribir en el disco es una idea horrible. Caché de mensajes en la memoria. Borre el mensaje una vez que se haya enviado a todos los usuarios de la sala. La memoria caché se mantendrá pequeña, la mayor parte del tiempo vacía. Esta es su mejor opción si no necesita un registro de historial.

Pero si necesita un registro ....

Si se escribe una gran cantidad de datos en 1 pase, que garantizan el archivo fumará rendimiento de las inserciones de bases de datos. Una característica de inserción masiva de la base de datos puede coincidir con el archivo, pero para comenzar necesita una fuente de datos de archivo. Tendrá que poner en cola muchos mensajes en la memoria y luego periódicamente vaciar el archivo.

Para muchas escrituras pequeñas, la brecha se cerrará y la base de datos avanzará. Los índices influirán en la velocidad de inserción. Si miles de usuarios se están insertando en una tabla muy indexada, es posible que tenga problemas.

Haga sus propias pruebas para comprobar qué es más rápido. Simula una carga realista, no una prueba de 1 usuario.

Cuestiones relacionadas