Ngaba iMongoDB yayilukhetho olulungileyo ngokubanzi?

Kutshanje ndifumanise ukuba I-Red Hat isusa inkxaso ye-MongoDB kwiSatellite (batsho ngenxa yotshintsho lwelayisensi). Oku kundenze ndacinga kuba kule minyaka imbalwa idlulileyo ndibone itoni yamanqaku malunga nendlela embi ngayo iMongoDB kwaye akukho mntu unokuze ayisebenzise. Kodwa ngeli xesha, iMongoDB iye yaba yimveliso eqolileyo ngakumbi. Kweneke ntoni? Ngaba yonke inzondo ngokwenene ngenxa yeempazamo kwintengiso yokuqala ye-DBMS entsha? Okanye ngaba abantu basebenzisa iMongoDB kwiindawo ezingalunganga?

Ukuba uziva ngathi ndikhusela iMongoDB, nceda ufunde i-disclaimer ekupheleni kwenqaku.

Umkhwa omtsha

Ndisebenze kushishino lwesoftware iminyaka engaphezulu kunokuba ndingatsho, kodwa ndisavezwe kuphela kwinxalenye encinci yeendlela eziye zabetha ishishini lethu. Ndiyibonile ukunyuka kwe-4GL, i-AOP, i-Agile, i-SOA, i-Web 2.0, i-AJAX, i-Blockchain ... uluhlu alupheli. Rhoqo ngonyaka kuvela iindlela ezintsha. Ezinye ziphela ngokukhawuleza, ngelixa ezinye zitshintsha ngokusisiseko indlela ephuhliswa ngayo isoftware.

Wonke umkhwa omtsha udala uchulumanco ngokubanzi: abantu banokutsiba ebhodini, okanye babone ingxolo eyenziwe ngabanye kwaye balandele isihlwele. Le nkqubo ibhalwe nguGartner kwi umjikelo we-hype. Nangona kukho impikiswano, lo mgca wexesha uchaza okwenzekayo kwiiteknoloji ngaphambi kokuba zibe luncedo.

Kodwa amaxesha ngamaxesha kuvela into entsha (okanye inokubuya okwesibini, njengale meko) iqhutywa kukuphunyezwa okukodwa kuphela. Kwimeko ye-NoSQL, i-hype yayiqhutywa kakhulu ngokuvela kunye nokunyuka kwe-meteoric ye-MongoDB. I-MongoDB ayizange iqale lo mkhwa: enyanisweni, iinkampani ezinkulu ze-Intanethi zaqala ukuba neengxaki zokucubungula inani elikhulu ledatha, eyakhokelela ekubuyiselweni kwedatha engekhoyo. Intshukumo iyonke iqale ngeeprojekthi ezifana neBigtable kaGoogle kunye neCassandra kaFacebook, kodwa yaba yiMongoDB eye yaba yeyona nto yaziwa kakhulu kwaye ifikeleleka kwisiseko sedatha yeNoSQL uninzi lwabaphuhlisi abanokufikelela kuyo.

Qaphela: Unokucinga ukuba ndibhidanisa ugcino lweenkcukacha zekholamu, izitshixo/iivenkile zexabiso, okanye naluphi na uhlobo logcino lwedatha oluwela phantsi kwenkcazelo yeNoSQL ngokubanzi. Kwaye unyanisile. Kodwa ngelo xesha kwalawula isiphithiphithi. Wonke umntu uthe phithi ngeNoSQL, ibe ngumntu wonke ngokupheleleyo kuyimfuneko, nangona abaninzi abazange bawubone umahluko kwiiteknoloji ezahlukeneyo. Kwabaninzi, i-MongoDB iye yaba isithethantonye NoSQL.

Kwaye abaphuhlisi bagxumela kuyo. Umbono wesiseko sedatha esingenamakhwiniba esilinganisa ngomlingo ukusombulula nayiphi na ingxaki wawuhenda kakhulu. Malunga ne-2014, kwakubonakala ngathi kuyo yonke indawo ukuba unyaka odlulileyo wasebenzisa isiseko sedatha esinxulumene ne-MySQL, i-Postgres okanye i-SQL Server yaqala ukuhambisa i-database ye-MongoDB. Xa ubuzwa ukuba kutheni, unokufumana impendulo kwi-banal "esi sisikali sewebhu" ukuya kokucinga ngakumbi "idatha yam yakhiwe ngokukhululekileyo kwaye ingena kakuhle kwisiseko sedatha ngaphandle kweschema."

Kubalulekile ukukhumbula ukuba iMongoDB, kunye nogcino lweenkcukacha ngokubanzi, lusombulula inani leengxaki ngoovimba beenkcukacha bobudlelwane bemveli:

  • Iskimu esingqongqo: Ngesiseko sedatha esinxulumeneyo, ukuba uvelise idatha eguqukayo, uyanyanzeliswa ukuba wenze iqela leekholamu zedatha "eziingxubevange", ukutyhala iiblobhu zedatha apho, okanye usebenzise uqwalaselo. EAV...konke oku kuneziphene ezibalulekileyo.
  • Ubunzima bokulinganisa: Ukuba kukho idatha eninzi kangangokuba ayingeni kumncedisi omnye, i-MongoDB ibonelele ngeendlela zokuyivumela ukuba ilinganise kumatshini amaninzi.
  • Ukuguqulwa kweesekethe eziyinkimbinkimbi: akukho mfuduko! Kwisiseko sedatha esinxulumeneyo, ukutshintsha isiseko sedatha kunokuba yingxaki enkulu (ngokukodwa xa kukho idatha eninzi). I-MongoDB ikwazile ukwenza lula kakhulu inkqubo. Kwaye yenze ukuba kube lula ukuba unokuhlaziya nje isekethe njengoko usiya kwaye uqhubekeka ngokukhawuleza.
  • Ukurekhoda ukusebenza: Ukusebenza kweMongoDB bekukuhle, ngakumbi xa iqwalaselwe kakuhle. Nditsho noqwalaselo lwe-MongoDB olungaphandle kwebhokisi, ebisoloko igxekwa, ibonise amanani okusebenza anomtsalane.

Zonke iingozi ziphezu kwakho

Uncedo olunokubakho lweMongoDB lwalulukhulu, ngakumbi kwiindidi ezithile zeengxaki. Ukuba ufunda olu luhlu lungasentla ngaphandle kokuqonda umxholo kwaye ngaphandle kwamava, unokufumana ingcamango yokuba i-MongoDB ngokwenene yi-DBMS eguquguqukayo. Ingxaki kuphela yayikukuba izibonelelo ezidweliswe ngasentla zeza nenani le-caveats, ezinye zazo zidweliswe ngezantsi.

Ukulunga, akukho mntu kwi-10gen/MongoDB Inc. ayizukutsho ukuba oku kulandelayo akuyonyani, oku kukuvumelana nje.

  • Iintengiselwano ezilahlekileyo: Iintengiselwano luphawu oluphambili lweenkcukacha ezininzi zonxibelelwano (hayi zonke, kodwa uninzi). Utshintshiselwano luthetha ukuba unokwenza imisebenzi emininzi ngeathom kwaye unokuqinisekisa ukuba idatha ihlala ingaguquguquki. Ewe kunjalo, ngesiseko sedatha ye-NoSQL, ukuthengiselana kunokuba kuxwebhu olunye, okanye ungasebenzisa izigaba ezibini zokuzibophelela ukufumana i-semantics yentengiselwano. Kodwa kuya kufuneka uphumeze lo msebenzi ngokwakho ... onokuba ngumsebenzi onzima kunye nexesha. Rhoqo awuqondi ukuba kukho ingxaki de ubone idatha ekwisiseko sedatha iphelela kumazwe angasebenziyo kuba i-atomicity yokusebenza ayinakuqinisekiswa. Qaphela: Abantu abaninzi bandixelele ukuba iMongoDB 4.0 yazisa intengiselwano kunyaka ophelileyo, kodwa ngemida ethile. Inqaku elithathwayo kwinqaku lihlala lifana: vavanya ukuba itekhnoloji ihlangabezana njani neemfuno zakho.
  • Ilahleko yengqibelelo yobudlelwane (izitshixo zangaphandle): Ukuba idatha yakho inobudlelwane, kuya kufuneka uyisebenzise kwisicelo. Ukuba nesiseko sedatha esihlonipha obu budlelwane kuya kuthatha umsebenzi omninzi ngaphandle kwesicelo kwaye ngoko ke abadwelisi bakho.
  • Ukunqongophala kokukwazi ukusebenzisa ubume bedatha: Izikrweqe ezingqongqo ngamanye amaxesha zinokuba yingxaki enkulu, kodwa zikwayindlela enamandla yolwakhiwo lwedatha olulungileyo ukuba lusetyenziswa ngobulumko. Amaxwebhu agciniweyo afana ne-MongoDB abonelela ngokuguquguquka okumangalisayo kwe-schema, kodwa oku kuguquguquka kususa uxanduva lokugcina idatha icocekile. Ukuba awubakhathaleli, uya kugqiba ukubhala ikhowudi eninzi kwisicelo sakho kwi-akhawunti yedatha engagcinwanga kwifom oyilindeleyo. Njengoko sihlala sithetha kwinkampani yethu i-Simple Thread... isicelo siya kubhalwa kwakhona ngenye imini, kodwa idatha iya kuhlala ngonaphakade. Qaphela: I-MongoDB ixhasa uqwalaselo lwe-schema: iluncedo, kodwa ayiboneleli ngeziqinisekiso ezifanayo njengakwisiseko sedatha esizalanayo. Okokuqala, ukongeza okanye ukutshintsha ukukhangela kwe-schema akuchaphazeli idatha ekhoyo kwingqokelela. Kuxhomekeke kuwe ukuba uqinisekise ukuba uyayihlaziya idatha ngokwe-schema entsha. Thatha isigqibo ngokwakho ukuba oku kwanele iimfuno zakho.
  • Ulwimi lombuzo womthonyama / ukulahleka kwesixhobo se-ecosystem: Ukufika kwe-SQL kwaba yinguqu epheleleyo kwaye akukho nto itshintshileyo ukususela ngoko. Lulwimi olunamandla ngendlela emangalisayo, kodwa lukwantsokothile. Isidingo sokwakha imibuzo yedatabase ngolwimi olutsha olubandakanya amaqhekeza e-JSON kuthathwa njengenyathelo elikhulu elibuyela umva ngabantu abanamava okusebenza ngeSQL. Kukho indalo yonke yezixhobo ezisebenzisana ne-SQL yogcino-lwazi, ukusuka kwii-IDE ukuya kwizixhobo zokunika ingxelo. Ukufudukela kwisiseko sedatha esingaxhasi i-SQL kuthetha ukuba awukwazi ukusebenzisa ezininzi zezi zixhobo okanye kufuneka uguqule idatha kwi-SQL ukuze uyisebenzise, ​​​​enokuba nzima kunokuba ucinga.

Uninzi lwabaphuhlisi abaguqukele kwi-MongoDB abaluqondi ncam urhwebo, kwaye bahlala bentywila kuqala ukuze bayifake njengendawo yokugcina idatha esisiseko. Emva koku kwakudla ngokuba nzima ngokumangalisayo ukubuya.

Yintoni eyayinokwenziwa ngokwahlukileyo?

Ayinguye wonke umntu oxhume entloko aze abethe emazantsi. Kodwa iiprojekthi ezininzi zifake iMongoDB kwiindawo apho ingazange ilunge khona - kwaye kuya kufuneka bahlale nayo iminyaka emininzi ezayo. Ukuba le mibutho ibichithe ixesha elithile kwaye icinge ngendlela yokhetho lwayo lwetekhnoloji, uninzi ngebenze ukhetho olwahlukileyo.

Indlela yokukhetha iteknoloji efanelekileyo? Kubekho iinzame ezininzi zokudala isakhelo esicwangcisiweyo sovavanyo lwetekhnoloji, njenge "Isikhokelo sokwazisa itekhnoloji kwimibutho yesoftware" ΠΈ "Isikhokelo sokuvavanya itekhnoloji yesoftware", kodwa kum kubonakala ngathi oku kuntsonkotha ngokungeyomfuneko.

Itekhnoloji ezininzi zinokuvavanywa ngobukrelekrele ngokubuza imibuzo emibini nje esisiseko. Ingxaki kukufumana abantu abanokuthi baphendule ngokuthembekileyo, bethatha ixesha lokufumana iimpendulo ngaphandle kokukhetha.

Ukuba awujongani nayo nayiphi na ingxaki, awudingi sixhobo esitsha. Ichaphaza.

Umbuzo 1: Zeziphi iingxaki endizama ukuzicombulula?

Ukuba awujongani nayo nayiphi na ingxaki, awudingi sixhobo esitsha. Ichaphaza. Akukho mfuneko yokujonga isisombululo uze uyile ingxaki. Ngaphandle kokuba udibene nengxaki yokuba itekhnoloji entsha isombulula ngcono kakhulu kunetekhnoloji yakho ekhoyo, akukho nto inokuxoxa apha. Ukuba ucinga ukusebenzisa obu bugcisa kuba ubabonile abanye bebusebenzisa, cinga ngeengxaki abajamelana nazo uze ubuze ukuba unazo na ezo ngxaki. Kulula ukwamkela iteknoloji kuba abanye bayayisebenzisa, umceli mngeni kukuqonda ukuba ujongene neengxaki ezifanayo.

Umbuzo 2: Ndilahlekelwa yintoni?

Ngokuqinisekileyo lo ngumbuzo onzima ngakumbi kuba kuya kufuneka ugrumbe kwaye ube nokuqonda okuhle kobuchwephesha obudala kunye nobutsha. Ngamanye amaxesha awukwazi ngokwenene ukuqonda entsha de wakha into ngayo okanye ube nomntu onamava.

Ukuba awunayo, ngoko kunengqiqo ukucinga malunga neyona nto incinci yotyalo-mali ukumisela ixabiso lesi sixhobo. Kwaye wakuba wenze utyalo-mali, kuya kuba nzima kangakanani ukuguqula isigqibo?

Abantu basoloko besonakalisa yonke into

Njengoko uzama ukuphendula le mibuzo ngokungenamkhethe kangangoko, khumbula into enye: kuya kufuneka ulwe nendalo yomntu. Kukho inani lokuthambekela kwengqondo ekufuneka koyiswe ukuze kuvavanywe ngempumelelo itekhnoloji. Nazi nje ezimbalwa:

  • Isiphumo sokujoyina uninzi - wonke umntu uyazi ngaye, kodwa kusenzima ukulwa naye. Qiniseka nje ukuba itekhnoloji ihambelana neemfuno zakho zokwenyani.
  • Isiphumo esitsha - Abaphuhlisi abaninzi badla ngokubujongela phantsi itekhnoloji asebenze nabo ixesha elide kwaye baqikelele kakhulu izibonelelo zetekhnoloji entsha. Ayingobadwelisi benkqubo kuphela, wonke umntu unokuchaphazeleka kolu khetho lokuqonda.
  • Isiphumo seempawu ezintle - Sidla ngokubona into ekhoyo kwaye silahlekelwe yinto engekhoyo. Oku kunokukhokelela kwisiphithiphithi xa kudityaniswa nesiphumo sobutsha, njengoko ungagqithisi nje ngokwendalo itekhnoloji entsha, kodwa ungazihoyi iintsilelo zayo..

Uvavanyo lwenjongo alulula, kodwa ukuqonda ucalucalulo lokuqonda kuya kukunceda wenze izigqibo ezinengqiqo.

Isishwankathelo

Nanini na xa kuvela into entsha, imibuzo emibini kufuneka iphendulwe ngononophelo olukhulu:

  • Ngaba esi sixhobo siyayicombulula ingxaki yokwenene?
  • Ngaba siluqonda kakuhle urhwebo?

Ukuba awukwazi ukuphendula le mibuzo mibini ngokuzithemba, thatha amanyathelo ambalwa emva kwaye ucinge.

Ke ngaba iMongoDB yayilukhetho oluchanekileyo? Ewe kunjalo; Njengoninzi lwetekhnoloji yobunjineli, oku kuxhomekeke kwizinto ezininzi. Phakathi kwabo baphendule le mibuzo mibini, abaninzi baye baxhamla kwi-MongoDB kwaye baqhubeka besenza njalo. Kwabo bangazange bafunde, ndiyathemba ukuba ufunde isifundo esibalulekileyo nesingekho buhlungu kakhulu malunga nokuhamba kumjikelo we-hype.

Ukuzihlangula

Ndifuna ukucacisa ukuba andinalo uthando okanye intiyo yobudlelwane neMongoDB. Asikabi nalo uhlobo lweengxaki iMongoDB ifanele ukuzisombulula. Ndiyazi ukuba i-10gen/MongoDB Inc. yayinesibindi kakhulu ekuqaleni, ibeka izinto ezingakhuselekanga kunye nokukhuthaza i-MongoDB kuyo yonke indawo (ingakumbi kwii-hackathons) njengesisombululo sendalo yonke sokusebenza nayo nayiphi na idatha. Mhlawumbi yayisisigqibo esibi. Kodwa iqinisekisa indlela echazwe apha: ezi ngxaki zinokubonwa ngokukhawuleza nangovavanyo oluphezulu lwetekhnoloji.

umthombo: www.habr.com

Yongeza izimvo