Menü
Avatar von Bitschnipser
  • Bitschnipser

mehr als 1000 Beiträge seit 14.01.2016

Re: kein Wunder - die geben nur buzzwords von sich und wollen damit reich werden

Exxtreme2 schrieb am 13.06.2019 16:35:

Nein, überhaupt nicht. Der eine ändert die Adresse und der andere die Umsatzstatistik.

Also ist die Umsatzstatistik in der gleichen Tabelle wie die Adresse?

Oder der Gesamtumsatz mit diesem Kunden.
Das ist nur ein Beispiel, verdammich. Vorgänge, bei denen zwei unterschiedliche Felder des gleichen Datensatzes verändert werden, kannst du dir bestimmt auch selber ausdenken.

Bitschnipser schrieb am 12.06.2019 20:18:

Nach drei bis fünf Jahren kannst du das mit dem guten Modell einfach vergessen. Da ist das Modell dann nicht mehr anpassbar.

Kommt drauf an mit was man entwickelt. Wirft man das SQL direkt gegen die DB dann wird es sehr schnell unwartbar, ja. Entwickelt man aber mit JPA Criteria API oder JOOQ oder ähnlichem dann kann man die Typsicherheit von Java nutzen. Und dann wird das nicht unwartbar.

Typsicherheit ist sicher sinnvoll, aber das ist nicht der Grund, warum Änderungen am Datenmodell so schwierig werden. Wenn ein Feld von Tabelle A zu Tabelle B wandert, ändert das am Feldtyp nichts... es ändert was an den Entity-Typen, aber die will man nicht ändern, weil da mehr als ein Programm auf der DB rumrutscht und man sie *alle* ändern müsste.
Und natürlich gibt es mehrere Programme. Irgendwer schreibt immer ein SQL...

Ja, ist ein gutes Beispiel. Oder die unsinkbare Titanic. Deshalb gibt es auch so einen schönen Aphorismus: mache deine Systeme sicher aber rede ja nicht darüber.

:-)

Allerdings muss man schon drüber reden. Sonst wissen die POs nicht, was man eigentlich den ganzen Tag so macht.

Intuition ist arg subjektiv.
Obendrein stark von den Erfahrungen abhängig.
Ich hab noch nie einen Entwickler gesehen, der seine Transaktionen in der Software von selbst wiederholbar gestaltet hat (was man z.B. bei Oracle tun muss, weil da jede Transaktion aufgrund von technischen Interna der DB fehlschlagen kann - das passiert aber erst, wenn die DB ernsthaft Last hat, also produktiv läuft, beim Testen erlebt man das nicht.)

Ich habe sehr viel direkt mit Benutzern von Software zu tun und weiss wie die ticken. Sie erwarten, dass wenn sie Daten eingegeben haben, dass die dann im System drin sind. Wenn die Daten aber nicht überall sichtbar sind dann glauben sie durchaus, dass die EDV kaputt ist.

Hängt alles davon ab, was für Erwartungen man weckt.
Und was das Fehlermodell im Kopf der Entwickler ist.

Bei CRUD ist der Unterschied sowieso unauffällig - auch mit Eventual Consistency kriegt man die Rückmeldung "ist gespeichert" erst dann, wenn das "eventual" auch eingetroffen ist. Und man gestaltet sein System natürlich so, dass das in den üblichen 99,9% der Fällen binnen Sekundenbruchteilen erledigt ist - wie gesagt, wenn Facebook einem alten Kram erzählt, liegt das nicht an eventual consistency, sondern an Fehlern im Auswahlalgorithmus. Oder vielleicht tatsächlich an eventual consistency, aber niemand hat sich drum gekümmert, das schnell zu machen - was auch immer :-)

Bewerten
- +
Anzeige