MongoDB kien ġeneralment l-għażla t-tajba?

Dan l-aħħar sirt naf li Red Hat ineħħi l-appoġġ MongoDB minn Satellite (jgħidu minħabba bidliet fil-liċenzja). Dan ġabni naħseb għax fl-aħħar ftit snin rajt ton ta’ artikli dwar kemm MongoDB huwa terribbli u kif ħadd m’għandu qatt jużah. Iżda matul dan iż-żmien, MongoDB sar prodott ħafna aktar matur. X'ġara? Il-mibegħda kollha hija verament dovuta għal żbalji fil-kummerċjalizzazzjoni bikrija ta 'DBMS ġdid? Jew in-nies qed jużaw biss MongoDB f'postijiet żbaljati?

Jekk tħoss li qed niddefendi MongoDB, jekk jogħġbok aqra ċaħda fl-aħħar tal-artiklu.

Xejra ġdida

Ilni naħdem fl-industrija tas-softwer għal aktar snin milli nista 'ngħid, iżda għadni biss ġejt espost għal porzjon żgħir tax-xejriet li laqtu l-industrija tagħna. Rajt iż-żieda ta '4GL, AOP, Agile, SOA, Web 2.0, AJAX, Blockchain... il-lista hija bla tmiem. Kull sena jidhru xejriet ġodda. Xi wħud malajr jisparixxu, filwaqt li oħrajn jibdlu b'mod fundamentali l-mod kif jiġi żviluppat is-softwer.

Kull xejra ġdida toħloq eċċitament ġenerali: in-nies jew jaqbżu abbord, jew jaraw l-istorbju ġġenerat minn oħrajn u jsegwu l-folla. Dan il-proċess huwa kkodifikat minn Gartner fi ċiklu hype. Għalkemm kontroversjali, din il-kalendarju tiddeskrivi bejn wieħed u ieħor x'jiġri mit-teknoloġiji qabel ma eventwalment isiru utli.

Iżda minn żmien għal żmien tidher innovazzjoni ġdida (jew ikollha t-tieni miġja, bħal f'dan il-każ) immexxija minn implimentazzjoni speċifika waħda biss. Fil-każ ta 'NoSQL, il-hype kien immexxi ħafna mill-emerġenza u ż-żieda meteorika ta' MongoDB. MongoDB ma bdietx din it-tendenza: fil-fatt, kumpaniji kbar tal-Internet bdew ikollhom problemi biex jipproċessaw ammonti kbar ta 'dejta, li wassal għar-ritorn ta' databases mhux relazzjonali. Il-moviment ġenerali beda bi proġetti bħall-Bigtable ta 'Google u Cassandra ta' Facebook, iżda kien MongoDB li sar l-implimentazzjoni tad-database NoSQL l-aktar magħrufa u aċċessibbli li l-biċċa l-kbira tal-iżviluppaturi kellhom aċċess għaliha.

Nota: Tista 'taħseb li qed inħawwad databases ta' dokumenti ma 'databases kolonni, ħwienet ewlenin/valur, jew kwalunkwe mill-bosta tipi oħra ta' ħwienet tad-dejta li jaqgħu taħt id-definizzjoni ġenerali NoSQL. U għandek raġun. Imma dak iż-żmien kien issaltan il-kaos. Kulħadd huwa ossessjonat bl-NoSQL, sar kulħadd assolutament meħtieġ, għalkemm ħafna ma rawx id-differenzi fit-teknoloġiji differenti. Għal ħafna, MongoDB sar sinonimu ma ' NoSQL.

U l-iżviluppaturi qabdu fuqha. L-idea ta 'database bla skema li tiskala b'mod maġiku biex issolvi kwalunkwe problema kienet pjuttost jitħajjar. Madwar l-2014, deher li kullimkien li sena ilu uża database relazzjonali bħal MySQL, Postgres jew SQL Server beda juża databases MongoDB. Meta mistoqsi għaliex, tista 'tikseb tweġiba mill-banali "din hija l-iskala tal-web" għall-aktar maħsub "id-dejta tiegħi hija strutturata b'mod laxk ħafna u tidħol sew f'database mingħajr skema."

Huwa importanti li tiftakar li MongoDB, u d-databases tad-dokumenti b'mod ġenerali, isolvu għadd ta' problemi b'databases relazzjonali tradizzjonali:

  • Skema stretta: B'database relazzjonali, jekk ikollok dejta ġġenerata b'mod dinamiku, inti sfurzat jew toħloq mazz ta 'kolonni "varji" ta' dejta bl-addoċċ, tpoġġi biċċiet ta' dejta hemmhekk, jew tuża l-konfigurazzjoni Estensjoni EAV...dan kollu għandu żvantaġġi sinifikanti.
  • Diffikultà għall-iskala: Jekk ikun hemm tant dejta li ma taqbilx fuq server wieħed, MongoDB offra mekkaniżmi li jippermettulha tiskala fuq magni multipli.
  • Modifiki kumplessi taċ-ċirkwit: ebda migrazzjonijiet! F'database relazzjonali, it-tibdil tal-istruttura tad-database jista 'jkun problema enormi (speċjalment meta jkun hemm ħafna dejta). MongoDB kien kapaċi jissimplifika bil-kbir il-proċess. U għamilha daqshekk faċli li tista 'sempliċement taġġorna ċ-ċirkwit kif tmur u timxi 'l quddiem malajr ħafna.
  • Prestazzjoni tar-reġistrazzjoni: Il-prestazzjoni ta' MongoDB kienet tajba, speċjalment meta kkonfigurata sew. Anke l-konfigurazzjoni out-of-the-box ta 'MongoDB, li għaliha ħafna drabi kienet ikkritikata, uriet xi numri ta' prestazzjoni impressjonanti.

Ir-riskji kollha huma fuqek

Il-benefiċċji potenzjali ta 'MongoDB kienu enormi, speċjalment għal ċerti klassijiet ta' problemi. Jekk taqra l-lista ta 'hawn fuq mingħajr ma tifhem il-kuntest u mingħajr esperjenza, tista' tieħu l-impressjoni li MongoDB huwa tassew DBMS rivoluzzjonarju. L-unika problema kienet li l-benefiċċji elenkati hawn fuq ġew ma 'numru ta' twissijiet, li wħud minnhom huma elenkati hawn taħt.

Biex inkun ġust, ħadd f'10gen/MongoDB Inc. mhux se ngħid li dan li ġej mhux minnu, dawn huma biss kompromessi.

  • Transazzjonijiet mitlufa: It-tranżazzjonijiet huma karatteristika ewlenija ta' ħafna databases relazzjonali (mhux kollha, iżda l-biċċa l-kbira). Transazzjonali tfisser li tista 'twettaq operazzjonijiet multipli atomikament u tista' tiżgura li d-dejta tibqa 'koerenti. Naturalment, b'database NoSQL, it-transazzjonalità tista 'tkun f'dokument wieħed, jew tista' tuża impenji f'żewġ fażijiet biex tikseb semantika transazzjonali. Imma jkollok timplimenta din il-funzjonalità lilek innifsek... li tista' tkun biċċa xogħol diffiċli u li tieħu ħafna ħin. Ħafna drabi ma tirrealizzax li hemm problema sakemm tara li d-dejta fid-database tispiċċa fi stati invalidi minħabba li l-atomiċità tal-operazzjonijiet ma tistax tiġi garantita. Nota: Ħafna nies qaluli li MongoDB 4.0 introduċa tranżazzjonijiet is-sena li għaddiet, iżda b'xi limitazzjonijiet. It-teħid mill-artiklu jibqa 'l-istess: evalwa kemm it-teknoloġija tissodisfa l-bżonnijiet tiegħek.
  • Telf ta' integrità relazzjonali (ċwievet barranin): Jekk id-dejta tiegħek għandha relazzjonijiet, allura jkollok tapplikahom fl-applikazzjoni. Li jkollok database li tirrispetta dawn ir-relazzjonijiet se tieħu ħafna mix-xogħol barra mill-applikazzjoni u għalhekk mill-programmaturi tiegħek.
  • Nuqqas ta' ħila li tapplika l-istruttura tad-data: Skemi stretti kultant jistgħu jkunu problema kbira, iżda huma wkoll mekkaniżmu b'saħħtu għall-istrutturar tajjeb tad-dejta jekk jintużaw b'mod għaqli. Id-databases tad-dokumenti bħal MongoDB jipprovdu flessibilità ta’ skema inkredibbli, iżda din il-flessibbiltà tneħħi r-responsabbiltà li d-dejta tinżamm nadifa. Jekk ma tieħu ħsiebhom, tispiċċa tikteb ħafna kodiċi fl-applikazzjoni tiegħek biex tagħti kont tad-dejta li mhix maħżuna fil-forma li tistenna. Kif spiss ngħidu fil-kumpanija tagħna Sempliċi Thread... l-applikazzjoni xi darba tinkiteb mill-ġdid, iżda d-dejta se tgħix għal dejjem. Nota: MongoDB jappoġġja l-iċċekkjar ta 'skema: huwa utli, iżda ma jipprovdix l-istess garanziji bħal f'database relazzjonali. L-ewwelnett, iż-żieda jew it-tibdil ta 'skema check ma taffettwax id-dejta eżistenti fil-ġbir. Huwa f'idejk li tiżgura li taġġorna d-dejta skont l-iskema l-ġdida. Iddeċiedi għalik innifsek jekk dan huwiex biżżejjed għall-bżonnijiet tiegħek.
  • Lingwa nattiva ta' mistoqsija / telf ta' ekosistema ta' għodda: Il-miġja tal-SQL kienet rivoluzzjoni assoluta u xejn ma nbidel minn dakinhar. Hija lingwa oerhört qawwija, iżda wkoll pjuttost kumplessa. Il-ħtieġa li jinbnew mistoqsijiet tad-database f'lingwa ġdida li tikkonsisti fi frammenti JSON hija meqjusa bħala pass kbir lura minn nies li għandhom esperjenza ta' xogħol bl-SQL. Hemm univers sħiħ ta 'għodod li jinteraġixxu ma' databases SQL, minn IDEs għal għodod ta 'rappurtar. Tiċċaqlaq għal database li ma tappoġġjax SQL ifisser li ma tistax tuża l-biċċa l-kbira ta 'dawn l-għodod jew ikollok tittraduċi d-dejta f'SQL biex tużahom, li jista' jkun aktar diffiċli milli taħseb.

Ħafna żviluppaturi li daru għal MongoDB ma tantx fehmu l-kompromessi, u ħafna drabi għaddew rashom biex jinstallawha bħala l-maħżen tad-dejta primarju tagħhom. Wara dan kien spiss oerhört diffiċli li terġa 'lura.

X'seta' jsir b'mod differenti?

Mhux kulħadd qabeż rasu u laqat il-qiegħ. Iżda ħafna proġetti installaw MongoDB f'postijiet fejn sempliċement ma kienx joqgħod - u se jkollhom jgħixu miegħu għal ħafna snin li ġejjin. Kieku dawn l-organizzazzjonijiet qattgħu xi żmien u metodikament ħasbu fl-għażliet tat-teknoloġija tagħhom, ħafna kienu jagħmlu għażliet differenti.

Kif tagħżel it-teknoloġija t-tajba? Kien hemm diversi tentattivi biex jinħoloq qafas sistematiku għall-valutazzjoni tat-teknoloġija, bħal "Qafas għall-introduzzjoni ta' teknoloġiji fl-organizzazzjonijiet tas-softwer" и "Qafas għall-valutazzjoni tat-teknoloġiji tas-softwer", iżda jidhirli li din hija kumplessità bla bżonn.

Ħafna teknoloġiji jistgħu jiġu evalwati b'mod intelliġenti billi wieħed jistaqsi biss żewġ mistoqsijiet bażiċi. Il-problema hija li ssib nies li jistgħu jwieġbuhom b'mod responsabbli, li jieħdu l-ħin biex isibu t-tweġibiet u mingħajr preġudizzju.

Jekk m'intix qed tiffaċċja xi problema, m'għandekx bżonn għodda ġdida. Dot.

Mistoqsija 1: Liema problemi qed nipprova nsolvi?

Jekk m'intix qed tiffaċċja xi problema, m'għandekx bżonn għodda ġdida. Dot. M'hemmx għalfejn tfittex soluzzjoni u mbagħad tivvinta problema. Sakemm ma ltqajtx ma' problema li t-teknoloġija l-ġdida ssolvi b'mod sinifikanti aħjar mit-teknoloġija eżistenti tiegħek, m'hemm xejn x'tiddiskuti hawn. Jekk qed tikkunsidra li tuża din it-teknoloġija għax rajt lil ħaddieħor jużaha, aħseb dwar liema problemi jiffaċċjaw u staqsi jekk għandekx dawk il-problemi. Huwa faċli li taċċetta teknoloġija għax ħaddieħor qed jużaha, l-isfida hija li tifhem jekk tiffaċċjax l-istess problemi.

Mistoqsija 2: X'qed nieqes?

Din hija definittivament mistoqsija aktar diffiċli minħabba li jkollok tħaffer u tifhem tajjeb kemm it-teknoloġija l-antika kif ukoll dik ġdida. Xi drabi ma tkunx tista’ tifhem xi ħaġa ġdida sakemm tkun bnejt xi ħaġa magħha jew ikollok xi ħadd b’dik l-esperjenza.

Jekk ma jkollok l-ebda waħda, allura jagħmel sens li taħseb dwar l-investiment minimu possibbli biex tiddetermina l-valur ta 'dan l-istrument. U ladarba tagħmel l-investiment, kemm se jkun diffiċli li ireġġa' lura d-deċiżjoni?

In-nies dejjem iħassru kollox

Hekk kif tipprova twieġeb dawn il-mistoqsijiet bl-aktar mod imparzjali possibbli, ftakar ħaġa waħda: ser ikollok tiġġieled in-natura umana. Hemm numru ta 'preġudizzji konjittivi li jridu jingħelbu biex tiġi evalwata b'mod effettiv it-teknoloġija. Hawn huma biss ftit:

  • L-effett li tissieħeb mal-maġġoranza - kulħadd jaf dwaru, iżda xorta diffiċli tiġġieled miegħu. Kun żgur li t-teknoloġija fil-fatt taqbel mal-bżonnijiet attwali tiegħek.
  • Effett ta 'novità — Ħafna żviluppaturi għandhom it-tendenza li jissottovalutaw it-teknoloġiji li ħadmu magħhom għal żmien twil u jistmaw iżżejjed il-benefiċċji ta 'teknoloġija ġdida. Mhuwiex biss programmaturi, kulħadd huwa suxxettibbli għal dan il-preġudizzju konjittiv.
  • Effett ta' karatteristiċi pożittivi - Għandna t-tendenza li naraw dak li hemm u nitilfu dak li hu nieqes. Dan jista 'jwassal għal kaos meta kkombinat mal-effett ta' novità, peress li mhux biss inerenti ta' valur eċċessiv ta' teknoloġija ġdida, iżda wkoll tinjora n-nuqqasijiet tagħha.

Il-valutazzjoni oġġettiva mhix faċli, iżda l-fehim tal-preġudizzji konjittivi sottostanti jgħinek tieħu deċiżjonijiet aktar razzjonali.

Sommarju

Kull meta tidher innovazzjoni, għandhom jitwieġbu żewġ mistoqsijiet b'attenzjoni kbira:

  • Din l-għodda ssolvi problema reali?
  • Nifhmu sew il-kompromessi?

Jekk ma tistax twieġeb dawn iż-żewġ mistoqsijiet b'mod kunfidenti, ħu ftit passi lura u aħseb.

Allura kien MongoDB anke l-għażla t-tajba? Naturalment iva; Bħal fil-biċċa l-kbira tat-teknoloġiji tal-inġinerija, dan jiddependi fuq ħafna fatturi. Fost dawk li wieġbu dawn iż-żewġ mistoqsijiet, ħafna bbenefikaw minn MongoDB u għadhom jagħmlu dan. Għal dawk li ma għamlux hekk, nittama li tgħallimt lezzjoni siewja u mhux wisq koroh dwar kif timxi miċ-ċiklu tal-hype.

Ċaħda

Irrid niċċara li la għandi relazzjoni ta' mħabba u lanqas ta' mibegħda ma' MongoDB. Aħna biss ma kellniex it-tip ta 'problemi li MongoDB huwa l-aktar adattat biex isolvi. Naf li 10gen/MongoDB Inc. kien kuraġġuż ħafna għall-ewwel, stabbilixxa nuqqasijiet mhux sikuri u jippromwovi MongoDB kullimkien (speċjalment fil-hackathons) bħala soluzzjoni universali biex taħdem ma 'kwalunkwe data. Probabbilment kienet deċiżjoni ħażina. Iżda tikkonferma l-approċċ deskritt hawn: dawn il-problemi jistgħu jiġu skoperti malajr ħafna anke b'valutazzjoni superfiċjali tat-teknoloġija.

Sors: www.habr.com

Żid kumment