Direktzugriffsdatenbank vs. Webdienst [geschlossen]

8

Was sind die Vor- und Nachteile, wenn wir die Wahl zwischen direktem Datenbankzugriff oder der Verwendung von Webdiensten haben?

Was würden Sie für eine kritische Anwendung wählen, die reaktionsfähig sein sollte (& lt; 0,5 s) und mit einem niedrigen Aufruf an diesen Webservice / DB (NB: der Webservice wird von einem anderen Team gewartet).

    
Toto 07.10.2009, 09:39
quelle

3 Antworten

18

Der direkte Datenbankzugriff verbindet Sie eng mit dem Schema. Änderungen an beiden Enden wirken sich auf die anderen aus. Aber es hat die Vorteile, einfach zu sein und einen Netzwerksprung weniger zu erfordern.

Ein Web-Service bedeutet bessere Abstraktion und lockere Kopplung über eine zusätzliche indirekte Ebene. Ein Webdienst kann als einziger Verwalter der Daten fungieren. Sie werden direkt gegen die Datenbank vorgehen, wenn es nur Ihre App ist, aber wenn andere Apps die gleichen Daten benötigen, erhöhen Sie die Wahrscheinlichkeit, dass sie eines Tages Schemaänderungen benötigen. Diese Änderungen wirken sich auch auf Ihre App aus. Die Kosten sind mehr Latenz.

Ein Web-Service kann ein guter Ort sein, um Autorisierung und Sicherheit zu zentralisieren. Eine Datenbank kann das auch, also ist es vielleicht ein Waschgang.

    
duffymo 07.10.2009, 09:54
quelle
1

Offensichtlich ist ein direkter Datenbankzugriff in einfachen Szenarien immer schneller.

Mit einem WebService gewinnen Sie Flexibilität:

  • plug-in eine andere Implementierung,
  • Wenn mehrere Anwendungen auf dieselben Daten zugreifen müssen, müssen Sie für diese Daten verantwortlich sein, und die anderen müssen über einen WebService darauf zugreifen können. Zwischen den beiden wird es keine Datenverzögerung geben. und Sie können Daten, auf die häufig zugegriffen wird, im Speicher dieser Anwendung speichern, anstatt die Datenbank für die Kommunikation zwischen Anwendungen zu verwenden ....

In Anbetracht Ihres Reaktionskontextes (mit möglicherweise einem Problem mit dem anderen Team) würde ich versuchen, den direkten Datenbankzugriffsweg einzuschlagen, sofern nicht mehrere Anwendungen die Daten teilen müssen ... p>     

KLE 07.10.2009 09:57
quelle
0

Sowohl Duffymo als auch KLE machen gültige Punkte.

Eine zusätzliche Überlegung ist der Grad der Kopplung mit anderen Teams.

Wenn Sie mit einer Service-Schicht arbeiten, ist Ihr Projekt normalerweise einer von vielen Clients. Dies bedeutet oft, dass Sie entweder mit den verfügbaren Diensten arbeiten müssen oder warten müssen, bis die Roadmap die gewünschten Änderungen liefert. Dies führt oft zu Entscheidungen, die gut für das Unternehmen insgesamt sind, aber nicht so gut für Ihr Projekt.

    
Neville Kuyt 17.07.2013 10:55
quelle

Tags und Links