Tach Leute,
ich hab nicht gelabert. Es werden wirklich 27 Teile. Heute schauen wir uns die Event-Streaming Beratung dieser Pseudo-Architekten an. Event-Sourcing ist eine Technologie bei der man quasi einen Ursprungszustand speichert. Dann alle Änderungen. Und indem man alle Änderungen auf den Ursprungszustand anwendet erhält man das aktuelle Ergebnis. Man muss natürlich auch sagen, dass diese Tenchnologie im Vergleich zu den anderen Methoden der Datenspeicherung so verbreitet ist wie blaue Einhörner. Jetzt kann man sich fragen warum. Entweder sind die meisten anderen zu doof um zu Googeln. Oder die meisten anderen Architekten haben keine Ahnung. Oder der Einsatzbereich dieser Technologie hat sich als sehr speziell erwiesen. Meiner Ansicht nach ist es das Letzte.
Auf jedenfall die Ansage war die Infrastruktur für das nächste Jahrzehnt zu entwickeln für alle möglichen Anwendungszwecke. Ob es da sinnvoll ist sich dafür auf eine Spartentechnologie, die auf einen PHP-Bibliothek basiert die so ein paar Leute als Freizeitprojekt entwickeln (Open-Source) das so klein ist, dass selbst die Doku sowas von grausig ist und wirklich nur die allereinfachsten Anwendungsfälle zeigt und absolut niemand sagen kann was passiert wenn diese Jungs kein Bock mehr haben? Bleiben die dann das nächste Jahrzehnt auf PHP7 oder schreiben die dann 3000 Services um? Nun gut die Jungs haben denen dort verklickert, das braucht man unbedingt, da man ja sehen kann wann wer was geändert hat. Hahahahaha, hm, komisch dass bisher noch niemand auf die Idee gekommen ist dass man das so braucht. Fakt ist dass einige Datenbanksysteme wie z.B. Oracle vor allem in der 12er Version das out of the Box anbieten Man kann für jede Tabelle definieren ob und wie lange man eine Histroy für jeden Datensatz haben will. Und möchte man einen alten Zustand wiederherstellen kann man aus dieser History die Daten holen. Hm unter der Betrachtung Technologie für das nächste Jahrzehnt. Weil nicht was besser ist. Sich das Produkt eines der besten Datenbankhersteller zu kaufen, auch mit allen Sicherheitsfeatures, Backupsystemen und das auch durchscheinen lassen bei seinen Kunden, mit dem Wissen dass die wohl erst nach einem Atomkrieg dicht machen oder sich ein Freizeitprojekt von paar PHP-Entwicklern zu schnappen und Horden von Indern und anderen unterbezahlten Leuten X-Tausend Dateien programmieren zu lassen. Hahahaha da wurde wieder gedacht.
Und auch von der Kostenseite. Gut Oracle ist nicht ganz billig. Aber ich glaube 2 Leute, die die Datenbank betreuen sind auch nicht teurer als 20, die wie die bekloppten X-Tausend Dateien schreiben und updaten.
Somit hätte man sich für ein klassisches relationales System entschieden was für diesen Anwendungszweck mehr als ausreichend ist hätte man Tools, Bibliotheken wählen können die das Speichern und Lesen automatisieren. Z.B. ORM-Layer wie Doctrine oder Propel oder in Java Hibernate usw. Und wie jeder weiß. Würde mandie Entity beschreiben. Einen Controller/Servlet anlegen. Lesen geht automatisch (Repositories) und evtl. einen Service wenn das Speichern komplizierter ist. Wir haben somit egal ob das Formular/Entity 5 Eigenschaften oder 30 hat genau 3 Dateien. Nochmal 3 für Unittests. 6. Hm 6 VS 200. Das ist doch schon ein kleiner Unterschied.
Dann haben die den Verantwortlichen erzählt, das würde nicht gehen weil man ja die History braucht. Hahahahah was total lächerlich ist. All dieses Libraries bieten die Möglichkeit sich vor dem abspeichern eines Objkets sich "einzuhacken" und dort dann zu machen was man will. Zum Beispiel zu sagen lade das alte Objekt vergleich es mit dem neuen, mach ein Diff draus. Aus dem diff ergibt sich das event, weil Feldnamen eindeutig sind in einer Datenbanktabelle. Speicher das alte Objekt in einer Logtabelle zusammen mit den Metadaten (events und user der das getan hat) und fertig. Vielleicht kann man das direkt auch nur als json speichern. Und das neue Objekt ganz normal in der Datenbank. Übrigens, das macht eigentlich fast jeder so. Ganz einfach darum weil man die alten Daten ganz selten braucht. In 99,999999 Prozent der fälle nimmt man die letzten Daten. Und wenn man die alten braucht schreibt man sich paar kleine Sachen und fertig. Das ganze Ding schreib ich alleine in 3 Wochen. Übrigens wird so gemacht bei meinem aktuellen Projekt.
Hahaha, was für Architekten. Aber noch viel schlimmer finde ich, dass es da keinen gibt der so viel Ahnung hat und denen mal sagt. Hey, was macht ihr für einen Scheiß?
Keine Kommentare:
Kommentar veröffentlichen