Eine Datenbank ist keine Schnittstelle!

preview_player
Показать описание
In diesem Video erfährst du, warum es problematisch ist, eine #Datenbank als #Schnittstelle zu verwenden, und wie du es besser machen kannst. Darüberhinaus erhältst du Argumentationshilfen für euer Projekt.

Es kommt häufig vor, dass Datenbanken als Schnittstellen zwischen verschiedenen Anwendungen missbraucht werden. Obwohl der gleichzeitige Zugriff mehrerer Anwendungen auf eine Datenbank technisch kein Problem darstellt – dank Transaktionen und Sperren, die die Datenkonsistenz sicherstellen – entstehen schwerwiegende Probleme, wenn Anwendungen A und B direkt über die Datenbank kommunizieren.

Durch die direkte Nutzung der Datenbank als Schnittstelle fehlt die notwendige Abstraktion. Dies führt zu einer starken fachlichen und technischen Kopplung, die im schlimmsten Fall zu Ausfällen führen kann. Beispielsweise können Änderungen durch das Team von Anwendung A dazu führen, dass Anwendung B ausfällt.

Besonders bei Kaufsoftware, die keine eigenen Schnittstellen bietet, scheint der direkte Datenbankzugriff die einzige Möglichkeit zu sein. In solchen Fällen sollte zumindest eine Abstraktionsschicht, wie eine API, vorgeschaltet werden, um die Kommunikation zu vereinfachen und die Systeme zu entkoppeln.

Schau dir das Video an, um mehr über die Problematik und mögliche Lösungen zu erfahren.

00:00 Eine Datenbank ist keine Schnittstelle
00:20 Eine DB kann das!
00:55 Enge Kopplung
03:19 Übergabe-Tabellen
04:51 Technische Kopplung
07:25 API
08:13 Kaufsoftware

Schulungen Online, in Bonn oder als Firmenseminar:

APIs mit REST, OpenAPI & GraphQL für Einsteiger

Intensivkurs Softwarearchitektur: Paradigmen, Technik und Praxis

Mich, Thomas Bayer findet ihr auf:

Twitter: @thomasub
Рекомендации по теме
Комментарии
Автор

"Da machen Microservices mal Sinn!" 😆

marcom.
Автор

Hatte eine lustige Erfahrung damit.

Team A hat einen Teil vom Schema und Team B nen anderen Teil. Team B nutzt einen Modeller in dem das ganze Schema abgebildet ist.
Bei Änderungen wurde das ganze Schema gedropped und man hat sich gewundert wo auf einmal die ganzen Testdaten waren😂

boaslehrke
Автор

Wie im richtigen Leben. Team A hat die ganze Arbeit und Team B jammert wenn etwas nicht ad hoc funktioniert. 😅

rulf
Автор

"die Blauen sind schuld" - jetzt aber nicht politisch werden, Herr Bayer, gell... ;-) - Scherz beiseite: prima Erklärung des Sachverhaltes!

BerniesBastelBude
Автор

Ich war verblüfft, als unsere neuen junioren meinten sie hätten eine Datenbank entwickelt. Es war expressjs. Offenbar ist durch die Cloud das Verständnis etwas verzogen, was eine Datenbank ist, . De facto haben sie in ihrem leben wahrscheinlich immer mit irgendwelchen Rest APIs gearbeitet, und dies so in ihrer Vorstellung mit einer Datenbank gleichgesetzt. Immerhin verwenden sie eine Abstraktionsschicht, bei dem Videotitel fühlte ich mich jedoch direkt angesprochen.

MegaBaellchen
welcome to shbcf.ru