Ankündigung

Einklappen
Keine Ankündigung bisher.

Seitenklicks wie richtig speichern?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Seitenklicks wie richtig speichern?

    Tachchen,
    ich wollte mal fragen, wie man Seitenklicks am besten speichern kann. (oder gibt es schon fertige Funktionen dafür?)

    Ich habe jetzt als Beispiel(!) 100 Seiten, von denen möchte ich jeweils die Klicks pro Stunde speichern.
    Meine Datenbank würde dazu so aussehen:



    Oder wie würdet ihr das am besten machen?

    Möchte eine Statistik der Seiten pro Stunde/Tag/Wochen/Jahr somit anzeigen


  • #2
    du willst dir die reffer geornet ausgeben lassen?
    piwik nimmt dafür (soweit ich das auf die schnelle rausgefunden habe):
    Code:
    CREATE TABLE `piwik_log_visit` (
      (..)
      `referer_type` tinyint(1) unsigned DEFAULT NULL,
      `referer_name` varchar(70) DEFAULT NULL,
      `referer_url` text NOT NULL,
      `referer_keyword` varchar(255) DEFAULT NULL,
    (..)
    )(..);
    also jeden klick einzeln.
    die idee das schon in der db zu addiren, und nicht erst in der abfrtage halte ich für suboptimal, da möglicherweise nicht perfekt normalisiert,.

    weiterhin würde ich dir zu genanntem toll raten.

    Kommentar


    • #3
      Ich würds so machen:
      - Jeder Klick abspeichern (+ benötigte Meta info)
      - Auswertung & Anzeige via MapReduce (ggf. via background job die Daten aufbereiten für die schnelle Anzeige).
      Neu bei PHP, lerne aktuell OOP

      Kommentar


      • #4
        Zitat von moma Beitrag anzeigen
        du willst dir die reffer geornet ausgeben lassen?
        piwik nimmt dafür (soweit ich das auf die schnelle rausgefunden habe):
        Code:
        CREATE TABLE `piwik_log_visit` (
          (..)
          `referer_type` tinyint(1) unsigned DEFAULT NULL,
          `referer_name` varchar(70) DEFAULT NULL,
          `referer_url` text NOT NULL,
          `referer_keyword` varchar(255) DEFAULT NULL,
        (..)
        )(..);
        also jeden klick einzeln.
        die idee das schon in der db zu addiren, und nicht erst in der abfrtage halte ich für suboptimal, da möglicherweise nicht perfekt normalisiert,.

        weiterhin würde ich dir zu genanntem toll raten.

        danke für den hinweis mit piwik^^


        so kann ich die klicks nicht speicher oder?
        page_id, timestamp, browser, land, ... weitere informationen vom client
        wenn hier zum beispiel über 1mio klicks pro tag kommen wäre die datenbank ziemlich groß. wie könnte man das anders lösen?

        EDIT:
        damit ich die schneller suchen kann würde ich eventuell mehrere Tabellen dafür verwenden.

        PHP-Code:
        $hash_page md5($page_id $datum) -> für btree
        $hash_browser 
        md5($page_id $datum $browser_id)
        $hash_land md5($page_id $datum $browser_id

        //Speichert die Klicks der einzelne Seiten
        Tabelle 1page_iddatumhash00:0001:00, .... , 23:00

        //Speichert die Klicks von Browser
        Tabelle 2browser_idpage_iddatumhash00:0001:00, .... , 23:00

        //speichert die Klicks von Länder
        Tabelle 3land_idpage_iddatumhash00:0001:00, .... , 23:00 

        Kommentar


        • #5
          Zitat von Jumper93 Beitrag anzeigen
          danke für den hinweis mit piwik^^


          so kann ich die klicks nicht speicher oder?


          wenn hier zum beispiel über 1mio klicks pro tag kommen wäre die datenbank ziemlich groß. wie könnte man das anders lösen?
          ich wuerde das so machen, dass ich am ende des tages die aufgezeichneten werte zusammengefasst in eine andere tabelle speichere und den rest sichere und aus der live db entferne.

          weil, wenn du zb sehen willst, wieviele besucher auf der seite vor 2 wochen waren, da ist dir jeder einzelne klick ja egal, dich interssiert nur die summe
          apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

          Kommentar


          • #6
            Zitat von BlackScorp Beitrag anzeigen
            ich wuerde das so machen, dass ich am ende des tages die aufgezeichneten werte zusammengefasst in eine andere tabelle speichere und den rest sichere und aus der live db entferne.

            weil, wenn du zb sehen willst, wieviele besucher auf der seite vor 2 wochen waren, da ist dir jeder einzelne klick ja egal, dich interssiert nur die summe
            Ich würde das gerne trotzdem haben wollen^^

            Kommentar


            • #7
              Zitat von Jumper93 Beitrag anzeigen
              Ich würde das gerne trotzdem haben wollen^^
              dann kaufst du dir eben einen externen server mit viel platz auf dem mysql server drauf lauft und nichts anderes
              apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

              Kommentar


              • #8
                hast trotzdem mein edit noch gelesen?

                Kommentar


                • #9
                  Zitat von Jumper93 Beitrag anzeigen
                  hast trotzdem mein edit noch gelesen?
                  du kannst von mir aus das auf 100 tabellen oder eine tabelle pro klick verteilen, speicherprobleme wirste dennoch haben, wenn du tatsaechlich 1 million klicks am tag hast.

                  und mit

                  Ich würde das gerne trotzdem haben wollen^^
                  wirste ganz schnell andersdenken, wenn du tatsaechlich dahin kommst.

                  es ist aktuell so,
                  du hast keine ahnung wie du klickst (effezient) speicherst,
                  du hast eigentlich ja ein projekt, das du entwickeln willst
                  du hast tools wie piwik/google/webalizer usw die du einfach so verwenden koenntest
                  du hast viele spekulationen und bei keine konkreten werte

                  so wie ich es sehe, hast du im grunde kein Problem, sondern langeweile und viel freizeit
                  apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                  Kommentar


                  • #10
                    Ich möchte nur Meinungen von anderen Leuten mit mehr Erfahrung sammeln und dann das beste für mein Projekt verwenden langeweile und viel Freizeit hat damit nichts zutun

                    Kommentar


                    • #11
                      Zitat von Jumper93 Beitrag anzeigen
                      Ich möchte nur Meinungen von anderen Leuten mit mehr Erfahrung sammeln und dann das beste für mein Projekt verwenden langeweile und viel Freizeit hat damit nichts zutun
                      dann mach es wie die anderen, und kuemmer dich nicht drum, installiere tools und nutze diese
                      apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                      Kommentar


                      • #12
                        Zitat von Jumper93 Beitrag anzeigen
                        danke für den hinweis mit piwik^^


                        so kann ich die klicks nicht speicher oder?

                        wenn hier zum beispiel über 1mio klicks pro tag kommen wäre die datenbank ziemlich groß. wie könnte man das anders lösen?
                        http://forum.piwik.org/read.php?6,73486

                        ein zusammenfassendes arcvhivierungsscript, wie BlackScorp es angesprochen hat wird da auch erwähnt.

                        Kommentar


                        • #13
                          Auf jeden Fall alles in MongoDB speichern. Weil MongoDB ist Webscale!
                          Standards - Best Practices - AwesomePHP - Guideline für WebApps

                          Kommentar

                          Lädt...
                          X