MongoDB yaive sarudzo chaiyo here?

Nguva pfupi yadarika ndakaona kuti Red Hat inobvisa MongoDB rutsigiro kubva kuSatellite (vanodaro nekuda kwekuchinja kwerezinesi). Izvi zvakaita kuti ndifunge nekuti mumakore mashoma apfuura ndakaona toni yezvinyorwa nezvekuipa kwakaita MongoDB uye kuti hapana munhu anofanira kuishandisa sei. Asi panguva ino, MongoDB yave chigadzirwa chakanyanya kukura. Chii chaitika? Iko kuvenga kwese kunokonzerwa nezvikanganiso mukutanga kushambadzira kweDBMS itsva? Kana kuti vanhu vari kungoshandisa MongoDB munzvimbo dzisiridzo?

Kana iwe uchinzwa sekunge ndiri kudzivirira MongoDB, ndapota verenga disclaimer pakupera kwechinyorwa.

Mutsva mutsva

Ndanga ndichishanda muindasitiri yesoftware kwemakore akawanda kupfuura zvandinogona kutaura, asi ini ndichiri kungoratidzwa chikamu chidiki chemaitiro akarova indasitiri yedu. Ndakaona kukwira kwe4GL, AOP, Agile, SOA, Web 2.0, AJAX, Blockchain ... urongwa hahuperi. Gore negore maitiro matsva anooneka. Vamwe vanokurumidza kupera, nepo vamwe vachichinja magadzirirwo esoftware.

Yese maitiro matsva anogadzira mafaro akajairwa: vanhu vanogona kusvetuka pabhodhi, kana kuona ruzha rwunogadzirwa nevamwe votevera mhomho. Iyi nzira yakarongedzerwa naGartner mukati Hype cycle. Kunyangwe paine gakava, iyi nguva inotsanangudza zvinoitika kune matekinoroji asati azoita basa.

Asi nguva nenguva hutsva hutsva hunoonekwa (kana hune kuuya kwechipiri, sezviri munyaya ino) hunotungamirirwa nekuitwa kumwe chete. Panyaya yeNoSQL, iyo hype yakafambiswa zvakanyanya nekubuda uye meteoric kusimuka kweMongoDB. MongoDB haina kutanga maitiro aya: chokwadi, makambani makuru eInternet akatanga kuve nematambudziko ekugadzirisa huwandu hwakawanda hwe data, izvo zvakakonzera kudzoka kweasina hukama dhatabhesi. Bato rese rakatanga nemapurojekiti akaita seGoogle's Bigtable uye Facebook's Cassandra, asi yaive MongoDB yakave inonyanya kuzivikanwa uye inowanika yeNoSQL dhatabhesi yekumisikidza iyo vagadziri vazhinji vakawana.

Ongorora: Unogona kufunga kuti ndiri kuvhiringa dhatabhesi dhatabhesi ane columnar dhatabhesi, kiyi / kukosha zvitoro, kana chero akawanda mamwe marudzi ezvitoro zve data anowira pasi peiyo NoSQL tsananguro. Uye wakarurama. Asi panguva iyoyo nyonganyonga yakatonga. Wese munhu akabatikana neNoSQL, yave munhu wese zvachose zvinodikanwa, kunyange vazhinji vasina kuona kusiyana kwehunyanzvi hwakasiyana. Kune vakawanda, MongoDB yave zvakafanana ne NoSQL.

Uye vagadziri vakasvetukira pairi. Pfungwa yeiyo schemaless dhatabhesi iyo yemashiripiti inoyera kugadzirisa chero dambudziko yaive kuyedza. Around 2014, zvaiita sekunge kwese kuti gore rapfuura rakashandisa dhatabhesi rehukama senge MySQL, Postgres kana SQL Server yakatanga kuendesa MongoDB dhatabhesi. Paunenge uchibvunzwa kuti sei, iwe unogona kuwana mhinduro kubva kubhanari "ichi ndicho chikero chewebhu" kune yakanyanya kufunga "data rangu rakanyatso kurongeka uye rinokwana mudhatabhesi isina schema."

Izvo zvakakosha kuti uyeuke kuti MongoDB, uye zvinyorwa zvinyorwa zvakazara, gadzirisa akati wandei matambudziko ane echinyakare hukama dhatabhesi:

  • Strict scheme: Iine dhatabhesi rehukama, kana iwe wakagadzira data zvine simba, unomanikidzwa kugadzira boka re "zvakasiyana-siyana" makoramu e data, kusundira mabhurobhu e data imomo, kana kushandisa gadziriro. EAV...zvese izvi zvine matambudziko akanyanya.
  • Kuomerwa kuyera: Kana paine data rakawanda zvekuti harikodzeri pane imwe sevha, MongoDB yakapa michina yekuibvumira kuyera mumichina yakawanda.
  • Kugadziriswa kwedunhu kwakaoma: hapana kutama! Mune dhatabhesi rehukama, kushandura dhizaini dhizaini kunogona kuve dambudziko rakakura (kunyanya kana paine data rakawanda). MongoDB yakakwanisa kurerutsa maitiro. Uye zvakaita kuti zvive nyore zvekuti iwe unogona kungovandudza dunhu paunenge uchienda uye nekuenderera mberi nekukurumidza.
  • Kurekodha kuita: Kuita kweMongoDB kwaive kwakanaka, kunyanya kana yakanyatsogadziriswa. Kunyangwe MongoDB's out-of-the-box kumisikidza, iyo yaiwanzoshoropodzwa, yakaratidza dzimwe dzinonakidza nhamba dzekuita.

Njodzi dzese dziri pauri

Mabhenefiti angangoita eMongoDB aive akakura, kunyanya kune mamwe makirasi ematambudziko. Kana iwe ukaverenga runyorwa rwuri pamusoro usinganzwisise mamiriro uye pasina ruzivo, unogona kuwana fungidziro yekuti MongoDB ndeyechokwadi shanduko DBMS. Dambudziko ranga riri rekuti mabhenefiti akanyorwa pamusoro akauya nehuwandu hwemapako, mamwe acho akanyorwa pazasi.

Kutaura chokwadi, hapana munhu pa10gen/MongoDB Inc. hazvizotauri kuti zvinotevera hazvisi chokwadi, izvi zvinongove zvibvumirano.

  • Kurasika kutengeserana: Transactions chinhu chakakosha cheakawanda ehukama dhatabhesi (kwete ese, asi mazhinji). Transactional zvinoreva kuti iwe unogona kuita akawanda maoperation atomically uye unogona kuona kuti iyo data inoramba ichienderana. Ehe, neNoSQL dhatabhesi, kutengeserana kunogona kunge kuri mukati megwaro rimwe chete, kana iwe unogona kushandisa maviri-chikamu kuzvipira kuwana transactional semantics. Asi iwe uchafanirwa kuita basa iri iwe pachako ... iro rinogona kuve rakaoma uye rinopedza nguva basa. Kazhinji hauzive kuti pane dambudziko kudzamara waona data riri mudhatabhesi richiguma risiri munyika nekuti atomicity yekushanda haigone kuvimbiswa. Ongorora: Vanhu vazhinji vakandiudza kuti MongoDB 4.0 yakaunza kutengeserana gore rapfuura, asi paine zvimwe zvisingakwanisi. Iyo yekutora kubva kuchinyorwa inoramba yakafanana: ongorora kuti tekinoroji inosangana sei nezvido zvako.
  • Kurasikirwa kwehukama hwehukama (makiyi ekunze): Kana yako data iine hukama, saka uchafanirwa kuishandisa mukushandisa. Kuve nedhatabhesi inoremekedza hukama uhu kuchatora basa rakawanda kubva pachishandiso uye nekudaro vagadziri vako.
  • Kushaikwa kwekugona kushandisa data chimiro: Zvirongwa zvakasimba dzimwe nguva zvinogona kuva dambudziko guru, asi zvakare isimba rine simba rekugadzirisa data rakanaka kana rakashandiswa nehungwaru. Document dhatabhesi seMongoDB inopa zvinoshamisa schema kuchinjika, asi kuchinjika uku kunobvisa mutoro wekuchengeta data rakachena. Kana ukasavachengeta, unozopedzisira wanyora kodhi yakawanda mukushandisa kwako kuti uzvidavirire kune data risina kuchengetwa mufomu raunotarisira. Sezvatinowanzo taura kukambani yedu Nyore Thread ... iyo application rimwe zuva ichanyorwazve, asi iyo data ichararama nekusingaperi. Ongorora: MongoDB inotsigira schema yekutarisa: inobatsira, asi haipe zvivimbiso zvakafanana sezviri mudhatabhesi rehukama. Chekutanga pane zvese, kuwedzera kana kushandura cheki che schema hakukanganise data iripo muunganidzwa. Zviri kwauri kuti uve nechokwadi chekuti unovandudza iyo data zvinoenderana neiyo schema nyowani. Zvisarudzire wega kana izvi zvakakwana kune zvaunoda.
  • Native mubvunzo mutauro / kurasikirwa kwechishandiso ecosystem: Kuuya kweSQL kwaive mhedziso shanduko uye hapana chakachinja kubva ipapo. Mutauro une simba rinoshamisa, asiwo wakaoma. Kudiwa kwekuvaka mibvunzo yedatabase mumutauro mutsva unosanganisira JSON zvidimbu zvinoonekwa senhanho hombe yekudzokera kumashure nevanhu vane ruzivo rwekushanda neSQL. Iko kune zvakasikwa zvese zvezvishandiso zvinodyidzana neSQL dhatabhesi, kubva kuIDE kusvika kune yekubika maturusi. Kuenda kune dhatabhesi isingatsigire SQL zvinoreva kuti haugone kushandisa akawanda ezvishandiso izvi kana unofanirwa kushandura iyo data muSQL kuti uishandise, izvo zvinogona kuoma kupfuura zvaunofunga.

Vazhinji vanogadzira vakatendeukira kuMongoDB havana kunyatsonzwisisa kutengeserana, uye kazhinji vakanyura nemusoro kuti vaise sechitoro chavo chekutanga data. Pashure peizvi kazhinji zvakanga zvakaoma zvikuru kudzoka.

Chii chaigona kuitwa nenzira yakasiyana?

Havasi vese vakasvetuka nemusoro vachirova pasi. Asi mapurojekiti mazhinji akaisa MongoDB munzvimbo dzaasina kukwana - uye vachafanira kugara nayo kwemakore mazhinji ari kuuya. Dai masangano aya akapedza nguva uye achifunga nenzira kwayo kuburikidza nesarudzo dzetekinoroji, vazhinji vangadai vakaita sarudzo dzakasiyana.

Nzira yekusarudza teknolojia yakarurama? Pakave nekuedza kwakawanda kugadzira hurongwa hwekuongorora tekinoroji, senge "Framework yekuunza matekinoroji mumasangano esoftware" ΠΈ "Framework yekuongorora matekinoroji esoftware", asi zvinoratidzika kwandiri kuti uku kuoma kusingakoshi.

Mazhinji matekinoroji anogona kuongororwa zvine hungwaru nekubvunza mibvunzo miviri chete yakakosha. Dambudziko nderekutsvaga vanhu vanogona kuvapindura zvine musoro, vachitora nguva yekutsvaga mhinduro uye pasina rusaruro.

Kana usiri kutarisana nedambudziko ripi zvaro, haudi chishandiso chitsva. Dot.

Mubvunzo wekutanga: Ndeapi matambudziko andiri kuedza kugadzirisa?

Kana usiri kutarisana nedambudziko ripi zvaro, haudi chishandiso chitsva. Dot. Hapana chikonzero chekutsvaga mhinduro wobva wagadzira dambudziko. Kunze kwekunge wasangana nedambudziko iro tekinoroji nyowani inogadzirisa zvakanyanya kupfuura tekinoroji yako iripo, hapana chekukurukura pano. Kana uri kufunga kushandisa tekinoroji iyi nekuti waona vamwe vachiishandisa, funga matambudziko avanotarisana nawo uye bvunza kana iwe uine matambudziko iwayo. Zviri nyore kubvuma tekinoroji nekuti vamwe vari kuishandisa, chinonetsa kunzwisisa kuti unotarisana nematambudziko akafanana here.

Mubvunzo 2: Chii chandiri kurasikirwa?

Uyu mubvunzo wakanyanya kuoma nekuti iwe uchafanirwa kuchera mukati uye nekunzwisisa kwakanaka kwezvese zvekare uye tekinoroji nyowani. Dzimwe nguva haugone kunyatsonzwisisa chitsva kusvikira wavaka chimwe chinhu nacho kana uine mumwe munhu ane ruzivo irworwo.

Kana iwe usina kana, saka zvine musoro kufunga nezvehushoma hunogoneka hwekudyara kuti uone kukosha kwechiridzwa ichi. Uye kana iwe waita mari, zvichave zvakaoma sei kudzosera sarudzo?

Vanhu vanogara vachiparadza zvose

Sezvaunoedza kupindura iyi mibvunzo nenzira isina rusaruro sezvinobvira, rangarira chinhu chimwe: uchafanira kurwisa hunhu hwomunhu. Kune akati wandei ekuziva kusarerekera kunofanirwa kukundwa kuti unyatso kuongorora tekinoroji. Heano mashoma mashoma:

  • Mhedzisiro yekubatana nevazhinji - munhu wose anoziva nezvake, asi zvakaoma kurwa naye. Ingoita shuwa kuti tekinoroji inoenderana nezvido zvako chaizvo.
  • Novelty effect - Vagadziri vazhinji vanowanzorerutsa matekinoroji avakashanda nawo kwenguva yakareba uye vanofungidzira mabhenefiti ehunyanzvi hutsva. Haisi vagadziri vepurogiramu chete, munhu wese anobatwa nerusarura urwu rwekuziva.
  • Mhedzisiro yemaitiro akanaka - Isu tinowanzo kuona zviripo uye kutadza kuona izvo zvisipo. Izvi zvinogona kutungamira kune mhirizhonga kana zvakasanganiswa nerutsva mhedzisiro, sezvo iwe usingangotarisire tekinoroji nyowani, asi zvakare kufuratira zvikanganiso zvayo..

Kuongorora kwechinangwa hakusi nyore, asi kunzwisisa zviri pasi pekusarudzika kuchakubatsira kuita sarudzo dzine musoro.

Summary

Pese panoonekwa hutsva, mibvunzo miviri inofanirwa kupindurwa nekuchenjerera kukuru:

  • Ichi chishandiso chinogadzirisa dambudziko chairo here?
  • Tinonzwisisa kutengeserana-offs zvakanaka here?

Kana usingakwanise kupindura mibvunzo miviri iyi nechivimbo, tora nhanho shoma kumashure ufunge.

Saka MongoDB yaive sarudzo chaiyo here? Chokwadi hongu; Sezvinoita akawanda einjiniya matekinoroji, izvi zvinoenderana nezvakawanda zvinhu. Pakati peavo vakapindura mibvunzo miviri iyi, vazhinji vakabatsirwa neMongoDB uye vanoramba vachidaro. Kune avo vasina, ndinovimba wakadzidza chidzidzo chakakosha uye chisiri chinorwadza pamusoro pekufamba kuburikidza neiyo hype kutenderera.

Disclaimer

Ndinoda kujekesa kuti handina rudo kana hukama hweruvengo neMongoDB. Isu hatisati tambove nemhando yezvinetso izvo MongoDB inonyatsokodzera kugadzirisa. Ndinoziva kuti 10gen/MongoDB Inc. yakanga yakashinga zvakanyanya pakutanga, kuisa kusachengeteka defaults uye kusimudzira MongoDB kwese (kunyanya kuma hackathons) semhinduro yepasirese yekushanda nechero data. Zvichida chakanga chiri chisarudzo chakaipa. Asi inosimbisa nzira inotsanangurwa pano: matambudziko aya anogona kuonekwa nekukasira kunyangwe nekutarisa kwepamusoro kwehunyanzvi.

Source: www.habr.com

Voeg