DB seperieren

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

  • DB seperieren

    Moin,

    ich habe ein php programm, das mit einer datenbank arbeitet. nun hat mir jemand doch vorgeschlagen die db zu seperieren. da der verbindungsaufbau wohl am längsten bei mysql dauert, wäre ein verbindungspool nicht schlecht. sprich das script erzeugt z.b. 5 permanente verbindungen zu datenbank und hält diese vor. jetzt kommt mein script mit ner session an und bekommt eine verbindung, mit der es arbeiten kann. wird die session beendet, wird die verbindung dem pool wieder zur verfügung gestellt, usw.
    ist das denn so mit php möglich?
    lohnt sich der aufwand?
    gibt es dazu links, um sich zu belesen oder beispiele anzugucken?

    danke
    ich geh zum lachen in den keller

  • #2
    Soviel ich weiss, werden MySql Ressourcen nach Ende des Scripts von PHP wieder freigegeben. Ausserdem wie willst du den Datenbankzeiger aus dem einen Script in das andere bringen. Wenn ich mich recht entsinne, dann kannst du keine Zeiger einer Session zuweisen.

    Aber vllt kenn jemand eine Lösung an die ich nicht gedacht habe. Aber imho ist das ned möglich

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      die einfachste lösung für eine lahme db verbindung wäre vielleicht erstmal
      1.) nen anständigen DB Server benutzen
      2.) Webserver und Datenbank auf einem Server betreiben

      Ob das mit dem vorhalten der Verbindungen sinnvoll ist kann ich dir sagen, aber wo / wie sollen die gespeichert werden und den usern zugewiesen werden ? Wenn die Verbindung zum Server das Prob ist würde ich da erstmal oben gennantes versuchen...

      was machst du wenn mehr user surfen als db verbindungen vorhanden sind ? Dann müssen sich mehrere eine verbindung teilen und dann wirds wieder lahm.

      Kommentar


      • #4
        es geht nicht um die verbindung, sondern um die zeit, die mysql braucht. das war jemand der sich verdammt gut damit auskennt und er meinte, das mysql_connect sehr sehr sehr viel länger brauch, als z.b. eine query (egal wie groß). deshalb solle ich wohl mal über so einen "verbindungspool" nachdenken, damit nicht immer am scriptanfang die verbindung hergestellt wird, egal ob sie gebraucht wird oder nicht (wird noch geändert).
        ich wollte mal meinungen dazu hören, da ich auch nicht weiß, wie ich das in php überhaupt umsetzen kann. deswegen auch hier in dieser rubrik.
        wenn es jetzt mehr user sind, als verbindungen vorgehalten werden, kann man ja das script sicher so abändern, das neue verbindungen generiert und verteilt werden (z.B. bei stoßzeiten) und ansonsten halt nur ein gewisser teil vorgehalten wird.
        MySql Ressourcen nach Ende des Scripts von PHP wieder freigegeben
        das ist halt so eine sache, man müsste die scripte unabhängig laufen lassen (wie kann ich mir nicht vorstellen) und permanente verbindungen zur db herstellen, die werden doch nicht freigegeben?!?
        @jahlives
        wenn man keine zeiger in ner session speichern kann, ist das wirklich sehr schlecht realisierbar. wäre einer meiner gedanken gewesen.
        ich geh zum lachen in den keller

        Kommentar


        • #5
          Warning
          You can't use references in session variables as there is no feasible way to restore a reference to another variable.
          Wegen dem habe ich gemeint, dass es nicht geht. Aber probiers mal, weil eigentlich ist ein Zeiger ja ne Ressource...

          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            A resource is a special variable, holding a reference to an external resource
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              sorry, ich habe es noch nicht ausprobiert.
              also gehen wir davon aus, dass man in einer session eine datenbankverbindung halten kann. dann weiß ich noch nicht, wie ich das mit dem script für den verbindungspool machen soll.
              das müsste ich ja einmal von außen anschupsen, damit es erstmal in den "standby" betrieb geht, spricht guckt, ob die verbindung zur datenbank möglich ist, die tabelle auswählt und z.b. 5 permanente verbindungen aufbaut.
              dann wird es über andere scripte angesprochen und liefert eine verbindung (dabei prüft es, ob genug verbindungen noch vorhanden sind).
              dann wird irgendwann eine verbindung wieder zurückgegeben (wenn es über dem standardwert liegt, wird die verbindung geschlossen, ansonsten wieder in den pool eingegliedert).
              dann muss ich das script irgendwann von außen wieder schließen können, wo alle permanenten verbindungen zur db geschlossen werden.

              also brauch ich letztendlich zwei programme, eins zur verwaltung des verbindungspools und das zweite, was diesen nutzt.

              Ideen, fragen, anmerkungen?!?!
              ich geh zum lachen in den keller

              Kommentar


              • #8
                also gehen wir davon aus, dass man in einer session eine datenbankverbindung halten kann
                Wenn ich das Posting von mrhappiness lese, dann würde ich mal nicht davon ausgehen

                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  okay, wenn es dafür wirklich keine lösung gibt, dann ist diese überlegung gerade gestorben.
                  Danke für eure hilfe und auskünfte.

                  und falls jemand alternativen kennt, her damit!!!
                  ich geh zum lachen in den keller

                  Kommentar

                  Lädt...
                  X