A) Skalieren Die mittlere Ebene kann einfach skaliert werden - daher das Webfarm-Konzept. Das Skalieren der DB-Ebene ist viel schwieriger. Während einige Produkte können dies tun , ist es noch nicht trivial und Mainstream.
B) Kosten In der Regel handelt es sich bei Webservern um Common-or-Garden-Boxen. DB-Server sind jedoch tendenziell größer, komplexer und belastbarer. Dies alles bedeutet "teuer". Ein kürzlich veröffentlichter Arbeitgeber schätzte, dass ein CPU-Tick in der Datenbank zehnmal teurer war als einer auf einem Anwendungsserver.
C) Die in einer gespeicherten Prozedur enthaltene Wiederverwendungslogik kann nicht einfach mit einer eigenständigen mobilen App verknüpft werden. Das Ändern des SP wirkt sich auf jede Anwendung aus, die diese Datenbank verwendet, unabhängig davon, ob diese Anwendung für die Änderung bereit ist oder nicht.
D) Die in einer gespeicherten Prozedur enthaltene Wiederverwendungslogik ist allen Anwendungen gemeinsam, die die Datenbank verwenden. Programmierer können die Regeln nicht aus einer Laune heraus umgehen. Das Ändern des SP wirkt sich auf jede Anwendung aus, die diese Datenbank verwendet, und stellt die Konsistenz im gesamten Unternehmen sicher.
E) Tools In der Anwendungsebene stehen mehr und ausgefeiltere Sprachen, Tools und Techniken für die Entwicklung zur Verfügung als in der Datenbank (aus Kommentaren, danke).
F) Netzwerkverkehr Normalerweise erfordert eine Geschäftsfunktion viele Lese- und / oder Schreibvorgänge. Oft ist die Ausgabe einer Anweisung die Eingabe einer folgenden Anweisung. Wenn SQL-Anweisungen in der Anwendung enthalten sind, erfordert jede einen Netzwerk-Roundtrip zum Server. Wenn die SQL in einer gespeicherten Prozedur gespeichert ist, erfolgt eine einzelne Netzwerkreise, bei der die Parameter gesendet und nur das Endergebnis zurückgesendet werden. Die Netzwerkkosten der Zwischenergebnisse werden vermieden.