Ingabe i-MongoDB ngokuvamile yayiyisinqumo esifanele?

Ngisanda kuthola lokho I-Red Hat isusa ukwesekwa kwe-MongoDB ku-Satellite (isho, ngenxa yezinguquko zelayisensi). Kungenze ngacabanga ukuthi eminyakeni embalwa edlule ngibone inqwaba yezindatshana mayelana nokuthi i-MongoDB yimbi kangakanani nokuthi akekho umuntu okufanele ayisebenzise. Kepha ngalesi sikhathi, i-MongoDB isiwumkhiqizo ovuthiwe kakhulu. Kwenzenjani? Ingabe yonke inzondo ngempela ngenxa yamaphutha ekuqaleni kokumaketha kwe-DBMS entsha? Noma ingabe abantu basebenzisa i-MongoDB endaweni engafanele?

Uma ngokungazelelwe uzwa sengathi ngivikela i-MongoDB, sicela ufunde ukuzihlangula ekupheleni kwesihloko.

Umkhuba omusha

Sengibe ngisembonini yesoftware iminyaka eminingi kunokuba kufanele ukukusho, kodwa noma kunjalo ngibe yingxenye yezitayela ezithinta imboni yethu. Ngikubonile ukukhuphuka kwe-4GL, AOP, Agile, SOA, Web 2.0, AJAX, blockchain… uhlu alupheli. Njalo ngonyaka kuba nezitayela ezintsha. Ezinye ziphela ngokushesha, kanti ezinye zishintsha ngokuyisisekelo indlela isoftware ethuthukiswa ngayo.

Ngaphakathi kwethrendi ngayinye entsha, kuyadalwa injabulo ethile evamile: abantu bagxumela esikebheni ngokwabo, noma babone umsindo okhiqizwa abanye - futhi balandele isixuku. Le nqubo ihlanganiswe nguGartner in Umjikelezo we-Hype. Nakuba kungaphikiswana ngakho, le grafu cishe ichaza okwenzekayo kubuchwepheshe ngaphambi kokuthi bugcine busebenziseka kalula.

Kodwa ngezikhathi ezithile kuba khona (noma kukhona ukubuya kwesibili, njengalokhu) into entsha emisha, eqhutshwa ukuqaliswa okukodwa kuphela kwayo. Endabeni ye-NoSQL, i-hype yayiqhutshwa kakhulu ukuvela nokukhuphuka kwe-meteoric kwe-MongoDB. I-MongoDB ayizange iqale lo mkhuba: empeleni, izinkampani ezinkulu ze-Inthanethi zaqala ukuba nezinkinga ngokucubungula inani elikhulu ledatha, okuholele ekubuyiselweni kolwazi olungahlobene. Ukunyakaza okujwayelekile kwaqala ngamaphrojekthi afana ne-Google's Bigtable kanye ne-Facebook's Cassandra, kodwa kwaba i-MongoDB eyaba ukuqaliswa okudume kakhulu nokufinyeleleka kwesizindalwazi se-NoSQL iningi lonjiniyela elikwazi ukufinyelela kulo.

Qaphela: Ungase ucabange ukuthi ngidida imininingo egciniwe yamadokhumenti enemininingwane yolwazi lwamakholomu, izitolo zokhiye/inani, noma ezinye izinhlobo eziningi zezitolo zedatha eziwela ngaphansi kwencazelo evamile ye-NoSQL. Futhi uqinisile. Kodwa ngaleso sikhathi, kwakunesiphithiphithi. Wonke umuntu uyazifela ngeNoSQL, isiphenduke yonke into impela kudingekile, nakuba abaningi bengazange babone umehluko kubuchwepheshe obuhlukahlukene. Kwabaningi, i-MongoDB isibe ngokufana ne- NoSQL.

Futhi abathuthukisi bagxumela kukho. Umqondo wesizindalwazi esingena-schemaless esikala ngomlingo ukuze sixazulule noma iyiphi inkinga wawuheha kakhulu. Cishe ngo-2014, kwakubonakala sengathi yonke indawo isizindalwazi esihlobene esifana ne-MySQL, Postgres noma i-SQL Server yasetshenziswa ngonyaka odlule, imininingwane yolwazi ye-MongoDB yayisetshenziswa. Uma ubuzwa ukuthi kungani, ungathola izimpendulo ku-banal "lesi isikali sewebhu" kuya kokuthi "idatha yami yakheke ngendlela exekethile futhi ingena kahle kusizindalwazi ngaphandle kwe-schema."

Kubalulekile ukukhumbula ukuthi i-MongoDB, kanye nezingosi zolwazi zamadokhumenti ngokuvamile, zixazulula inani lezinkinga ngesizindalwazi esivamile sobudlelwano:

  • Isikimu esiqinile: ngesizindalwazi esihlobene, uma ukhiqize idatha eguquguqukayo, uphoqeleka ukuthi udale inqwaba yamakholomu edatha "ahlukile" angahleliwe, uphushe amabhulogi edatha lapho, noma usebenzise ukumisa I-EAV... konke lokhu kunezihibe ezibalulekile.
  • Ubunzima bokukala: Uma kunedatha eningi kangangokuthi ayilingani kuseva eyodwa, i-MongoDB inikeze izindlela zokuyivumela ukuthi ifinyelele kumishini eminingi.
  • Ukulungiswa kwesekethe eyinkimbinkimbi: akukho ukufuduka! Ku-database ehlobene, ukushintsha ukwakheka kwesizindalwazi kungaba yinkinga enkulu (ikakhulukazi uma kunedatha eningi). I-MongoDB ikwazile ukwenza lula inqubo. Futhi ikwenze kwaba lula kangangokuthi ungavele ubuyekeze i-schema usohambeni futhi uqhubekele phambili ngokushesha okukhulu.
  • Bhala ukusebenza: Ukusebenza kwe-MongoDB bekukuhle, ikakhulukazi uma kushunwe kahle. Ngisho nokucushwa kwangaphandle kwebhokisi kwe-MongoDB, ebivame ukugxekwa ngakho, kubonise izibalo zokusebenza ezihlaba umxhwele.

Zonke izingozi zikuwe

Izinzuzo ezingaba khona ze-MongoDB bezizinkulu, ikakhulukazi ezigabeni ezithile zezinkinga. Uma ufunda uhlu olungenhla ngaphandle kokuqonda umongo futhi ungenalo ulwazi, khona-ke ungathola umbono wokuthi i-MongoDB iyi-DBMS eguquguqukayo ngempela. Inkinga nje kwaba ukuthi izinzuzo ezibalwe ngenhla zafika nezixwayiso eziningi, ezinye zazo ezibalwe ngezansi.

Ukwenza kahle, akekho kwa-10gen/MongoDB Inc. ngeke ithi lokhu okulandelayo akulona iqiniso, lokhu kuwukuvumelana nje.

  • Ukulahlekelwa kokuthengiselanaIMP: Ukuthengiselana kuyisici esiyinhloko sesizindalwazi esiningi sobudlelwano (hhayi zonke, kodwa eziningi). Okwenziwayo kusho ukuthi ungenza imisebenzi eminingi nge-athomu futhi ungaqinisekisa ukuthi idatha ihlala ifana. Kunjalo, nge-database ye-NoSQL, ukuthengiselana kungaba ngaphakathi kwedokhumenti eyodwa, noma ungasebenzisa ukuzibophezela kwezigaba ezimbili ukuze uthole i-semantics yokuhweba. Kodwa kuzodingeka wenze lokhu kusebenza ngokwakho ... okungaba umsebenzi onzima futhi odla isikhathi. Ngokuvamile awuyiboni inkinga uze ubone idatha kusizindalwazi ingena ezifundeni ezingavumelekile ngoba akunakwenzeka ukuqinisekisa i-athomu yokusebenza. Qaphela: Ngitshelwe abaningi ukuthi ukuthengiselana kwethulwe ku-MongoDB 4.0 ngonyaka odlule, kodwa ngemikhawulo ethile. Isiphetho esivela ku-athikili sihlala sifana: hlola ukuthi ubuchwepheshe buzifanela kanjani izidingo zakho.
  • Ukulahlekelwa ubuqotho bobudlelwano (okhiye bangaphandle): uma idatha yakho inobudlelwano, kuzomele ukusebenzise kuhlelo lokusebenza. Ukuba nesizindalwazi esihlonipha lobu budlelwano kuzothatha umsebenzi omningi kuhlelo lokusebenza kanjalo nakubahleli bakho.
  • Ukungakwazi ukusebenzisa ukwakheka kwedatha: Izikimu eziqinile kwesinye isikhathi zingaba inkinga enkulu, kodwa futhi ziyindlela enamandla yokuhlela kahle idatha uma isetshenziswa ngobuhlakani. Imininingo egciniwe yamadokhumenti efana ne-MongoDB ihlinzeka ngokuguquguquka kwe-schema okumangalisayo, kodwa lokho kuvumelana nezimo kuthatha isibopho sokugcina idatha ihlanzekile. Uma ungazinakekeli, uzogcina ubhale ikhodi eningi kuhlelo lwakho lokusebenza ukuze uphendule ngedatha engagcinwanga ngendlela oyilindele. Njengoba bevame ukusho enkampanini yethu I-Simple Thread… uhlelo lokusebenza luzobhalwa kabusha ngolunye usuku, kodwa idatha izophila phakade. Qaphela: I-MongoDB isekela ukuqinisekiswa kwe-schema, okuwusizo kodwa okunganikezi iziqinisekiso ezifanayo njengesizindalwazi esihlobene. Okokuqala nje, ukwengeza noma ukushintsha ukuqinisekiswa kwe-schema akuthinti idatha ekhona eqoqweni. Kufanele uqiniseke ukuthi ubuyekeza idatha ngokuya nge-schema esisha. Zinqumele ukuthi lokhu kwanele yini izidingo zakho.
  • Ulimi lombuzo siqu / ukulahlekelwa kwe-ecosystem yamathuluzi: Ukufika kwe-SQL kwaba uguquko oluphelele, futhi akukho okushintshile kusukela lapho. Ulimi olunamandla ngendlela emangalisayo, kodwa futhi luyinkimbinkimbi. Isidingo sokwakha imibuzo yesizindalwazi ngolimi olusha, oluhlanganisa izingcezwana ze-JSON, sithathwa njengesinyathelo esikhulu sabantu abanolwazi nge-SQL. Kukhona yonke indawo yamathuluzi asebenzisana nezizindalwazi ze-SQL, kusukela kuma-IDE kuya kumathuluzi wokubika. Ukuthuthela kusizindalwazi esingasekeli i-SQL kusho ukuthi awukwazi ukusebenzisa iningi lala mathuluzi, noma udinga ukuguqula idatha ku-SQL ukuze uyisebenzise, ​​okungaba nzima kakhulu kunalokho ocabanga ngakho.

Onjiniyela abaningi abaphendukele ku-MongoDB abazange bakuqonde ngempela ukuhwebelana, futhi bavame ukugxila ekuyimiseni njengesitolo sabo sedatha esiyinhloko. Ngemva kwalokho, ngokuvamile kwakunzima ngendlela emangalisayo ukubuyela emuva.

Yini eyayingenziwa ngokuhlukile?

Akubona bonke abagxume ikhanda kuqala baphahlazeka ngezansi. Kodwa amaphrojekthi amaningi afake isisekelo se-MongoDB lapho ivele ingangeni khona - futhi kuzodingeka bahlale nayo iminyaka eminingi. Ukube lezi zinhlangano bezithathe isikhathi ukuthi zicabangele ukukhetha kwazo kwezobuchwepheshe, eziningi ngabe zenze ukukhetha okuhlukile.

Ungakhetha kanjani ubuchwepheshe obufanele? Kube nemizamo eminingana yokwakha uhlaka oluhlelekile lokuhlola ubuchwepheshe, njenge "Uhlaka lokusetshenziswa kobuchwepheshe ezinhlanganweni zesoftware" ΠΈ "I-Framefork yokuhlola ubuchwepheshe besoftware", kodwa kimi kubonakala sengathi lokhu kuyinkimbinkimbi engadingekile.

Ubuchwepheshe obuningi bungaziswa ngobuhlakani ngokubuza imibuzo emibili nje eyisisekelo. Inkinga isekutholeni abantu abangabaphendula ngendlela efanele, bazinike isikhathi sokuthola izimpendulo ngaphandle kokuchema.

Uma ungabhekani nenkinga ethile, awudingi ithuluzi elisha. Ichashazi.

Umbuzo 1: Yiziphi izinkinga engizama ukuzixazulula?

Uma ungabhekani nenkinga ethile, awudingi ithuluzi elisha. Ichashazi. Asikho isidingo sokubheka isixazululo bese uqhamuka nenkinga. Ngaphandle kwalapho ubhekene nenkinga ubuchwepheshe obusha obungayixazululi kangcono kunobuchwepheshe bakho obukhona, lapho-ke akukho okungaxoxwa ngakho lapha. Uma ucabanga ukusebenzisa lobu buchwepheshe ngoba ubonile abanye bebusebenzisa, cabanga ngezinkinga abanazo bese ubuza ukuthi unazo yini lezo zinkinga. Kulula ukwamukela ubuchwepheshe ngoba abanye bayabusebenzisa, ubunzima wukwazi ukuthi ubhekene nezinkinga ezifanayo yini.

Umbuzo 2: Ngishoda ngani?

Lona ngokuqinisekile umbuzo onzima kakhulu, ngoba kufanele umbe futhi uqonde kokubili ubuchwepheshe obudala nobusha kahle. Kwesinye isikhathi awukwazi ngempela ukuqonda okusha kuze kube yilapho wakha okuthile ngakho noma ube nozakwenu onaleso sipiliyoni.

Uma ungenakho kokubili, kunengqondo ukucabanga ngobuncane botshalomali obungenzeka ukuze unqume inani laleli thuluzi. Futhi uma utshala imali, kuzoba nzima kangakanani ukuhlehlisa isinqumo?

Abantu bahlale bemosha yonke into

Lapho uzama ukuphendula le mibuzo ngokungakhethi ngangokunokwenzeka, khumbula into eyodwa: kufanele ulwe nemvelo yomuntu. Kunobandlululo oluningi okufanele lunqotshwe ukuze kuhlolwe kahle ubuchwepheshe. Nazi ezimbalwa nje:

  • Umphumela wokujoyina iningi Wonke umuntu uyazi ngaye, kodwa kusenzima ukulwa naye. Vele uqiniseke ukuthi ubuchwepheshe buzifanela ngempela izidingo zakho zangempela.
  • umthelela omusha Onjiniyela abaningi bathambekele ekububukeni phansi ubuchwepheshe asebesebenze nabo isikhathi eside futhi balinganisela kakhulu izinzuzo zobuchwepheshe obusha. Akubona abahleli bezinhlelo kuphela, wonke umuntu ungaphansi kwalokhu kuchema kokuqonda.
  • I-Positive Attribute Effect Sivame ukubona ukuthi yini futhi silahlekelwe umbono walokho okungekho. Lokhu kungaholela esiphithiphithini, kuhlanganiswe nomphumela omusha, njengoba ungagcini nje ngokudlula ngokweqile ubuchwepheshe obusha, kodwa futhi ungazinaki ukushiyeka kwabo..

Ukuhlola inhloso akulula, kodwa ukuqonda ukuchema okucashile okucatshangelwayo kuzokusiza wenze izinqumo eziphusile.

Isifingqo

Lapho kuvela into emisha, imibuzo emibili idinga ukuphendulwa ngokucophelela okukhulu:

  • Ingabe leli thuluzi liyixazulula inkinga yangempela?
  • Ingabe sinekhono ekuqondeni ukuhwebelana?

Uma ungakwazi ukuphendula le mibuzo emibili ngokuzethemba, thatha izinyathelo ezimbalwa ubuye ucabange.

Ngakho ingabe i-la MongoDB ngokuvamile yayiyisinqumo esifanele? Yebo yebo; njengobuningi bobuchwepheshe bonjiniyela, kuncike ezintweni eziningi. Phakathi kwalabo abaphendule le mibuzo emibili, abaningi baye bazuza ku-MongoDB futhi bayaqhubeka nokwenza kanjalo. Kulabo kini abangakakwenzi, ngithemba ukuthi nifunde isifundo esibalulekile nesingesibuhlungu kakhulu mayelana nokuhamba emjikelezweni we-hype.

Umusho wokuzihlangula

Ngifuna ukucacisa ukuthi angiyithandi futhi angiyizondi i-MongoDB. Asizange sibe nalo uhlobo lwezinkinga i-MongoDB efaneleka kakhulu ukuzixazulula. Ngiyazi i-10gen/MongoDB Inc. isebenze ngesibindi ekuqaleni, ibeka okuzenzakalelayo okungavikelekile futhi iphromotha i-MongoDB yonke indawo (ikakhulukazi kuma-hackathons) njengesixazululo sokumisa okukodwa sokusebenza nanoma iyiphi idatha. Cishe kwakuyisinqumo esibi. Kodwa iqinisekisa indlela echazwe lapha: lezi zinkinga zingatholwa ngokushesha okukhulu ngisho nokuhlola okukha phezulu kobuchwepheshe.

Source: www.habr.com

Engeza amazwana