ichselbst: zum Datenbankdesignvorschlag "Briefkastenchat"

Beitrag lesen

Moin!

Warum kommst Du nicht einfach mit mehreren Verzeichnissen, z.B. einem fuer Nutzer, deren Namen mit A beginnt, u.s.w.?

Ja, das hab ich letztlich dann auch gemacht. Das was auch am einfachsten zu realisieren, da ich nur ein paar Funktionen (die, die für den Datenzugriff zuständig sind) ändern mußte. Nu hab ich das ganze auf 37 Unterverzeichnisse verteilt [a-z0-9_] und hab Platz für bis zu 100,000 Nutzer.

Die allerschlechteste Variante, die auch bereits an den Begrenzungen Deines RDBMS scheitern duerfte, waere die "fuer jeden Nutzer eine Tabelle"-Variante. Es scheint ueberfluessig das hier zu schreiben, aber auf Dateiebene hast Du ja genau das bereits ganz trocken umgesetzt.

*g* Klappt aber recht gut. Auch die Daten jedes Benutzers, liegen jeweils in einer separaten Datei. Der einzige Nachteil ist halt der Overhead, wenn ich ganz viele 1-KB-Dateien habe, aber die Serverplatte hat eh noch so viel frei, ist also nich so tragisch...

Eine weitere schlechte Variante besteht in der von Dir skizzierten Eintabellenloesung. Weniger wegen der von Dir vermuteteten Performanceeinbruechen, sondern aus Gruenden der Handhabbarkeit der Daten. (ein kleines Beispiel: ein Nutzer, z.b. 'Lude' moechte seinen Namen aendern, was zu einer Datenaenderung an vielleicht 2000 Stellen fuehrt. Zudem sind die Briefpartner ueberrascht, dass sie auf einmal Post im Briefkasten haben von Jemandem, den sie scheinbar gar nicht kennen.)

Ack! Der Nutzername ist bei mir sozusagen der global key. Der kann also nicht geändert werden, da ich ja sonst durch sämtliche Message-Dateien greppen müßte und s/old/new/g... das würde dauern...

... und das Rundumhappypaket steht bereit.

;)

Gruß
ichselbst