ugrás a tartalomhoz

Archívum - Ápr 29, 2021

Dátum

PostgreSQL vs MongoDB

mind1 valami név · 2021. Ápr. 29. (Cs), 15.55
A Pató Pál projekt esetleges átalakítása kapcsán vetődött fel bennem a kérdés: most a text mellett postgresql-be tolom a logokat, partícionált táblába. Mivel update nincs az adatokon, az input is megfelel egy rdbms-ben tárolható struktúranak (azonosítók, időpontok, és egy szabadon kitölthető szövegmező), hátrányát eddig nem láttam a postgresql-nek, előnyét igen.
Viszont eddig csak tároltam a logokat, most esnék neki újra a webes felületnek, benne keresésekkel.
2-2.5 millió soron már nem túl gyors. (Nem vészes, de 4-5mp/lekérdezés)
Betöltve mongo-ba, látszólag sokkal gyorsabb a keresés. Legalábbis az első pár rekordig.
Gondolom, a teljes keresés azért ennyire nem lenne gyors, de ezt csak egy .count() segítségével tudtam megnézni, az meg gyanítom, valami cache-ből dobta vissza azonnal, hogy adott feltételre hány találat volt.
(Select count(*) from syslog where message like '% DPT=22 %'; vs db.syslog.find({"message": /.* DPT=22 .*/}))

Kérdés: tud valaki jó indokot az adatbázis cseréjére? Azon túl, hogy az rdbms nem erre van kitalálva.

Postgresql mellett szól, hogy sql-ben nem vagyok teljesen kezdő, ha parancssorból akarok matatni az adatokon, egy selectet egyszerűbb begépelni, mint egy mongo lekérdezést, egy join egyszerűen leírható két tábla közt, olvasható is, míg mongo-ban a $lookup a millió egymásba ágyazott json adattal... Másnak lehet, hogy könnyű olvasmány, nekem kifolyik a szemem a sok {} párostól :)
Mongot viszont egyszerűbbnek tűnik elérni pythonból.

Milyen szakmai érv lenne a mongo mellett?
Mi az, amiben a mongo jobb lehet?