Datenbankansatz für Paidbannerskript

  • Datenbankansatz für Paidbannerskript

    Hallo ihr lieben,
    ich habe da ein projekt, an dem ich arbeite und ich habe auch schon eine idee wie ich das umsetzen werde, aber vielleicht fällt einem eine bessere schlankere idee ein, weil meine kommt mir so übertrieben umständlich vor.

    Zur Idee -> Ein skript, wie es allgemein auch bekannt is, das banner anzeigt und wenn man einen banner klickt, muss man auf der seite des banners eine zeit verweilen und dann werden punkte gutgeschrieben. der banner verschwindet in den reload und man kann ihn nach einer vorher angegeben zeit wieder klicken.

    Durchführung -> Eine MySQL Tabelle für member (inklusive punktewert) und eine tabelle für die banner (mit reloadzeit und anzahl der klicks die gebucht wurden und vergütung)

    Mein Problem liegt darin: Wie dokumentiere ich wann welcher user welchen banner geklickt hat? brauche ich eine dritte tabelle, die den user, den banne rund den klickzeitpunkt speichert? das wäre für mich die erste idee, aber es kommt mir zu viel vor, stelle man sich mal 2000 user vor, die 1000 banner geklcikt haben. das wären ja 200000 datensätze, und sie wachsen nach jedem reload und erneutem klick weiter.

    Ich bin dankbar für jeden ansatz und jede idee...
    danke im vorraus
    der mossi
  • BennyBunny schrieb:

    Heißt ja nicht, dass du die Werte ewig speichern musst. Könntest es auch so machen, dass jede Nacht nen Job läuft, der die Daten zusammenfasst... Oder wenn die Zeit abeglaufen ist, löscht du den Eintrag aus der klicktabelle wieder...
    danke für die schnelle hilfe erstmal. ich bin neu auf dem datenbankengebiet, deswegen bitte ich meine unwissenheit zu entschuldigen. aber ist das denn realistisch und eine angemessene lösung das mit dn vielen datensätzen zu machen? ich könnte ja ein abendliches cron machen dass dann alles was (zeitpunkt des klickens - jetzt) < reloadsperre ist rausschmeißen, keine frage, aber das können dennoch bei guter aktivität mal datensätze im 6-7 stelligen bereih werden und dann kommen ja auch noch andere module mit vielen datensätzen dazu.

    kann ne datenbank mit so viel information umgehen?
  • Oder du lässt es so, schließlich sind 200.000 Einträge für eine Datenbank nicht sonderlich viel und da du dort nur Zahlen speichern solltest, sind das auch keine großen Datenmengen (außerdem sind 200.000 Bannerklicks ansich schon zeimlich viel). Kannst es auch regelmäßig in eine andere Datenbank verschieben, wo Performance dann nicht mehr so wichtig ist.Oder halt wie BennyBunny sagte, verdichten - die Frage ist was du danach machen willst und ob du es für Abrechnungszwecke benötigst. Reloadsperren solltest du aus Abusegründen sowieso benutzen, sonst wirft man dir schnell Betrug vor.
    ~ mfg SeBa

    Ich beantworte keine PMs zu Computer-/Programmierproblemen. Bitte wendet euch an das entsprechende Forum.

    [Blockierte Grafik: http://i.creativecommons.org/l/by-sa/3.0/80x15.png]
  • ich hab in der membertabelle ne spalte für bannerklicks im aktuellen monat und eine für bannerklicks gesamt. darüber hinaus hab ich einen user "gesamt" der nirgends angezeigt wird der aber dokumentiert wie viele bannerklicks gesamt gemacht wurden oder so. von daher brauche ich denke ich mal nicht die datensätze aufheben weil sie ja anderweitig auch auslesbar sind (zwar nicht über zeitpunkt über jeden bannerklick einzeln aber ind er summe auf jeden fall) ich denke das sollte zu abrechnungszwecken reichen.

    danke für die aussage dass 200000 datensätze nicht viel sind, das war meine sorge als datenbankneuling, dann kann ich das ja sogar so umsetzen wie ich es gedacht habe *stolz.guck*

    danke für eure antworten, von meiner seite aus ist die frage beantwortet und der thread kann geschlossen werden.


    liebe grüße
    mossi
  • Um nochmal ein Wort zu Datenbanken zu verlieren. Normalerweise kommen optimierte Datenbanken mit mehrern Millionen Einträgen klar. Zumindest ein gescheites RDBMS - Es kommt halt auch immer darauf an, welche Operationen du auf die DB ausführst. Ich hatte mal eine Tabelle wo Downloads von einer Datei gespeichert hat. Und ich hab diese immer aufsummiert. Irgendwann ist mir dann der Webserver abgekackt - weil die Datenbank nur mit addieren beschäftigt war.

    Bei größeren Applikationen cached man normalerweise auch Querys - Heißt: du lässt nicht bei jedem Request die DB laufen, sondern nur alle 10x oder alle 10 Minuten. Kommt halt auf die Anwendung an ;)

    Geclosed wird nur bei rumgespamme :)