Yra žinomų problemų ir svarstymų, susijusių su populiarių „WordPress“ papildinių naudojimu su „MongoDB“ kaip duomenų bazės sistema, o ne standartine „MySQL“ ar „Mariadb“. Kadangi „WordPress“ iš prigimties yra sukurtas dirbti su „MySQL“ duomenų bazėmis, naudojant „MongoDB“ „NoSQL“ duomenų bazę reikia reikšmingų techninių pakeitimų ir gali turėti įtakos suderinamumui su daugybe papildinių ir temų.
Pirma, „WordPress Core“ ir plati papildinių ir temų ekosistema labai priklauso nuo SQL užklausų, pritaikytų reliacinėms duomenų bazėms, tokioms kaip „MySQL“. „MongoDB“ veikia pagal dokumentus pagrįstą „NoSQL“ duomenų modelį, kuris natūraliai nepalaiko SQL sintaksės, todėl daugybei papildinių, kuriems pateikiamos SQL užklausos, žlugs arba nenuspėjamai elgiasi, kai jis naudojamas su „MongoDB“. Daugelyje „WordPress“ papildinių yra prielaida, kad santykių duomenų struktūros, operacijos, prisijungimai ir rūgšties atitikties charakteristikos, gimusios „MySQL“, tačiau jos nėra ar kitokios „MongoDB“, o tai sukelia suderinamumo iššūkius.
Vienas pagrindinis techninis iššūkis kyla dėl to, kad „MongoDB“ tradiciškai nebuvo visiškai suderinamas su daugialypiu dokumento lygiu (ypač prieš 4 versiją). „WordPress“ papildiniai, kurie remiasi atominėmis operacijomis keliose lentelėse ar kompleksinėse jungtyse, gali susidurti su duomenų vientisumo problemomis ar nenuosekliu elgesiu, kai „MongoDB“ naudojamas kaip užpakalinė dalis. „MongoDB“ suteikia atomiškumą vieno dokumento lygyje, tačiau daugelis „WordPress“ papildinių tikisi kelių stalo operacijų, ko „MongoDB“ negali pateikti iš prigimties.
Be to, įskiepiai, valdantys vartotojo autentifikavimą, vaidmenis ir galimybes, arba kuriais manipuliuoja sudėtingas meta duomenų struktūras, saugomas „MySQL“ lentelėse, gali sulaužyti, nes „MongoDB“ duomenys tvarko labai skirtingai. Pavyzdžiui, įskiepiai, kurie atlieka sudėtingas užklausas ar surinktus duomenis vartotojo meta-kolonose ar „Post Meta“ lentelėse, gali netinkamai veikti, nes nėra tiesioginio mongodb, lygiaverčio SQL prisijungimo ar reliacinėms schemoms. Kai kuriuose papildinių puslapiuose ar nustatymuose gali nepavykti rodyti duomenų, nes jų numatomos užklausos negali būti vykdomos „MongoDB“.
Konversijos arba adapterio papildiniai, bandantys išversti „MySQL“ užklausas į „MongoDB“ komandas, egzistuoja, tačiau dažnai yra ribotos ir neišsamios. Tokie papildiniai gali tvarkyti tik pagrindinius scenarijus, todėl jiems reikia kruopštaus rankinio bandymo ir išplėstinio pritaikymo, kad būtų galima patikimai dirbti gamybos aplinkoje. Be to, išlaikyti šiuos papildinius yra sudėtinga, nes jiems reikia neatsilikti nuo nuolat kintančių „WordPress“ ir „MongoDB“ versijų, ir jie ne visada palaiko pažangias „WordPress“ funkcijas, tokias kaip pasirinktiniai įrašų tipai, taksonomijos ar daugialypiai instaliacijos.
Populiarūs ir sudėtingi „WordPress“ papildiniai, tokie kaip „Yoast SEO“, taip pat parodė tam tikrą nestabilumą ar konfliktus aplinkoje, kuria nenaudojama tradicinių „MySQL“ sąrankų, nors dauguma praneštų problemų kyla dėl papildinių konfliktų, o ne tiesioginio „MongoDB“ nesuderinamumo. Tačiau verta paminėti, kad daugelis populiarių papildinių tiesiog oficialiai nepalaiko „MongoDB“ ir riboja jų saugų naudojimą tokioje sąrankoje. Papildinių kūrėjai paprastai nesukuria duomenų bazių, kurios nėra ryšių, todėl suderinamumas dažnai nėra prižiūrimas ar išbandomas naudojant „MongoDB“.
Veiklos rezultatai, nors „MongoDB“ gali pasiūlyti tokių pranašumų kaip mastelio keitimas ir lankstus schemos dizainas, tačiau šias pranašumus kompensuoja praktiniai sunkumai pritaikant „WordPress“ architektūrą ir ekosistemą NoSQL. Kai kurie kūrėjai siūlo alternatyvius metodus, tokius kaip „MySQL“ ir toliau naudoti „MySQL“ „WordPress“, tuo pačiu pasinaudojant „MongoDB“ konkretiems programų komponentams, tokiems kaip talpyklos talpykla, raktų vertės saugykla ar aptarnaujant frontendo programas, o ne visiškai pakeičiant „MySQL“.
Apibendrinant galima pasakyti, kad žinomos populiarių „WordPress“ papildinių ir „MongoDB“ klausimai apima:
- Nesuderinamumas dėl „SQL Reliance“: dauguma papildinių tikisi „MySQL“ pagrindinės ir SQL užklausų, kurių „MongoDB“ negali įvykdyti.
- Santykinių duomenų tvarkymo trūkumas: „MongoDB“ dokumentais pagrįstas modelis prieštarauja lūkesčiams dėl reliacinių duomenų, prisijungimo ir sandorių papildiniuose.
- Dalinės rūgšties palaikymas: Ribotas operacijų palaikymas „MongoDB“ gali sukelti duomenų nuoseklumo problemas papildiniuose, tikėdamiesi visiškos rūgšties atitikties.
- Broken papildinio funkcijos: įskiepiai, tvarkantys vartotojo vaidmenis, metaduomenis ir sudėtingas užklausas, dažnai žlunga arba rodo trūkstamus duomenis.
- Reikalinga sudėtinga migracija ir adaptacija: įskiepiai, kuriuose bandoma sujungti „MySQL“ ir „MongoDB“, dažnai veikia tik iš dalies ir reikalauja išsamių bandymų.
- Oficialios paramos trūkumas: Pagrindiniai papildiniai retai siūlo oficialų „MongoDB“ palaikymą, todėl elgesys nepalaikomas ar klaidingas.
- Papildinių konfliktai ir nestabilumas nestandartinėje aplinkoje: kai kurie papildiniai, tokie kaip „Yoast SEO“, patyrė stabilumo problemas, kai naudojami netradicinėse sąrankose.