Andreas_ schrieb:
Es erschließt sich mir nicht, worin der Vorteil eines Protokolldatensatzes liegen soll, wenn mir dies die Auswertung des audit trails erschwert. Wie ich schon geschrieben habe, ein derartiger JSON-BLOB bietet nur einen Vorteil, wenn es eine Software gibt, die den BLOB schreiben und lesen kann. Wenn Du Dir die Postings des TE durchliest, weißt Du aber, dass es eine derartige Software nicht gibt.
Sie wollen doch gerade so eine Software bauen?! Darum geht es doch hier...
Andreas_ schrieb:
Zum Monitoring einer Tätigkeit kann es erforderlich sein zu recherchieren, wie viele Änderungen durch einen Mitarbeiter in einem bestimmten Zeitraum erfolgen. Mit einem JSON-BLOB, der keine direkten Rückschlüsse auf die bearbeiteten Datenfelder zulässt, ein extrem aufwendiges Unterfangen.
Erm... Schau Dir doch mein Posting nochmal an. Du kannst genau feststellen, ohne den JSON-String (der übrigens auf einen MS SQL Server erst ab 8kb als Objekt angelegt wird) anzuschauen / zu referenzieren / auszuwerten, abzufragen oder sonst wie zu berücksichtigen, Wer, Wann, Was auf welcher Entität gemacht hat. Ich kann Dir genau sagen, welcher Mitarbeiter wann einen Kontakt geändert hat. Ich kann Dir genau sagen, welcher Mitarbeiter am meisten gelöscht hat. Ich kann Dir genau sagen, an welchen Wochentag / zu welcher Uhrzeit wie viele Änderungen vorgenommen werden usw. Und das alles ohne den JSON Anteil zu parsen, der für einen ganz anderen Zweck vorhanden ist.
Nur wenn es darum geht die neuen Daten mit den alten Daten zu VERGLEICHEN oder die alten Daten (eines bestimmten Zeitpunktes / zum Zeitpunkt der Löschung) wieder herzustellen (was nicht mehr Teil eines audit trails ist aber eine Anforderung bei uns war, um Vandalismus / Fehleingaben auf der Schnittstelle nachträglich, punktuell rückgängig zu machen) muss der JSON-Anteil angeschaut werden und ja, dafür braucht man dann ein spezielles Tool, welches man sich bauen muss, ist ja auch logisch...
Andreas_ schrieb:
Auch ist mit dem JSON-BLOB bei häufig geänderten Datensätzen nur sehr aufwendig festzustellen, welcher Mitarbeiter eine bestimmte Änderung vollzogen hat.
Wieso? Ich glaube Du hast mein System nicht verstanden. Wir verwenden es ja produktiv, von daher kann ich dir sagen: Nein, ist es nicht... Alle notwendingen Informationen sind ja vorhanden, auf den JSON-Datenfeld muss zu keiner Zeit irgendetwas referenziert werden. Oben habe ich es ja noch mal etwas ausführlicher erklärt.
Wie man in deinen System übrigens so etwas wie Datensatz angelegt / Datensatz gelöscht unterbringt ist mir bis heute noch ein Rätsel. Geht da noch mal ans Whiteboard
Andreas_ schrieb:
Ich glaube Du bist da nicht auf dem aktuellen Stand. Es gibt mittlerweile sowohl Hochverfügbarkeitslösungen als auch Clusterlösungen für eine hohe Skalierbarkeit. Nicht umsonst unterstützen Oracle wie auch Amazon und neuerdings sogar Microsoft mit Azure auf MySQL basierende Cloud-Lösungen.
Das macht ein DBMS noch lange nicht performant. Cloud Computing kann alles mögliche virtualisieren. Dennoch skaliert die Engine nicht so gut, weswegen es für spezielle Anwendungsbereiche ja auch andere Lösungen gibt. Siehe die ganzen objektorientierten Datenbanken...
Andreas_ schrieb:
Eine Vielzahl der OpenSource-CRM unterstützt MySQL. MySQL ist sicherlich keine eierlegende Wollmichsau und auch nicht "die Engine" für CRM, aber MySQL deckt alle grundlegenden Funktionalitäten ab, die ein CRM benötigt. Aber es war vermutlich auch zuviel erwartet, von Dir tatsächlich Gründe zu lesen, die gegen einen Einsatz von MySQL bei einem CRM sprechen.
Ich bin sicher kein MySQL-"Fan", beruflich hatte ich bisher nur mit Oracle und MS SQL zu tun, aber ich sehe keinen Grund MySQL zu verteufeln.
Wie gesagt, diese Diskussion können wir gerne woanders weiter besprechen, sie gehört hier nicht her. Hauptgrund Nummer 1: kein PLSQL / kein T-SQL. Weitere Gründe sind vor allem im Sicherheitsbereich zu suchen (Berechtigungskonzept über SSO / AD-Gruppen etc., Verschlüsselung). Bei größeren Installationen auch im Performance-Bereich (MySQL skaliert im Vergleich mit Oracle und SAP zum Beispiel eher schlecht). Ich sage ja nicht, dass MySQL für kleine bis größere Projekt nicht gangbar ist. Ich sage lediglich, dass es für ein CRM (welches man üblicherweise erst ab einer bestimmten Größenordnung und vor allem im Business-Bereich einsetzt) bessere Datenbanken gibt. Es hat schon Gründe, warum Du in der Hauptsache mit MS-SQL und Oracle zu tun hast und ich ebenfalls (MS-SQL schwerpunktmäßig).
MySQL verteufel ich ebenfalls nicht. Ich würde es nur nicht für ein CRM verwenden. Für ein einfaches Web-Bugtracking System: OK. Für ein CRM eher nicht. Für ein ERP gar nicht. Für eine CMDB eher nicht. Für ein Webforum / Wiki klar, warum nicht. Im professionellen Umfeld: Aufgrund der undurchsichtigen Lizenzgebaren von Oracle eher nicht mehr, dann eher MariaDB.
Grüße
PS: Ich arbeite ebenfalls im Versicherungsumfeld. Habe eine GDV-VU-VM-Schnittstelle selbst entwickelt. GDV ISTS + gut beraten WBD via SOAP an unser CRM angebunden und all so Scherze. Ich kenne mich da eventuell "ein klein wenig aus".