Datenbankaufbau Onlinecommunity
Hallo zusammen,
ich frage mich zurzeit, wie ich die Datenbank aufbauen soll, die später zu einer Onlinecommunity mit vielen, d.h. > 100.000 Nutzern, passen soll. Mein Hauptproblem besteht dabei darin, dass ich eine entsprechend performante Lösung brauche, um beispielsweise ein Kennzeichensystem (oder Freundesystem) in der Datenbank abzubilden.
Angenommen jeder Nutzer hat x Freunde. Wir ordne ich die Information, welche Freunde zu wem gehören dem jeweiligen Datensatz am besten zu?
Mir ist eine Lösung bekannt, in der in einer Hilfstabelle zu jedem Datensatz entsprechend viele Dubletten angelegt werden, bei denen jeweils in einem Feld die ID eines Freundes gespeichert wird. D.h.:
Haupttabelle:
ID:500
Nebentabelle:
ID:500 - Freund:ID33
ID:500 - Freund:ID27
ID:500 - Freund:ID53
usw.
Mir erscheint diese Lösung bei einer großen Nutzeranzahl und damit verbundenen Datenbankzugriffen aber als sehr schlecht bzw. sehr rechenintensiv. Kennt hier jemand evtl. eine bessere Lösung oder hat jemand Erfahrungen in dem Bereich gemacht?
Bin für jede Hilfestellung sehr dankbar!
ich frage mich zurzeit, wie ich die Datenbank aufbauen soll, die später zu einer Onlinecommunity mit vielen, d.h. > 100.000 Nutzern, passen soll. Mein Hauptproblem besteht dabei darin, dass ich eine entsprechend performante Lösung brauche, um beispielsweise ein Kennzeichensystem (oder Freundesystem) in der Datenbank abzubilden.
Angenommen jeder Nutzer hat x Freunde. Wir ordne ich die Information, welche Freunde zu wem gehören dem jeweiligen Datensatz am besten zu?
Mir ist eine Lösung bekannt, in der in einer Hilfstabelle zu jedem Datensatz entsprechend viele Dubletten angelegt werden, bei denen jeweils in einem Feld die ID eines Freundes gespeichert wird. D.h.:
Haupttabelle:
ID:500
Nebentabelle:
ID:500 - Freund:ID33
ID:500 - Freund:ID27
ID:500 - Freund:ID53
usw.
Mir erscheint diese Lösung bei einer großen Nutzeranzahl und damit verbundenen Datenbankzugriffen aber als sehr schlecht bzw. sehr rechenintensiv. Kennt hier jemand evtl. eine bessere Lösung oder hat jemand Erfahrungen in dem Bereich gemacht?
Bin für jede Hilfestellung sehr dankbar!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 62245
Url: https://administrator.de/contentid/62245
Ausgedruckt am: 22.11.2024 um 08:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo Anders72,
das wirst Du kaum anders hinbekommen, das ist eine ganz normale n:m-Beziehung, die mit eben dieser Beziehungstabelle gelöst wird. Wobei allerdings keine Dubletten da sind, von denen Du schreibst, sondern in der Tabelle sind genau die beiden ID-Felder. Mehr Felder kommen in die Tabelle eigentlich nur, wenn Du der Beziehung selber irgendwelche Attribute zuweisen willst, z.B. welcher Art die Beziehung ist o.ä.
Gruß, Mad Max
das wirst Du kaum anders hinbekommen, das ist eine ganz normale n:m-Beziehung, die mit eben dieser Beziehungstabelle gelöst wird. Wobei allerdings keine Dubletten da sind, von denen Du schreibst, sondern in der Tabelle sind genau die beiden ID-Felder. Mehr Felder kommen in die Tabelle eigentlich nur, wenn Du der Beziehung selber irgendwelche Attribute zuweisen willst, z.B. welcher Art die Beziehung ist o.ä.
Gruß, Mad Max