Hi!
Ich arbeite an einer Social-Networking-Seite, kennen wir ja alle sowas...
Ich erwarte zwar nicht, daß die Website so groß wie facebook wird, aber die Datenbank Architektur sollte trotzdem stimmen.
Jedenfalls habe ich folgendes Problem:
Jeder User hat 2 Tables:
Im ersten Table stehen die Kontakte des Users:
-Usernamen der anderen User (mit denen dieser User Kontakt hat)
-Art des Kontakts (1=Freunde,2=Blockiert,3=Bookmark)
Im zweiten Table stehen die Nachrichten für diesen User:
-timestamp (wann die Nachricht eingegangen ist)
-ob sie neu oder gelesen ist (0 oder 1)
-von wem sie kommt (Username)
-und die eigentliche Nachricht natürlich (text)
Als ich mit dem Projekt begonnen habe, dachte ich noch, alle Nachrichten für alle User in einem Table speichern ist doch total doof.
Jetzt denke ich allerdings, bei 1 Million User wären in dieser Datenbank 2 Millionen Tables, und das ist ja noch doofer. :-(
Vielleicht sollte ich die User alphabetisch ordnen.
Und alle Usernamen die mit A anfangen speichern ihre Nachrichten im Table messages_A und alle User mit B in messages_B.
Und für die Kontakte dann genauso...
Was denkt ihr?
Habt ihr Erfahrung mit sowas?
Wie macht man sowas professionel?
Danke schonmal im voraus!
Kathrin