Populaarsete WordPressi pistikprogrammide kasutamise küsimused ja kaalutlused on MongoDB -ga andmebaasisüsteemina standardse MySQL või MariaDB asemel. Kuna WordPress on oma olemuselt ehitatud MySQL -i andmebaasidega töötamiseks, nõuab NoSQL -i andmebaasi kasutamine MongoDB kasutamine olulisi tehnilisi kohandusi ja see võib mõjutada ühilduvust paljude pistikprogrammide ja teemadega.
Esiteks sõltuvad pistikprogrammide ja teemade laia ökosüsteemi WordPressi tuum ning tuginevad suuresti SQL päringutele, mis on kohandatud relatsiooniliste andmebaaside jaoks nagu MySQL. MongoDB töötab dokumendipõhisel NoSQL-i andmemudelil, mis ei toeta SQL-i süntaksi natiivselt, põhjustades paljusid SQL-päringuid välja andnud pistikprogrammid ebaõnnestumise või käitumise korral ettearvamatult, kui seda kasutatakse MongoDB-ga. Paljud WordPressi pistikprogrammid eeldavad suhtelisi andmestruktuure, tehinguid, liitumisi ja happelisi vastavuse omadusi, mis on pärit MySQL -is, kuid MongoDB -s puuduvad või erinevad, mis põhjustab ühilduvuse väljakutseid.
Üks peamine tehniline väljakutse tuleneb asjaolust, et MongoDB ei vastanud tavapäraselt mitme dokumendi tasemel täielikult happele (eriti enne versiooni 4). WordPressi pistikprogrammid, mis tuginevad mitme tabeli või keerukate liitude aatomitehingutele, võivad mongodb -i kasutamisel ilmneda andmete terviklikkuse probleeme või ebajärjekindlat käitumist. MongoDB pakub aatomilisust ühe dokumendi tasemel, kuid paljud WordPressi pistikprogrammid ootavad mitme lauaga tehinguid, midagi MongoDB ei saa oma olemuselt pakkuda.
Lisaks võivad pistikprogrammid, mis haldavad kasutaja autentimist, rolle ja võimalusi, või manipuleerivad MySQL-i tabelites suhteliselt salvestatud keerukate metaandmete struktuurid, kuna MongoDB käitleb andmeid väga erinevalt. Näiteks ei pruugi pistikprogrammid, mis teostavad keerulisi päringuid või koondatud andmeid kasutajate meta-veerude vahel või meta-tabelid, õigesti toimida, kuna otsest mongoDB-d ei ole samaväärset SQL-i liitumistele või relatsiooniskeemidele. Mõned pistikprogrammi lehed või seaded võivad andmeid kuvada, kuna nende eeldatavaid päringuid ei saa MongoDB -s teostada.
Konversiooni- või adapteri pistikprogrammid, mis üritavad tõlkida MySQL päringuid MongoDB käskudele, on olemas, kuid sageli on need piiratud ja puudulikud. Sellised pistikprogrammid võivad käsitleda ainult põhistsenaariume ja need vajavad hoolikat käsitsi testimist ja laiendatud kohandamist, et töötada usaldusväärselt tootmiskeskkonnas. Lisaks on nende pistikprogrammide säilitamine keeruline, kuna nad peavad sammu pidama pidevalt arenevate WordPressi ja MongoDB versioonidega ning need ei toeta alati täiustatud WordPressi funktsioone nagu kohandatud postitüübid, taksonoomiad või multisite installatsioonid.
Populaarsed ja keerulised WordPressi pistikprogrammid, näiteks Yoast SEO, on avaldanud ka ebastabiilsust või konflikte keskkondades, mis ei kasuta traditsioonilisi MySQL -i seadistusi, ehkki enamik teatatud probleeme tekivad pistikprogrammide konfliktidest, mitte otsese mongoDB ühilduvusest. Siiski väärib märkimist, et paljud populaarsed pistikprogrammid lihtsalt ei toeta MongoDB -d ametlikult, piirates nende ohutut kasutamist sellises seadistuses. Pistikprogrammide arendajad ei kujunda tavaliselt mitte-relatiivsete andmebaaside jaoks, seega ei ole ühilduvust sageli MongoDB-ga testitud.
Jõudlusega, samas kui MongoDB võib pakkuda eeliseid, näiteks mastaapsuse ja paindliku skeemi kujundamist, korvavad need eelised WordPressi arhitektuuri ja ökosüsteemi kohandamisel NoSQL-iga praktilised raskused. Mõned arendajad soovitavad alternatiivseid lähenemisviise, näiteks WordPressi jaoks MySQL-i kasutamise jätkamine, kasutades MongoDB-d konkreetsete rakenduste komponentide jaoks, nagu vahemällu salvestamine, võtmeväärtuse salvestusruum või serveerides esikülje rakendusi, selle asemel, et MySQL-i täielikult asendada.
Kokkuvõtlikult on populaarsete WordPressi pistikprogrammide ja MongoDB teadaolevad probleemid:
- SQL Reliance'ist tingitud kokkusobimatus: enamik pistikprogramme ootab MySQL taustaprogrammi ja väljastage SQL -päringud, mida MongoDB ei suuda täita.
- Suhteandmete käitlemise puudumine: MongoDB dokumendipõhine mudel on vastuolus pistikprogrammide suhteandmete, ühenduste ja tehingute ootustega.
- Osaline happe tugi: MongoDB piiratud tehingutugi võib põhjustada andmete järjepidevuse probleeme pistikprogrammides, mis ootavad täielikku happeid.
- Katkised pistikprogrammid: pistikprogrammid, mis käsitlevad kasutajarolle, metaandmeid ja keerulisi päringuid, ebaõnnestuvad või näitavad puuduvaid andmeid.
- Vajalik keeruline migratsioon ja kohanemine: pistikprogrammid, mis üritavad ületada MySQL ja MongoDB, töötavad sageli ainult osaliselt ja vajavad ulatuslikku testimist.
- Ametliku toe puudumine: suuremad pistikprogrammid pakuvad harva ametlikku MongoDB tuge, mille tulemuseks on toetamata või lollakas käitumine.
- Pistikprogrammide konfliktid ja ebastabiilsus mittestandardses keskkonnas: mõnel pistikprogrammidel, näiteks Yoast SEO-l, on kogenud stabiilsusprobleeme, kui neid kasutatakse tavatutes seadistustes.