Čím nahradit MongoDB?

oss

  • ***
  • 246
    • Zobrazit profil
    • E-mail
Čím nahradit MongoDB?
« kdy: 05. 05. 2024, 19:40:11 »
Kedze Mongo zmenil liceniu a tiez je s nim viac problemov. Tak akou FOSS multiplatformovou dokumentovou databazov ho nahradit?


Re:Čím nahradit MongoDB?
« Odpověď #1 kdy: 05. 05. 2024, 21:54:08 »
a k čemu jí používáš? Dokumentová databáze není moc velká definice a mongo má tak nešikovné api, že je lepší nezkoušet nějakou nadstavbu nad něčím jiným, co přidává mongo api.

Nejstabilnější řešení je postgresql, podle mě neexistuje vlastnost monga, kterou by postgresql neuměl.

Dlouho tady figuruje bokem couchdb nebo couchbase (jsou to rozdílné databáze).

xyz

  • ***
  • 245
    • Zobrazit profil
Re:Čím nahradit MongoDB?
« Odpověď #2 kdy: 05. 05. 2024, 21:54:26 »

oss

  • ***
  • 246
    • Zobrazit profil
    • E-mail
Re:Čím nahradit MongoDB?
« Odpověď #3 kdy: 06. 05. 2024, 08:52:28 »
postgre nie je moc multiplatformova a ja naozaj hladam dokumentovu databazu, ktory dokaze spracovat nestrukturovany dokument".

pokial viem couch* tiez zmenila liecencie uz davnejsie, maju komunity verziu, ktora je ale nepouzitelna v produkcii a potom platenu.

Re:Čím nahradit MongoDB?
« Odpověď #4 kdy: 06. 05. 2024, 13:22:05 »
postgre nie je moc multiplatformova a ja naozaj hladam dokumentovu databazu, ktory dokaze spracovat nestrukturovany dokument".

pokial viem couch* tiez zmenila liecencie uz davnejsie, maju komunity verziu, ktora je ale nepouzitelna v produkcii a potom platenu.

Jakou platformu máte na mysli, kde nemáte Postgres? Coby dokumentová databáze je Postgres lepší než Mongo (ohledně práce s JSONem). Jedinou výhodou Monga (oproti Postgresu) je jednoduše implementovatelné horizontální škálování a HA (za cenu nižší konzistence dat). Pokud vám ale stačí jeden node, tak je Postgres znatelně rychlejší.


Re:Čím nahradit MongoDB?
« Odpověď #5 kdy: 06. 05. 2024, 14:52:44 »
MongoDB dokument ma max velikost 16MB, Postgresí JSONB 255MB.

Postgres umí jak nestrukturovaný, tak strukturovaný formát. Takže mandatory fields muzou byt jako sloupecky, a ten nestrukturovaný guláš jako JSONB.

Mongo je super, že do něj můžete zapsat ledajaký JSON bordel, ale kdo po pak má číst?
If type is foo then bar, if document has field baz then ... ugh.

Jinak některé funkce, či přechodová fáze se dá sanovat pomocí https://www.ferretdb.com/, ač bych radši udělal nativní přechod :)

Edit: MongoDB fanboy namítne JSON schema, ale strukturovaná data umí Postgres už asi od 19. století :D

oss

  • ***
  • 246
    • Zobrazit profil
    • E-mail
Re:Čím nahradit MongoDB?
« Odpověď #6 kdy: 06. 05. 2024, 14:53:26 »
Jasne, ze chcem horizontalne skalovat, inac by som nezacal na Mongu.

Postgre napriklad na Windowse moc nebezi (build jestvuje, ale moja prakticke skusenosti ani skusnosti kolegov nie su dobre).

SR

Re:Čím nahradit MongoDB?
« Odpověď #7 kdy: 06. 05. 2024, 15:10:30 »
O jak velkem mnozstvi dat se bavime? Priznam se ze jsem taky postgre fanda. Na jednom projektu kde bylo mrte nestrukturovanych dat jsme zacinali na klasickem EAV v postgre to melo mizernou performance (neprekvapive) tak jsme presli na mongo nak to fungovalo ale cokoli slozitejsiho byl opruz jakoze FAKT opruz tak jsme se pokorne vratili k postgre a prekvapive to bylo rychlejsi nez to mongo (a to byla jeste hodne stara verze naka 9.4 tusim obecne prvni s podporou jsonb). Jako ta performance byla opravdu tak dobra ze jsme nepotrebovali ani to horizontalni skalovani ale je fakt ze ta DB byla celkem mala tusim nakych 700M radek. Meli jsme rozjety projekt ze udelame read repliky abychom tomu do budoucna ulehcily ale projekt se pak bohuzel ukoncil..
TLDR: Fakt bych to postgre nepodcenoval.. a hlavne ta prace s tim je mnohem komfortnejsi nez s mongem.

Re:Čím nahradit MongoDB?
« Odpověď #8 kdy: 06. 05. 2024, 19:43:58 »
Jasne, ze chcem horizontalne skalovat, inac by som nezacal na Mongu.

Postgre napriklad na Windowse moc nebezi (build jestvuje, ale moja prakticke skusenosti ani skusnosti kolegov nie su dobre).

Můžete mi k tomu poslat nějaké detaily - pár zákazníků s MS Win mám, a nikdo mi žádný problém nereportuje.

Re:Čím nahradit MongoDB?
« Odpověď #9 kdy: 07. 05. 2024, 07:33:37 »
Kedze Mongo zmenil liceniu ...
Jaká změna nastala? Nemůžu nikde nic dohledat.

Re:Čím nahradit MongoDB?
« Odpověď #10 kdy: 07. 05. 2024, 09:34:53 »
Kedze Mongo zmenil liceniu ...
Jaká změna nastala? Nemůžu nikde nic dohledat.
MongoDB Server (kód té databáze) je pod Server Side Public License (SSPL), což je podle autorů pořád Open-Source licence, ale Open Source Initiative si to nemyslí. Změna souvisela s tím, že veřejné cloudy využívaly MongoDB bezplatně a autoři měli za to, že by měli mít podíl na zisku. Poskytovatelé cloudu se nyní fakticky musí dohodnout s autory na placené proprietární licenci nezatížené podmínkami SSPL.

Re:Čím nahradit MongoDB?
« Odpověď #11 kdy: 07. 05. 2024, 10:14:26 »
Kedze Mongo zmenil liceniu ...
Jaká změna nastala? Nemůžu nikde nic dohledat.
Ono k té změně došlo už v roce 2018…