NachoKB escribió:
2009/3/16 Mariano Ayesa <[email protected] <mailto:[email protected]>>

    Que tal lista?

    Tengo una web, donde estoy ofreciendo publicidad. Dependiendo de
    cuanto paga el advertiser, se le dan X cantidad de impresiones por
    mes.

    Queria consultarles..  Cual es la forma mas optima que usan/usarian
    uds. para controlar la cantidad de impresiones?

    No se que tan copado, es tener que ir actualizando una tabla donde
    tenga la cantidad de renders de cada publicidad contratada (puedo
    tener que llegar a actualizar hasta 8 registros por pagina renderizada
    en el futuro) y compararlas contra el maximo que tienen contratado..
    me explico?


Si, y me parece que sería la forma de hacerlo. Asumo que tu pregunta viene por el tema performance. Primero hacelo así y medí, si te parece que se puede hacer de otra forma, podrías luego cambiarlo por otro mecanismo más complejo (asegurate de tener ese concern bien encapsulado en un model)... y después fijarte cuál es más lento.

Se me ocurriría que tengas un logger (o un archivo de texto directamente) donde imprimas el ID del banner (y el timestamp), y aparte croneado un proceso que cada una hora complete una tabla con la data del archivo...pero no sé si realmente será más eficiente hacer eso, habría que medir.

Tené en cuenta que normalmente (pero depende de cada motor de base de datos) los INSERT son bastante más veloces que los UPDATE y además no lockean. A veces es más conveniente hacer 8 inserts por cada request que 8 updates. Podés tener un proceso en background que vaya limpiando registros viejos para que no se te llene de registros al dope.

Diego

_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a