Ich habe mich nur gefragt, ob jemand irgendwelche Gedanken über die Umwandlung einer JSON-Dokumentdatenbankstruktur in SQL hatte. Es muss für Datenintegration/Warehousing getan werden.Beste Architektur zum Konvertieren von JSON nach SQL?
Die JSON-Felder sind relativ statisch, aber neue "Felder" können alle 2-4 Wochen entstehen.
Aufgrund der Natur dieser, und die Konvertierung in SQL --- Ich dachte ... parse alle statischen Felder in SQL-Felder. Die 'dynamischen' Felder sind glücklicherweise in einem Teil des JSON-Dokuments strukturiert.
Meine Idee war es, einfach diesen 'dynamische Felder-Abschnitt' auszugeben, der 50, 100 Felder enthält, wer weiß - es kann sich langsam ändern --- in ein zusätzliches SQL-Feld.
Auf diese Weise ist zumindest der ETL-Prozess relativ statisch, egal wie sich die JSON-Felder ändern.
Dann eine zweite Schicht, oder vielleicht "Ansicht" würde im Wesentlichen diese riesige Spalte in seine getrennten Felder analysieren. IE die riesige Spalte könnte sagen "Farbe: rot; Status: offen; Stadt: Rom" ... und eine Reihe von String-Funktionen würde diese aussortieren, um die Felder Farbe, Status und Stadt zu füllen, vielleicht in einer Ansicht.
Ich bin mir nicht sicher, ob dies verrückt ist oder nicht. Die andere Möglichkeit wäre, MySQL-Anweisungen im laufenden Betrieb auszuführen (um Spalten hinzuzufügen), wie sie in JSON-Dokumenten vorkommen, aber das ist eine eigene Reihe von Problemen.
Hat jemand Gedanken dazu?
Und sagen, die Datenbank wird nur hinzugefügt, nie aktualisiert. In diesem Fall muss das Parsing nur einmal pro Zeile durchgeführt werden. Wäre eine Ansicht immer noch die beste Option? Oder einfach einen anderen Tisch zusammen?
Ja das habe ich mir gedacht. Es ist mehr wie eine monatliche Basis, aber selbst das ist zu viel Wartung. Die Felder werden nicht genau anonym sein ... im Grunde sind sie "user-created" -Felder in einer Anwendung (nicht von meiner Erstellung) --- es kann vorkommen, dass ein bestimmtes benutzerdefiniertes Feld in einer Business Intelligence nützlich ist/Data Warehouse-Einstellung ... Ich denke, Parsing aus dem "großen String-Feld" ist einfacher zu verwalten, aber war nicht sicher, ob das lächerlich oder nicht. – user45867