Hallo,
an was für Anwendungen denkst Du?
Ein Abrechnungssystem mit sagen wir 50 Tabellen mit insgesamt sowas um die 200 Millionen Datensätzen.
Du musst aus den Tabellen Daten selektieren, summieren und in die Tabellen zurückschreiben. Die Summierregeln sind so, dass sie mit einem einfachen Update und den üblichen Rechenoperationen nicht möglich sind.
Deshalb musst Du wohl oder übel die 200 Millionen Datensätze mehr oder weniger häufig anpacken, lesen, schreiben...
Also rein ins Programm, raus aus dem Programm.
Die Rechenoperation könntest Du aber auch z. B. mit PL-
SQL machen (weil wir uns halt für Oracle entschieden haben).
Was meinst Du, wer gewinnt, wenn's um korrektes Ergebnis
und Geschwindigkeit geht?
Meine Regel ist da ganz banal: Lass alles das die Datenbank machen, was sie besser kann.
Und im Zugriff auf die Daten ist sie besser, sie hat die Daten schon und muss sie nicht erst von jemand anderem anfordern, über mehr oder weniger schnelle Leitungen hin- und hertransportieren, kann sich die Daten selbst zugriffsoptimiert zurechtlegen...
Warum soll ich mir in meinen Programmen darüber einen Kopp machen, da akzeptiere ich gerne den (vermeintlichen?) Verwaltungsoverhead in meinen Programmen für die Trennung.
Irgendwann braucht jede Datenbank mal 'nen neuen Server oder ein Update..., da packst Du nur die Datenbank an.
Und selbst, wenn Du ein Programm an eine Datenbank koppelst, kannst Du ausschließen, dass einzelne Kunden nicht eventuell eine etwas andere Datenbankversion haben als andere, Versionswechsel, gleiche Datenbank, aber anderes Betriebssystem...
Brauchen alle Kunden die gleichen Auswertungen oder gibt es da eventuell die Möglichkeit zur Konfiguration...