Po prostu zastanawiałem się, czy ktoś ma jakieś przemyślenia na temat konwersji struktury bazy danych JSON-document na SQL. Trzeba to zrobić dla integracji danych/magazynowania.Najlepsza architektura do konwersji JSON na SQL?
Pola JSON są stosunkowo statyczne, ale nowe "pola" mogą pojawiać się co 2-4 tygodnie.
Z powodu charakteru tego i konwersji do SQL --- myślałem ... przetworzyć wszystkie statyczne pola na pola SQL. Pola "dynamiczne" są na szczęście podzielone na część dokumentu JSON.
Moim pomysłem było po prostu zrzucić tę "sekcję pól dynamicznych", która może pomieścić 50, 100 pól, kto wie - może się powoli zmieniać - w jedno dodatkowe pole SQL.
W ten sposób przynajmniej proces ETL jest stosunkowo statyczny, niezależnie od tego, jak zmienia się pole JSON.
Następnie druga warstwa, a może "widok" w istocie sparowałaby tę gigantyczną kolumnę w oddzielne pola. IE gigantyczna kolumna mogłaby powiedzieć "kolor: czerwony, status: otwarty, miasto: Rzym" ... a seria funkcji łańcuchowych przeanalizowałaby je, aby wypełnić kolor, status i pola miasta, być może w widoku.
Nie jestem pewien, czy to jest szalone myślenie, czy nie. Inną opcją byłoby wykonywanie instrukcji MySQL w locie (w celu dodania kolumn), jakie napotkano w dokumentach JSON, ale to jest własny zestaw problemów.
Ktoś myśli na ten temat?
Powiedzmy, że baza danych została dodana do, nigdy nie zaktualizowana. W takim przypadku "parsowanie" należy wykonać tylko raz w rzędzie. Czy widok nadal będzie najlepszą opcją? A może po prostu inny stół?
Tak właśnie myślałem. Jest to bardziej miesięczna podstawa, ale nawet to wymaga konserwacji. Pola nie będą dokładnie anonimowe ... w zasadzie są to pola "utworzone przez użytkownika" w aplikacji (nie mojej) - może się zdarzyć, że pewne pole utworzone przez użytkownika będzie przydatne w Business Intelligence/Data Warehouse setting ... Myślę, że parsowanie z "dużego pola ciągów" jest łatwiejsze do zarządzania w ten sposób, ale nie byłem pewien, czy to niedorzeczne czy nie. – user45867