Wahrscheinlich ist das Write-Ahead-Protokoll, das so ziemlich jedes SQL-Produkt (und viele No-SQL-Produkte) verwendet, ein Ereignisstrom, der die Neuerstellung von Objekten (Tabellen) im Falle eines Instanzfehlers ermöglicht. Zugegeben, die meisten von ihnen sind undurchsichtige Binärformate, die für die Abfrage von Anwendungen nicht geeignet sind.
Dafür definiert der ANSI-Standard jetzt zeitliche Merkmale für SQL. Dies zeichnet das Intervall auf, in dem ein bestimmter Wert gültig war. Bei der Neuerstellung der Historie wird ein Datum-Uhrzeit-Wert "in" in das Prädikat aufgenommen. Es gibt Produkte speziell zum effizienten Speichern von Zeitreihendaten in großen Mengen.
Das Nettoergebnis aller Änderungen ist genau das, was jede Tabelle / jedes Dokument / jeder Spaltenspeicher für Anwendungen bereitstellt.
Um die eigentliche Frage zu beantworten: Die Ergebnisse der CQRS-Filialen sind meist bei anderen, bekannteren und unterstützten Produkten erhältlich. Das Geschäftsrisiko einer Einführung kann die funktionalen Vorteile überwiegen, sodass die Produkte nicht weit verbreitet sind.
CQRS kann sowohl als Entwurfsmuster als auch als Produkt betrachtet werden. Als solches könnte jeder Mainstraim-Speicher ein CQRS implementieren.
Buchhaltungs-, Bank- und Finanzsysteme im Allgemeinen speichern vollständige Informationen über jede Transaktion, dh jede Zustandsänderung. Denken Sie an Ihren Kontoauszug - er enthält eine vollständige Liste aller Gutschriften und Belastungen, die im Berichtszeitraum aufgetreten sind. Möglicherweise verwendet Ihre Bank eine relationale Datenbank, um dies zu erreichen. Ich weiß, dass Xero SQL Server verwendet. Es ist ein Grundsatz der doppelten Buchführung (Buchhaltung für Sie und mich), dass ein Konto ohne eine Transaktion (dh ein "Ereignis") nicht geändert werden kann und jede einmal erfasste Transaktion unveränderlich ist.