Cześć, mam takie wymaganie, że mam sobie kolekcję userów i dokumentów. Logiczna relacja jest many to many. Baza pod spodem musi być SQL (takie wymaganie). Dane zasilane są eventami.
Klasyczne zamodelowanie tabel przy many to many to 3 tabele (user, document i łącząca), ale najważniejsze wymaganie jest takie, aby zapytania po userów zwracały też dokumenty dla każdego z userów i to z jak największą wydajnością.
Nie chcę zatem modelować standardowo na 3 tabele i robić joinów.
Wstępny pomysł jest taki, żeby przy odebraniu eventu każdemu userowi zapisywać kolekcje dokumentów jako JSONa do kolumny. Uniknę wtedy tabeli łączącej i faktycznie może i zapis będzie dłuższy, ale to nie jest problem - chodzi o jak najwydajniejszy odczyt bo ruch będzie naprawdę spory.
Znacie lepsze rozwiązania?
SQL musi być jak co ..