Cita:
Empezado por Fossy
Por otro lado no uso BD, la estructura que me estoy haciendo a medida va en base a ficheros, es decir, cada usuario un directorio, y dentro de cada directorio un fichero básico con su información de registro, y un fichero de intercambio con la aplicación del móvil.
|
Pues describes el caso de uso donde un servidor web es super-optimo: servir archivos. Puede que te resulte mejor si pones al frente de tu app un servidor como nginx. Si el resultado final es un archivo, este mini-servidor web es tremendamente optimo.
Cita:
Empezado por Fossy
No uso BD precisamente porque tal y como lo estoy haciendo, si quisiera añadir un campo nuevo, enviando información en formato XML a esos ficheros, luego puedo interpretarla perfectamente con sólo actualizar la aplicación, es decir, que el servidor REST se va a quedar hecho para no tocarlo y me va a permitir añadir todo lo que sea necesario.
|
Si te sale bien asi... pero eso no excluye para nada una base de datos. En especial, si es tan capaz como Postgress.
Cita:
Empezado por Fossy
Obviamente el acceso directo al fichero, lectura del mismo y respuesta, va a ser siempre mucho mas rápido que accediendo a una BD, que finalmente está basada en ficheros, pero hay que pasar por la consulta y la cola, mientras que de la otra forma es mas directa.
|
No es tan obvio (sin medir primero). Es posible ser mas rapido que servir archivos desde el disco (recuerda: I/O) y los motores sql son maquinas bien aceitadas. Ademas, dependiendo de como sean los datos, su acceso y su forma de operar existen formas especificas de hacer que algo sea mas o menos rapidos.
Cita:
Empezado por Fossy
Veo que tienes experiencia en el tema..., con lo que te he comentado, ¿crees entonces que soportaría bien esos 1.000 accesos aproximadamente 4 veces por minuto?.
Gracias!!
|
La respuesta es si o no. Depende de como esta hecha tu app y como son los datos. Ademas, depende de que *realmente* es lo que necesitas optimizar. Simplificando, es diferente:
1- Quiero que cada respuesta sea lo *mas rapido* posible
VS
2- Quiero poder responder al mismo tiempo al *mayor numero* de clientes.
Son cosas que tienen relacion (mas rapida la respuesta, mas numero de clientes) pero difiere en que es posible ser "lento" y aun asi servir a mas clientes a la vez.
-----
P
![Big Grin](http://www.clubdelphi.com/foros/images/smilies/biggrin.gif)
Si unicamente estas devolviendo archivos, y no haces gran cosa en la autenticacion, entonces se puede poner a volar eso a mil, mezclando nginx, cacheo en memoria o mejor usando memcached o redis. Hace poco lei por ahi alguien que armo 40.000 request/seconds en un portatil. Estamos hablando que si no hay logica seria de por medio estas en el mejor panorama posible.