Zarządzanie persistent jsonami

0

Użytkownik za pomocą webowego interfejsu w ramach procesu biznesowego dokonuje pewnych operacji. Każda taka operacja produkuje nowego jsona, który musi być zachowywany na stałe. Użytkownik przeprowadza wiele takich operacji w efekcie czego powstaje wiele jsonów.

Tak to wygląda:

  1. Użytkownik rozpoczyna proces biznesowy, potencjalnie długotrwały - kilkudniowy. W trakcie niego powstają, usuwają lub nadpisują się JSONy.
  2. Użytkownik zakończa proces, w efekcie czego wszystkie jsony dla tego konkretnego procesu muszą zostać pobrane, a następnie są wykorzystane przez już inny serwis.
  3. Kiedyś też następuje cleanup niepotrzebnych już jsonów.

Ogarniam tylko SQL, i średnio mi się on widzi tutaj użyteczny. Nie mogę za bardzo zrobić jednej giga-tabeli z jsonami, bo użytkowników jest wielu i procesów jest wiele, więc filtrowanie po WHERE na pewno będzie bardzo nieefektywne. Im więcej będę miał recordów w tej tabeli tym wolniej by to działało, a raczej szukam czegoś co działałoby zawsze równie szybko niezależnie czy mam w całej puli 1k czy 1000k jsonów.

Nie szukam idealnego rozwiązania, wystarczyłoby mi jakiekolwiek sensowne. Chciałbym żeby to działało w miarę dobrze dla puli ~10 GB jsonów.

Więc generalnie chciałbym zarządzać persistent jsonami - co tutaj wykorzystać? MongoDB?

2

W postgres masz natywny support dla json/jsonb, szukanie po nich tak samo, mozna nawet robic indeksy my uzywamy i poki co jest ok moi koledzy z pracy nie nawidza mongodb wiec innego wyjscia nie bylo :D
Jesli chodzi o performance to ja na tabeli ktora ma 500mb ~500k records filtrowanie bo niej idzie rownie szybko co po normalnej tabeli z indeksami.
Ale nie jestej wymiataczem jesli chodzi o bazy danych znam sie na nich bardzo malo

0

Będziesz robił jakieś wyszukiwania/przekształcenia tego jsona w pierwszym etapie? Może zapisz go po prostu jako bloba.

Poza tym „im wiecej jsonow, tym wolniej to będzie działało” - dlaczego? Przecież baza ma indeksy

1 użytkowników online, w tym zalogowanych: 0, gości: 1