Andy : Interne Mitteilung an mehrere Benutzer in einem Portal

Beitrag lesen

Guten Abend.

Ich betreue ein kleines Internetportal, welches nur ein paar tausend Benutzer zählt. Dort haben die Benutzer die Möglichkeit sich gegenseitig Nachrichten zukommen zu lassen, welche dann eben dort in einer Art Postfach abgerufen und angesehen werden können. Ferner produziert ergeben sich auch allerhand automatische Mitteilungen, welche ebenso dann eben Benutzer-gebunden in dessen jeweiliges Postfach abgelegt werden. Nun ist es aber so, dass dies eine recht hohe Zahl automatisch generierter Mitteilungen ist, und der Kreis der Benutzer auch stark variiert, welche eben dann eine dieser automatischen Mitteilungen bekommen. So kann das dann nur einer, sowohl als auch alle Betreffen, oder nur einen bestimmten Teil. In Zahlen also einer bis ein paar tausend.
Technisch sieht das so aus, dass dahinter eine Datenbanktabelle steht, in der bisher jede Mitteilung für einen jeweilige Benutzer gespeichert wird (mit Benutzer-ID des jeweiligen Empfängers und eben der Text). Nun stört mich es aber, dass, wenn eine Nachricht an bspw. 5000 Benutzer verteilt werden soll, ich eigentlich nicht Willens bin dann auch für jeden Benutzer einen Zeile an die Datenbank zu schicken um eben dann in dem Fall 5000 Zeilen da einzutragen. Ich nehme an, dass das ja schon mitunter dann sehr zu Lasten der Performance gehen könnte, auch erscheint mir das sehr umständlich. Und die Laufzeit der ganzen Aktion beeinträchtigt ja dann mitunter auch stark die Geschwindigkeit der Seite in der Ausfürhung an sich.
Was ich also eigentlich suche ist eine Technik, oder vielmehr einen Denkansatz, wie ich eben dort mit wenig Aufwand, Zeitverlust und "Performance-günstig" viele Zeilen auf einmal in die Datenbank eintragen kann. Da in meinem Fall sich nur der "Empfänger" der Nachricht unterscheidet, vielleicht sowas wie ein BCC-Feld (in einer E-Mail), wo ich dann eben alle Empfänger eintrage, während der Text nur einmal da steht. Gut, aber das währe dann womöglich auch ein recht langer Query-String an die Datenbank.
Ach, ich habe derzeit keinen vernünftigen Ansatz irgendwie - jemand eine Idee? Für jeglichen groben Denkansatz wäre ich sehr dankbar.

Sollten genauere (technische) Fragen bezüglich der Umgebung bestehen, die ich dort zur Verfügung habe, so werde ich das gern beantworten.

Ach, was vielleicht noch erwähnt werden sollte, da ich schon E-Mail erwähnte weiter oben; eben das, dies einfach über E-Mail (Mailinglist o.ä.) zu realisieren, ist in dem Fall quasi ausgeschlossen. Allein schon, weil aufgrund der mitunter eben hohen Zahl Mitteilungen, dies von der Mehrzahl der Benutzer eher als störend empfunden würde - so eine kleine Umfrage im Voraus kürzlich dort. Die Umsetzung über die "interne Mitteilungspost" wurde hingegen befürwortet.

Das war es erstmal soweit..