Con o sin Rails

Buenas,

Estoy desarrollando una aplicación y me encuentro en un dilema de
“optimización”. La aplicación se basa en datos extraídos de una API,
así que hay que extraer los de cada usuario y guardarlos en la base de
datos.

Mi duda es, para realizar toda la recogida de datos mejor incluir todo
dentro de Rails o hacerlo fuera con Ruby y poco más.

Los principales problemas que veo son que si lo hago en Rails y son
demasiados usuarios puede que sobrecargue el server pero si lo hago
con Ruby no tengo muy claro como jugar con MySQL.

Offtopic: La aplicación/startup es bastante personal pero si alguien
quiere colaborar que me mande un mail y le explico más detalladamente
de que se trata, creo que la idea es buena y cualquier ayuda será
positiva, ya que llevo bastante poco metido con RoR.

Un saludo,
Jordi

Hola Jordi,
Tal vez tu opción pueda pasar por ser híbrida, es decir, traerte algunas
de
las bondades del “paquete” Rails a tu aplicación Ruby. Si tu miedo es
SQL a
pelo, trabajar con ActiveRecord y requerir los modelos que te hagan
falta.

Un saludo,
Juan.

2009/4/5 Jordi V. Alvarez [email protected]

Buenas,
si el problema es la posible sobrecarga del sistema, creo que el
problema lo vas a tener independientemente del framework. Ten en cuenta
que cuando estés en producción, el número de instancias de la
aplicación van a estar controladas así que la sobrecarga no va a
depender de sí usas rails o no. A lo mejor ganas algo de rendimiento al
usar algo más ligero, pero en cuanto tengas más usuarios o le metas más
caña, el problema seguría estando presente por lo que el cambio de
framework no es la solución clave. Creo que el tema pasaría por cachear,
cachear y cachear y diseñar la arquitectura para que sea lo más
escalable posible(también podrías usar procesos de fondo o usar una cola
de trabajos para aligerar la carga)
Vamos, que no depende tanto del framework si no de un diseño escalable.
De todas maneras si quieres un framework más ligero, puedes probar a
usar merb

También aprovecho para ponerte una cita que lei una vez: La optimización
prematura es la raíz de todos los males

Salud!

Jordi, por lo que entendi de tu mail, la obtencion de datos la harias
una
vez o cada tanto, aca me parece que podes usar una rake task, en este
enlace
podes ver como armarlas, lo bueno es que accedes a todo el environment
de la
aplicacion rails:

No trabaje mucho con estas tareas pero podes hacer que se ejecuten
periodicamente, o cuando vos lo quieras hacer manual. Creo que con estas
tareas vas a poder simplificar mucho teniendo las ventajas de Rails y
desde
ruby.

Espero sirva el aporte.

Agustin Viñao
www.agustinvinao.com

2009/4/5 Borja Martín [email protected]

puedes usar un daemons tambien y distintos servidores de bases de datos
asi
no afectas la performance de la aplicacion mientras se cargan datos.

Saludos

Miguel Michelson Martinez

www.artenlinea.com

2009/4/5 Agustin Nicolas Viñao Laseras [email protected]

Gracias a todos por las respuestas.

De momento estoy probando el rake tasks que parece que es una buena
solución y que además me será bastante fácil y segura de sincronizarla
con cron.

Saludos

El 05/04/2009, a las 23:52, Miguel M. escribió:

Si solo quieres sacar datos rails no es lo que te interesa, si quieres
montar una app y una tarea será la de traerte esos datos una muy buena
opción sería lo que te han comentado de las tareas rake.

Eso te permitirá trabajar con el mismo entorno, modelos y demás
metodillos
que tengas en la app.

2009/4/6 Jordi V. Alvarez [email protected]