Ankündigung

Einklappen
Keine Ankündigung bisher.

Datenbank von Beginn an für große Datenmengen optimieren

Einklappen

Neue Werbung 2019

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

  • Datenbank von Beginn an für große Datenmengen optimieren

    Hallo!

    Ich baue mir gerade so ein kleines "Social Network" aber da ich auf eine gewisse Professionalität auch bei Hobby-Projekten Wert lege, möchte ich die Datenbank von Beginn an so optimieren, dass sie auch eine gewaltige Masse an Nutzern (ich sag jetzt mal sehr optimistisch: ein paar Millionen man weiß ja nie!) verwalten kann. Es ist wohl klar, dass in diesem Fall ein einziger Server sowieso nicht mehr ausreicht, deshalb wollte ich mich mal bei Leuten erkundigen, die von Datenbanken vielleicht etwas mehr Ahnung haben als ich, wie so ein Schema grob aussehen würde? Das heißt, wie würden mehrere Datenbank-Server untereinander kommunizieren (bzgl ID Vergabe bei Einträgen, usw), welche Datenbank ist zu empfehlen (ich programmiere - logischweise - mit PHP) und vorallem wie kann ich mein System von Beginn an so optimieren, dass wenn wirklich eine hohe Flut an Nutzern kommen sollte, ich das ganze unkompliziert erweitern kann? Gibt es da gewisse Tricks?

    (Wie gesagt, ich glaube selbst nicht, dass dieser Fall jemals eintritt aber falls doch, will ich auf alles vorbereitet sein)

    Ich lese mich schon selbst noch in die Thematik "Verwaltung großer Datenmengen" ein, ich frage hier vorallem nach praxis-erfahrenen Nutzern!

    Lg

  • #2
    Zitat von rawb1t Beitrag anzeigen
    ich frage hier vorallem nach praxis-erfahrenen Nutzern°
    Kümmer dich drum, wenns soweit ist.

    Und ja, das ist meine absolut professionelle Meinung, die ich sowohl auf der Arbeit als auch beim privat entwickeln unterstütze.
    [URL="http://goo.gl/6Biyf"]Lerne Grundlagen[/URL] | [URL="http://sscce.org/"]Schreibe gute Beispiele[/URL] | [URL="http://goo.gl/f2jR7"]PDO > mysqli > mysql[/URL] | [URL="http://goo.gl/jvfSZ"]Versuch nicht, das Rad neu zu erfinden[/URL] | [URL="http://goo.gl/T2PU5"]Warum $foo[bar] böse ist[/URL] | [URL="http://goo.gl/rrfzO"]SQL Injections[/URL] | [URL="http://goo.gl/Q81WJ"]Hashes sind keine Verschlüsselungen![/URL] | [URL="http://goo.gl/2x0e2"]Dein E-Mail Regex ist falsch[/URL]

    Kommentar


    • #3
      Gibts nicht irgendwas, was ich von Anfang an beim Programmieren beachten sollte? Irgendeine Vorarbeit, quasi?

      Kommentar


      • #4
        Gleich von Anfang an Normalisieren, dann solltest du auch später keine Probleme haben für die du die ganze Datenbank nochmal umstrukturieren musst.
        [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

        Kommentar


        • #5
          Zitat von ApoY2k Beitrag anzeigen
          Kümmer dich drum, wenns soweit ist.
          Schlagt mich - aber ich seh' das genauso. Klar du solltest das Thema nicht völlig aus den Augen verlieren aber mal ehrlich: Wenn du an dem Punkt bist, wo der einemillionste User sich registriert - dann wirst du froh sein, das Problem überhaupt zu haben.

          Kommentar


          • #6
            Aus dem finanziellen Aspekt vielleicht aber ich bin ein Perfektionist - es muss einfach alles von Beginn an absolut akkurat sein. Ja, ich bin wirklich so drauf... selbst wenn mir die Website 10k im Monat an Einnahmen brächte würde ich sie abschalten bis alles zu 99,9% funktioniert, wie es soll. Perfektionist halt...

            Deswegen nehm ich das halt nicht so auf die leichte Schulter und frage von Beginn an nach Tipps

            Kommentar


            • #7
              würde ich sie abschalten bis alles zu 99,9% funktioniert

              Kommentar


              • #8
                Es funktioniert niemals etwas zu 100% denn Bugs lassen sich niemals zu 100% vermeiden, das ist leider so ^^

                Kommentar


                • #9
                  Wie wahrscheinlich ist es, dass das mit 1 Mio. Usern wirklich klappt? Es wäre doch ein klassischer Fehler - und damit ganz weit entfernt von Perfektion - wenn du das Potenzial deines Social Networks maßlos überschätzen und Ressourcen (Zeit) für die Vermeidung von Eventualitäten einsetzen würdest, die objektiv betrachtet äußerst unwahrscheinlich sind, oder nicht?

                  Wenn die Chance 10% beträgt, 1 Mio. User zu erreichen, aber 90% für lediglich 10k User, dann ist es doch sinnvoller, Ressourcen darauf zu verwenden, die 10%-Chance zu vergrößern, statt darauf, die DB auf 1. Mio User zu optimieren?

                  Ich habe erst vor kurzem ein Projekt abgebrochen bei dem es ähnlich gelaufen ist. Toller Code, viel Aufwand für Qualität bis ins Detail. Nur leider kam es dann nicht dazu, das Projekt abzuschließen und an die Öffentlichkeit zu gehen. Fazit: Die Codequalität mag noch so super gewesen sein. Ohne nutzbaresn Status zu erreichen war das dennoch ohne Bedeutung. Du hast nichts, absolut nichts davon, dein Netzwerk auf den Megadurchbruch vorzubereiten, wenn es dazu erst gar nicht kommt.

                  Kommentar


                  • #10
                    Zitat von rawb1t Beitrag anzeigen
                    Es funktioniert niemals etwas zu 100% denn Bugs lassen sich niemals zu 100% vermeiden, das ist leider so ^^
                    nunja, das kann man auch anders sehen, meinte ich aber nicht.

                    ich wollte wissen>:
                    auf welches prozent verichtet du? du userauthentifizierung?

                    Kommentar


                    • #11
                      Grundlegend solltest du damit anfangen, dir erstmal eine Grund-Architektur aufzustellen, mit den Entitäten, die du benötigst.

                      Gehe ruhig einmal die Schritte über ER-Modellierung und Überführung in das relationale Modell durch, versuche sich überschneidende Felder wie z.B. Vorname, Nachname zusammengefasst als vererbende Klasse darzustellen und den Gesamtaufwand an Speicherplatzverbrauch so gering wie nur möglich zu halten.

                      Danach kannst du dir überlegen, wie weit, wie abgesichert deine Datenbank sein soll, sprich normalisiere bis zu einem dir sinnvoll erachteten Grad.

                      Kommentar

                      Lädt...
                      X