MongoDB guud ahaan miyay ahayd doorashada saxda ah?

Waxaan dhawaan ogaaday taas Koofiyada Cas waxa ay ka saartaa taageerada MongoDB Satelite-ka (waxay yiraahdeen isbeddellada shatiga awgeed). Tani waxay iga dhigtay inaan fekero sababtoo ah dhowrkii sano ee la soo dhaafay waxaan arkay maqaallo badan oo ku saabsan sida MongoDB u xun yahay iyo sida qofna uusan waligiis u isticmaalin. Laakiin inta lagu jiro waqtigan, MongoDB waxay noqotay badeecad aad u qaan-gaar ah. Maxaa dhacay? Nacaybka oo dhan ma run ahaantii waxaa sabab u ah khaladaadka suuqgeynta hore ee DBMS cusub? Mise dadku waxay ku isticmaalayaan MongoDB meelo khaldan?

Haddii aad dareento inaan difaacayo MongoDB, fadlan akhri afeef dhamaadka maqaalka.

Isbeddello cusub

Waxaan ka shaqeynayay warshadaha software-ka sanado ka badan inta aan dhihi karo, laakiin weli waxaan kaliya la kulmay qayb yar oo ka mid ah isbeddellada ku dhuftay warshadeena. Waxaan goob joog u ahaa kor u kaca 4GL, AOP, Agile, SOA, Web 2.0, AJAX, Blockchain... liisku waa mid aan dhammaad lahayn. Sannad kasta isbeddello cusub ayaa soo baxa. Qaar baa si degdeg ah u libdha, halka qaar kalena ay asal ahaan beddelaan habka loo soo saaro software-ka.

Isbeddel kasta oo cusub wuxuu abuuraa xamaasad guud: dadku ama waxay ku boodaan guddiga, ama waxay arkaan buuqa ay dadka kale keeneen oo ay raacaan dadka. Habkan waxa habeeyey Gartner in wareegga buunbuuninta. Inkasta oo uu muran jiro, wakhtigani waxa uu si qiyaas ah u qeexayaa waxa ku dhaca tignoolajiyada ka hor inta aanay aakhirka faa'iido yeelan.

Laakiin waqti ka waqti hal-abuur cusub ayaa soo muuqda (ama wuxuu leeyahay imaatinka labaad, sida kiiskan) oo uu wado hal-abuur gaar ah oo keliya. Marka laga hadlayo NoSQL, buunbuuninta waxaa si weyn u waday soo bixitaanka iyo kor u kaca saadaasha hawada ee MongoDB. MongoDB ma aysan bilaabin isbeddelkan: dhab ahaantii, shirkadaha waaweyn ee internetka waxay bilaabeen inay dhibaatooyin ka qabtaan xogta tiro badan, taas oo keentay soo noqoshada xog-ururin aan xiriir la lahayn. Dhaqdhaqaaqa guud waxa uu ku bilaabmay mashruucyo ay ka mid yihiin Google's Bigtable iyo Facebook's Cassandra, laakiin waxa ay ahayd MongoDB oo noqotay tan ugu caansan ee la heli karo ee NoSQL hirgelinta kaydka xogta ee inta badan horumariyayaashu ay heli karaan.

Fiiro gaar ah: Waxaa laga yaabaa inaad u maleyso inaan ku wareerayo xogta dukumeentiyada xog uruurinta tiirarka, dukaamada muhiimka ah/qiimaha, ama mid ka mid ah noocyada kale ee badan ee kaydinta xogta ee hoos yimaada qeexida guud ee NoSQL. Adiguna waad saxan tahay. Laakiin wakhtigaas fowdo ayaa dhalatay. Qof kastaa wuxuu ku mashquulsan yahay NoSQL, waxay noqotay qof kasta gabi ahaanba lagama maarmaanka ah, inkastoo qaar badan aysan arkin kala duwanaanshaha tignoolajiyada kala duwan. Qaar badan, MongoDB waxay u noqotay la mid ah NoSQL

Oo horumariyayaashu waxay ku soo boodeen. Fikradda kaydka xogta aan qorshaysnayn ee sixirka cabbiraysa si loo xalliyo dhibaato kasta waxay ahayd mid soo jiidasho leh. Qiyaastii 2014, waxay u muuqatay in meel kasta oo sanad ka hor la isticmaalo xog-ururin la xidhiidha sida MySQL, Postgres ama SQL Server ay bilaabeen inay geeyaan xogta MongoDB. Marka la waydiiyo sababta, waxaad jawaab ka heli kartaa banal "tani waa miisaanka shabakada" si aad u fekerto "xogtaydu aad bay u habaysan tahay waxayna si fiican ugu habboon tahay kaydka iyada oo aan lahayn schema."

Waxaa muhiim ah in la xasuusto in MongoDB, iyo dukumeentiga xogta guud ahaan, ay ku xalliyaan tiro dhibaatooyin ah xog-ururin dhaqameed:

  • Nidaam adagXogta la xidhiidha, haddii aad si firfircooni leh u soo saartay xog, waxa lagugu qasbay in aad abuurto farabadan xogta "kala duwan" ee random, ku dhex daadiso xogta, ama aad isticmaasho habayn EAVDhammaan waxaas oo dhami waxay leeyihiin cillado waaweyn.
  • Isku-buufinta adag: Haddii ay jirto xog aad u badan oo aan ku habboonayn hal server, MongoDB waxay bixisay habab si ay ugu oggolaato inay ku miisaamaan mashiinno badan.
  • Wax ka beddelka wareegga isku dhafan: tahriib maya! Xogta la xidhiidha, beddelidda qaab-dhismeedka kaydka xogta waxay noqon kartaa dhibaato aad u weyn (gaar ahaan marka ay jiraan xog badan). MongoDB waxay awooday inay si weyn u fududayso hawsha. Waxayna ka dhigtay mid aad u fudud in aad dib u cusbooneysiin karto wareegga markaad tagto oo aad si degdeg ah u socoto.
  • Waxqabadka duubistaWaxqabadka MongoDB wuxuu ahaa mid wanaagsan, gaar ahaan marka si habboon loo habeeyey. Xitaa qaabeynta ka baxsan sanduuqa MongoDB, oo inta badan lagu dhaleeceeyay, ayaa muujisay tiro waxqabad oo cajiib ah.

Dhammaan khataraha adiga ayay kugu saaran yihiin

Faa'iidooyinka suurtagalka ah ee MongoDB waxay ahaayeen kuwo aad u weyn, gaar ahaan noocyada dhibaatooyinka qaarkood. Haddii aad akhrido liiska sare adiga oo aan fahmin macnaha guud iyo khibrad la'aan, waxaa laga yaabaa inaad hesho aragti ah in MongoDB runtii yahay DBMS kacaan. Dhibka jira waxa uu ahaa in faa’iidooyinka aan kor ku soo xusnay ay la yimaadeen dhowr tilmaamood oo qaarkood hoos ku qoran yihiin.

Si aad cadaalad u noqoto, ma jiro qof jooga 10gen/MongoDB Inc. ma odhan doono waxa soo socda run maaha, kuwani waa tanaasul.

  • Wax kala iibsiga lumayMacaamilku waa astaan ​​udub dhexaad u ah xog ururin badan oo xidhiidh ah (ma aha dhamaantood, laakiin badi). Macnaheedu waa in aad samayn karto hawlo kala duwan si atomi ahaan ah oo aad hubiso in xogtu ay joogto tahay. Dabcan, iyada oo la adeegsanayo xogta NoSQL, wax kala beddelashadu waxay ku jiri kartaa hal dukumeenti, ama waxaad isticmaali kartaa ballanqaadyo laba waji ah si aad u hesho semantics macaamil ganacsi. Laakin waa in aad fulisaa hawshan laftaadu...taasoo noqon karta hawl adag oo waqti badan qaadanaysa. Badana ma ogaan kartid inay dhibaato jirto ilaa aad aragto xogta ku jirta kaydka xogta oo ku dhamaanaysa dawlado aan sax ahayn sababtoo ah atomity-ga hawlgallada lama damaanad qaadi karo. Fiiro gaar ah: Dad badan ayaa ii sheegay in MongoDB 4.0 ay soo bandhigtay wax kala iibsiga sannadkii hore, laakiin leh xaddidaadyo. Ka-qaadista maqaalku waa sidii hore: qiimee sida wanaagsan ee tignoolajiyadu u buuxiso baahiyahaaga.
  • Luminta daacadnimada xiriirka (furayaasha shisheeye): Haddii xogtaadu leedahay cilaaqaad, markaa waa inaad ku dabaqdaa codsiga. Lahaanshaha xog ururin ixtiraamaya cilaaqaadkan waxay kaa qaadi doontaa shaqo badan oo codsiga ah iyo sidaas darteed barnaamijyadaada.
  • La'aanta awoodda lagu dabaqo qaab-dhismeedka xogta: Qorshayaasha adag waxay mararka qaarkood noqon karaan dhibaato weyn, laakiin sidoo kale waa farsamo awood leh oo habaynta xogta wanaagsan haddii si caqli leh loo isticmaalo. Dukumeentiga xogta sida MongoDB waxay bixiyaan dabacsanaan schema ah oo cajiib ah, laakiin dabacsanaantani waxay meesha ka saaraysaa mas'uuliyadda nadiifinta xogta. Haddii aadan daryeelin iyaga, waxaad ku dhamaan doontaa inaad ku qorto kood badan codsigaaga si aad u xisaabiso xogta aan lagu kaydin foomka aad filayso. Sida aan inta badan ku niraahno shirkaddayada Dufan fudud... arjiga ayaa mar uun dib loo qori doonaa, laakiin xogtu weligeed way noolaan doontaa. Fiiro gaar ah: MongoDB waxay taageertaa hubinta schema: waa faa'iido leh, laakiin ma bixiso dammaanad la mid ah tan ku jirta xogta xogta. Ugu horrayn, ku-darka ama beddelka jeegga schema ma saamaynayso xogta jirta ee ururinta. Adiga ayay kugu xiran tahay inaad hubiso inaad cusboonaysiiso xogta si waafaqsan qorshaha cusub. Go'aanso naftaada inay tani ku filan tahay baahiyahaaga iyo in kale.
  • Luqadda weydiinta hooyo / lumin nidaamka deegaanka aaladda: imaatinka SQL waxa uu ahaa kacdoon dhab ah oo wax iska bedelay ma jiro ilaa hadda. Waa luqad si cajiib ah u xoog badan, laakiin sidoo kale aad u adag. Baahida loo qabo in lagu dhiso xog-waraysi luqad cusub oo ka kooban jajab JSON ayaa loo arkaa tallaabo weyn oo dib u dhac ah oo ay sameeyeen dadka khibradda u leh la shaqaynta SQL. Waxaa jira qalab guud oo caalami ah oo la falgala xogta SQL, laga bilaabo IDE-yada ilaa agabka warbixinta. U guurista keydka xogta ee aan taageerin SQL waxay la macno tahay inaadan isticmaali karin inta badan qalabkan ama waa inaad u turjunto xogta SQL si aad u isticmaasho, taasoo noqon karta mid aad uga adag inta aad moodayso.

Horumariyayaal badan oo u jeestay MongoDB runtii ma fahmin ganacsiga-offs-ka, oo inta badan waxay u quus gooyeen madaxdii hore si ay ugu rakibaan kaydkooda xogta aasaasiga ah. Tan ka dib inta badan aad bay u adkeyd in la soo noqdo.

Maxaa si ka duwan loo samayn karay?

Qof kastaa ma boodin madax oo hoos ma dhicin. Laakiin mashruucyo badan ayaa MongoDB ku rakibay meelo aysan ku habboonayn - waana inay la noolaadaan sannado badan oo soo socda. Haddii hay'adahani ay wakhti ku qaadan lahaayeen oo ay si habaysan uga fikiri lahaayeen doorashooyinkooda tignoolajiyada, qaar badan ayaa samayn lahaa doorashooyin kala duwan.

Sidee loo doortaa farsamada saxda ah? Waxaa jiray isku dayo dhowr ah oo lagu abuurayay qaab habaysan oo loogu talagalay qiimaynta tignoolajiyada, sida "Qaabka lagu soo bandhigo tignoolajiyada ururada software" ΠΈ "Qaabka lagu qiimeeyo tignoolajiyada software-ka", laakiin waxay iila muuqataa in tani ay tahay kakanaanta aan loo baahnayn.

Farsamooyin badan ayaa si caqli-gal ah loo qiimeyn karaa iyadoo la weeydiiyo laba su'aalood oo aasaasi ah. Dhibaatadu waxay tahay in la helo dad si xilkasnimo leh uga jawaaba, oo wakhti ku bixiya sidii ay jawaabaha u heli lahaayeen oo aan eex lahayn.

Haddii aadan la kulmin wax dhibaato ah, uma baahnid qalab cusub. Dhibic

Su'aasha 1: Waa maxay dhibaatooyinka aan isku dayayo inaan xalliyo?

Haddii aadan la kulmin wax dhibaato ah, uma baahnid qalab cusub. Dhibic Looma baahna in xal la raadiyo ka dibna la hindiso dhibaato. Ilaa aad la kulanto dhibaato ay tignoolajiyada cusubi xalliso si ka wanaagsan tignoolajiyadaada jirta mooyaane, halkan wax lagaga hadlo ma jiraan. Haddii aad ka fekereyso isticmaalka tignoolajiyadan sababtoo ah waxaad aragtay dad kale oo isticmaalaya, ka fikir dhibaatooyinka ay la kulmaan oo weydii haddii aad qabto dhibaatooyinkaas. Way fududahay inaad aqbasho tignoolajiyada sababtoo ah kuwa kale ayaa isticmaalaya, caqabadu waa fahamka inaad la kulanto dhibaatooyin isku mid ah.

Su'aasha 2: Maxaa iga maqan?

Tani dhab ahaantii waa su'aal aad u adag sababtoo ah waa inaad qoddo oo aad si fiican u fahamtaa tignoolajiyada hore iyo tan cusub labadaba. Mararka qaarkood ma fahmi kartid mid cusub ilaa aad wax ku dhisto ama aad yeelato qof khibradaas leh.

Haddii aadan midna haysan, markaa waa macno inaad ka fikirto maalgashiga ugu yar ee suurtogalka ah si loo go'aamiyo qiimaha qalabkan. Oo mar alla markaad maal gashid, intee ayay kugu adkaan doontaa inaad ka noqoto go'aanka?

Dadku mar walba wax walba way burburiyaan

Markaad isku daydo inaad uga jawaabto su'aalahan sida dhexdhexaadnimada ah ee suurtogalka ah, xasuusnoow hal shay: waa inaad la dagaallantaa dabeecadda aadanaha. Waxaa jira dhowr eexasho garasho oo ay tahay in laga gudbo si wax ku ool ah loo qiimeeyo tignoolajiyada. Waa kuwan dhowr:

  • Saamaynta ku biirista aqlabiyada - Qof kastaa wuu ogyahay isaga, laakiin weli way adag tahay in lala dagaallamo. Kaliya iska hubi in tignoolajiyada ay dhab ahaantii ku habboon tahay baahiyahaaga dhabta ah.
  • Saamaynta cusub - Qaar badan oo horumariyayaal ah ayaa u janjeera inay dhayalsadaan tignoolajiyada ay muddada dheer ku soo shaqaynayeen waxayna aad u qiimeeyaan faa'iidooyinka tignoolajiyada cusub. Kaliya maaha barnaamij-sameeyayaal, qof kastaa wuu u nugul yahay eexdan garashada.
  • Saamaynta sifooyinka wanaagsan - Waxaynu u janjeernaa inaan aragno waxa jira oo aan aragno waxa maqan. Tani waxay u horseedi kartaa fowdo marka lagu daro saameynta cusub, maadaama aadan kaliya si dabiici ah u qiimeyn tignoolajiyada cusub, laakiin sidoo kale iska indhatirto cilladaheeda..

Qiimaynta ujeedadu maaha mid sahlan, laakiin fahamka eexda garashada ee hoose waxay kaa caawin doontaa inaad samayso go'aamo macquul ah.

Soo koobid

Mar kasta oo hal-abuur cusubi soo baxo, laba su'aalood waa in si taxadar leh looga jawaabaa:

  • Qalabkani ma xalliyaa dhibaato dhab ah?
  • Miyaynu si fiican u fahansanahay is-dhaafsiga?

Haddii aadan si kalsooni leh uga jawaabi karin labadan su'aalood, dib u qaad dhowr tillaabo oo ka fakar.

Marka MongoDB xitaa ma ahaa doorashada saxda ah? Dabcan haa; Sida tignoolajiyada injineernimada badankood, tani waxay kuxirantahay arrimo badan. Kuwa ka jawaabay labadan su'aalood, qaar badan ayaa ka faa'iideystey MongoDB oo ay sii wadaan inay sidaas sameeyaan. Kuwa aan samayn, waxaan rajeynayaa inaad baratay cashar qiimo leh oo aan aad u xanuun lahayn oo ku saabsan socodka wareegga buunbuuninta.

Afeef

Waxaan rabaa inaan caddeeyo inaanan jacayl iyo nacayb midna la lahayn MongoDB. Kaliya ma aanaan helin nooca mashaakilaadka uu MongoDB ku habboon xallinta. Waan ogahay in 10gen/MongoDB Inc. wuxuu ahaa mid aad u dhiirran markii hore, dejinta khaladaad aan sugnayn oo kor u qaadaya MongoDB meel kasta (gaar ahaan hackathons) sida xal caalami ah oo lagula shaqeynayo xog kasta. Waxay u badan tahay inuu ahaa go'aan xun. Laakiin waxay xaqiijinaysaa habka halkan lagu sharraxay: dhibaatooyinkan si degdeg ah ayaa loo ogaan karaa xitaa iyada oo la qiimeynayo tignoolajiyada sare.

Source: www.habr.com

Add a comment