Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Datenbankaufbau Onlinecommunity

Frage Entwicklung Datenbanken

Mitglied: Anders72

Anders72 (Level 1) - Jetzt verbinden

25.06.2007, aktualisiert 29.06.2007, 3057 Aufrufe, 3 Kommentare

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!
Mitglied: MadMax
27.06.2007 um 13:17 Uhr
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
Bitte warten ..
Mitglied: Anders72
27.06.2007 um 19:37 Uhr
Ja, mit Dubletten meinte ich in dem Fall nur das mehrfache Vorkommen einer ID..

Vielen Dank
Bitte warten ..
Mitglied: Desperado
29.06.2007 um 19:45 Uhr
hi, ohne wahre kenntisse eine db für > 100.000 user anzulegen finde ich... riskant? zur performance zählen auch dringendst dinge wie: select-statements, pks, inidzies etc... performante theoretische strukturen sind grundvorausetzung, aber kein garant...

greetz, desperado
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (32)

Frage von Maik82 zum Thema Linux Netzwerk ...

CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (20)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

Mac OS X
Mac kann nicht im LAN pingen alle anderen schon (14)

Frage von smartino zum Thema Mac OS X ...