RDBMS-Pakete bieten heute eine enorme Menge an Funktionen, die über die standardmäßige Speicherung und Abfrage von Daten hinausgehen. SQL Server kann beispielsweise E-Mails versenden, Web-Service-Methoden bereitstellen und CLR-Code ausführen, um nur einige Beispiele zu nennen. Ich habe jedoch immer versucht, den Umfang der Verarbeitung meines Datenbankservers so weit wie möglich auf die Speicherung und den Abruf von Daten zu beschränken, und zwar aus den folgenden Gründen
- Ein Datenbankserver ist schwieriger zu skalieren als ein Webserver
- In vielen Projekten, an denen ich gearbeitet habe, ist der DB-Server viel stärker ausgelastet als die Webserver und hat daher weniger freie Kapazitäten.
- Ihr Datenbankserver ist potenziell einem Sicherheitsangriff ausgesetzt (z. B. Webdienste).
Meine Frage lautet: Wie entscheiden Sie, wie viel Funktionalität oder Code direkt auf Ihrem Datenbankserver im Vergleich zu anderen Servern in Ihrer Architektur implementiert werden sollte? Welche Empfehlungen haben Sie für Leute, die neue Projekte beginnen?