MongoDB n'ozuzu ọ bụ nhọrọ ziri ezi?

Achọpụtara m na nso nso a Uhie okpu na-ewepụ nkwado MongoDB na Satellite (sịnụ, n'ihi mgbanwe ikike). O mere ka m chee na n'ime afọ ole na ole gara aga, ahụla m ụyọkọ akụkọ gbasara otú MongoDB si jọgburu onwe ya nakwa na ọ dịghị onye kwesịrị iji ya mee ihe. Mana n'oge a, MongoDB abụrụla ngwaahịa tozuru oke. Kedu ihe mere? Ọ bụ n'ezie ịkpọasị niile n'ihi mmejọ na mmalite nke ahịa nke DBMS ọhụrụ? Ka ndị mmadụ na-eji MongoDB naanị ebe na-ezighi ezi?

Ọ bụrụ na ọ dị gị na mberede ka m na-agbachitere MongoDB, biko gụọ disclaimer na njedebe nke isiokwu.

Omume ohuru

Anọla m na ụlọ ọrụ ngwanrọ ọtụtụ afọ karịa ka ọ dị mma ikwu, mana ka m bụ naanị akụkụ nke usoro na-emetụta ụlọ ọrụ anyị. Ahụrụ m ịrị elu nke 4GL, AOP, Agile, SOA, Web 2.0, AJAX, blockchain… ndepụta ahụ enweghị njedebe. Kwa afọ enwere usoro ọhụrụ. Ụfọdụ na-ada ngwa ngwa, ebe ndị ọzọ na-agbanwe n'ụzọ bụ isi ka e si emepụta ngwanrọ.

Gburugburu omume ọhụrụ ọ bụla, a na-ekepụta obi ụtọ n'ozuzu: ndị mmadụ na-amaba n'ime ụgbọ mmiri n'onwe ha, ma ọ bụ hụ mkpọtụ nke ndị ọzọ na-eme - wee soro igwe mmadụ. Gartner in ahaziela usoro a okirikiri hype. Agbanyeghị na a ga-arụrịta ụka, eserese a na-akọwa nke ọma ihe na-eme teknụzụ tupu ha emechaa baa uru maka ojiji.

Ma site n'oge ruo n'oge e nwere (ma ọ bụ e nwere a nke abụọ na-abịa, dị ka na nke a) ọhụrụ ọhụrụ, chụpụrụ site nanị otu akpan akpan mmejuputa iwu nke ya. N'ihe banyere NoSQL, ọbịbịa na ịrị elu meteoric nke MongoDB kpaliri hype ahụ nke ukwuu. MongoDB amaliteghị omume a: n'ezie, nnukwu ụlọ ọrụ ịntanetị malitere inwe nsogbu na nhazi data buru ibu, nke mere ka nlọghachi nke ọdụ data na-abụghị nke mmekọrịta. Ntugharị izugbe malitere site na oru dị ka Google's Bigtable na Facebook's Cassandra, mana ọ bụ MongoDB bụ nke ghọrọ mmemme kachasị ama na ịnweta nke nchekwa data NoSQL nke ọtụtụ ndị mmepe nwere ike ịnweta.

Mara: Ị nwere ike iche na m na-agbagwoju anya ọdụ data akwụkwọ na ọdụ data kọlụm, ụlọ ahịa isi/ọnụahịa, ma ọ bụ nke ọ bụla n'ime ọtụtụ ụdị ụlọ ahịa data ndị ọzọ dabara n'okpuru nkọwa zuru oke nke NoSQL. I kwukwara eziokwu. Ma n'oge ahụ, ọgba aghara malitere. Onye ọ bụla na-achọsi ike na NoSQL, ọ ghọọla ihe niile kpom kwem dị mkpa, ọ bụ ezie na ọtụtụ ahụghị ọdịiche dị na teknụzụ dị iche iche. Nye ọtụtụ ndị, MongoDB aghọwo oyiri na NoSQL.

Na ndị mmepe wulitere ya. Echiche nke nchekwa data enweghị atụmatụ nke na-emekọ ihe n'ụzọ anwansi iji dozie nsogbu ọ bụla mara mma. N'ihe dị ka afọ 2014, ọ dị ka ebe ọ bụla a na-eji nchekwa data mmekọrịta dị ka MySQL, Postgres ma ọ bụ SQL Server otu afọ gara aga, a na-ebugharị ọdụ data MongoDB. Mgbe a jụrụ gị ihe kpatara ya, ị nwere ike nweta azịza site na banal "nke a bụ ọnụ ọgụgụ nke webụ" gaa na nke ọma "data m na-ahazi nke ọma ma dabara nke ọma na nchekwa data na-enweghị atụmatụ."

Ọ dị mkpa icheta na MongoDB, na akwụkwọ ndekọ data n'ozuzu, dozie ọtụtụ nsogbu na ọdụ data mmekọrịta ọdịnala:

  • Atụmatụ siri ike: na nchekwa data mmekọrịta, ọ bụrụ na ị nwere data emepụtara nke ọma, a na-amanye gị ịmepụta ụyọkọ data "dị iche iche" kọlụm, kwanye blobs data n'ebe ahụ, ma ọ bụ jiri nhazi. EAV… ihe a niile nwere nnukwu ndọghachi azụ.
  • Ihe isi ike nke ịkpụcha ihe: Ọ bụrụ na enwere ọtụtụ data nke na ọ dabara na otu nkesa, MongoDB nyere usoro iji mee ka ọ gbasaa n'ọtụtụ igwe.
  • Mgbanwe sekit mgbagwoju anya: enweghị ọpụpụ! Na nchekwa data mmekọrịta, ịgbanwe nhazi nke nchekwa data nwere ike ịbụ nnukwu nsogbu (karịsịa mgbe enwere ọtụtụ data). MongoDB enweela ike ime ka usoro a dị mfe. Ma mee ka ọ dị mfe na ị nwere ike imelite atụmatụ ahụ na-aga ma na-aga n'ihu ngwa ngwa.
  • Dee arụmọrụ: Ọrụ MongoDB dị mma, ọkachasị mgbe etinyere ya nke ọma. Ọbụna nhazi nke MongoDB, nke a na-akatọkarị ya, gosipụtara ụfọdụ ọnụ ọgụgụ arụmọrụ dị egwu.

Ihe egwu niile dị n'ahụ gị

Uru MongoDB nwere ike ịdị ukwuu, ọkachasị maka ụfọdụ nsogbu. Ọ bụrụ na ị gụọ ndepụta dị n'elu n'aghọtaghị ihe gbara ya gburugburu na enweghị ahụmịhe, mgbe ahụ ị nwere ike nweta echiche na MongoDB bụ DBMS na-agbanwe agbanwe n'ezie. Nanị nsogbu bụ na uru ndị e depụtara n'elu bịara na ọtụtụ caveats, ụfọdụ n'ime ha edepụtara n'okpuru ebe a.

Iji mee nke ọma, ọ nweghị onye nọ na 10gen/MongoDB Inc. agaghị ekwu na ihe ndị a abụghị eziokwu, ndị a bụ naanị nkwekọrịta.

  • Ọnwụ nke azụmahịaA: Azụmahịa bụ akụkụ bụ isi nke ọtụtụ ọdụ data mmekọrịta (ọ bụghị ihe niile, mana ọtụtụ). Azụmahịa pụtara na ị nwere ike ịrụ ọtụtụ ọrụ atọmịka ma nwee ike hụ na data ahụ na-agbanwe agbanwe. N'ezie, site na nchekwa data NoSQL, azụmahịa nwere ike ịdị n'ime otu akwụkwọ, ma ọ bụ ị nwere ike iji ntinye nke abụọ iji nweta semantics azụmahịa. Mana ị ga-arụ ọrụ a n'onwe gị ... nke nwere ike ịbụ ọrụ siri ike ma na-ewe oge. Ọtụtụ mgbe, ị naghị aghọta nsogbu ahụ ruo mgbe ị hụrụ data dị na nchekwa data na-abanye na steeti ndị na-adịghị mma n'ihi na ọ gaghị ekwe omume ikwe nkwa arụrụ arụ ọrụ. Mara: Ọtụtụ ndị agwala m na ewebata azụmahịa na MongoDB 4.0 n'afọ gara aga, mana nwere oke ụfọdụ. Nkwubi okwu sitere na isiokwu ahụ ka dị otu: nyochaa otú nkà na ụzụ si kwekọọ mkpa gị.
  • Ọnwụ nke iguzosi ike n'ezi ihe (igodo mba ọzọ): Ọ bụrụ na data gị nwere mmekọrịta, mgbe ahụ ị ga-etinye ha na ngwa ahụ. Inwe nchekwa data na-akwanyere mmekọrịta ndị a ùgwù ga-ewepụ ọtụtụ ọrụ na ngwa na ya mere na ndị mmemme gị.
  • Enweghị ike itinye usoro data ahụ: Atụmatụ siri ike nwere ike bụrụ nnukwu nsogbu mgbe ụfọdụ, mana ha bụkwa usoro dị ike maka nhazi data dị mma ma ọ bụrụ na ejiri amamihe mee ihe. Ebe nchekwa data dị ka MongoDB na-enye mgbanwe atụmatụ dị egwu, mana mgbanwe ahụ na-ewepụ ọrụ nke idobe data ahụ ọcha. Ọ bụrụ na ilekọtaghị ha, ị ga-emecha dee ọtụtụ koodu na ngwa gị iji nweta akaụntụ maka data na-echekwaghị n'ụdị ị tụrụ anya ya. Dị ka ha na-ekwukarị na ụlọ ọrụ anyị Simple Thread… a ga-edegharị ngwa ahụ otu ụbọchị, mana data ahụ ga-adị ndụ ruo mgbe ebighị ebi. Mara: MongoDB na-akwado nkwado schema, nke bara uru mana ọ naghị enye otu nkwa dị ka nchekwa data mmekọrịta. Nke mbụ, ịgbakwụnye ma ọ bụ ịgbanwe nkwado schema anaghị emetụta data dị na mkpokọta. Ị ghaghị ijide n'aka na imelite data ahụ dịka atụmatụ ọhụrụ siri dị. Kpebie onwe gị ma nke a ezuola maka mkpa gị.
  • Asụsụ ajụjụ nke onwe / mfu nke gburugburu ngwaọrụ: Ọbịbịa nke SQL bụ mgbanwe zuru oke, ọ nweghịkwa ihe gbanwere kemgbe ahụ. Ọ bụ asụsụ siri ike na-enweghị atụ, mana dịkwa mgbagwoju anya. A na-ewere mkpa ọ dị iji wuo ajụjụ nchekwa data n'asụsụ ọhụrụ, nke nwere iberibe JSON, dị ka nnukwu nzọụkwụ azụ site n'aka ndị nwere ahụmahụ na SQL. Enwere ngwa ọrụ zuru ụwa ọnụ nke na-emekọrịta ihe na ọdụ data SQL, site na IDE ruo ngwaọrụ mkpesa. Ịkwaga na nchekwa data na-akwadoghị SQL pụtara na ị nweghị ike iji ọtụtụ n'ime ngwaọrụ ndị a, ma ọ bụ na ị chọrọ ịgbanwe data na SQL iji jiri ha, nke nwere ike isi ike karịa ka ị chere.

Ọtụtụ ndị mmepe tụgharịrị na MongoDB aghọtachaghị azụmaahịa a, ma na-agbanyekarị isi n'isi n'ịhazi ya dị ka ụlọ ahịa data mbụ ha. Mgbe nke ahụ gasịrị, ọ na-esikarị ike ịlaghachi azụ.

Kedu ihe a gaara eme n'ụzọ dị iche?

Ọ bụghị onye ọ bụla buru ụzọ wụba isi wee daa n'ala. Mana ọtụtụ ọrụ etinyela ntọala MongoDB ebe ọ dabaraghị - ha ga-esokwa ya biri ọtụtụ afọ. Ọ bụrụ na ụlọ ọrụ ndị a ewepụtala oge iji jiri usoro nyocha nhọrọ teknụzụ ha, ọtụtụ ndị gaara eme nhọrọ dị iche.

Kedu otu esi ahọrọ teknụzụ ziri ezi? Enweela ọtụtụ mbọ iji mepụta usoro nhazi maka ntule teknụzụ, dịka "Ụkpụrụ maka mmejuputa teknụzụ na ụlọ ọrụ ngwanrọ" и "Ụkpụrụ maka nyocha teknụzụ ngwanrọ", mana ọ dị m ka nke a bụ mgbagwoju anya na-enweghị isi.

Enwere ike iji amamihe kpọrọ ọtụtụ teknụzụ akpọrọ ihe site n'ịjụ naanị ajụjụ abụọ bụ isi. Nsogbu dị n'ịchọta ndị nwere ike ịza ha nke ọma, wepụta oge ịchọta azịza na-enweghị isi.

Ọ bụrụ na ị naghị eche nsogbu ụfọdụ ihu, ịgaghị achọ ngwá ọrụ ọhụrụ. Ntụpọ.

Ajụjụ 1: Olee nsogbu m na-agbalị idozi?

Ọ bụrụ na ị naghị eche nsogbu ụfọdụ ihu, ịgaghị achọ ngwá ọrụ ọhụrụ. Ntụpọ. Ọ dịghị mkpa ịchọ ngwọta wee wepụta nsogbu. Ọ gwụla ma ị na-eche nsogbu ihu na teknụzụ ọhụrụ anaghị edozi nke ọma karịa teknụzụ gị dị ugbu a, ọ nweghị ihe ị ga-atụle ebe a. Ọ bụrụ na ị na-eche echiche iji teknụzụ a n'ihi na ị hụla ka ndị ọzọ na-eji ya, chee echiche banyere nsogbu ndị ha na-enwe ma jụọ ma ị na-enwe nsogbu ndị ahụ. Ọ dị mfe ịnakwere teknụzụ n'ihi na ndị ọzọ na-eji ya, ihe isi ike bụ ịmara ma ị na-eche otu nsogbu ahụ ihu.

Ajụjụ 2: Gịnị na-efu m?

Nke a bụ n'ezie ajụjụ siri ike karị, n'ihi na ị ghaghị igwu ma ghọta ma ochie na nkà na ụzụ ọhụrụ nke ọma. Mgbe ụfọdụ ị nweghị ike ịghọta nke ọhụrụ ruo mgbe i jiri ya rụpụta ihe ma ọ bụ nwee onye ọrụ ibe nwere ahụmịhe ahụ.

Ọ bụrụ na ịnweghị nke ọ bụla, mgbe ahụ, ọ bụ ihe ezi uche dị na ya iche echiche banyere ego kacha nta ga-ekwe omume iji chọpụta uru nke ngwá ọrụ a. Ma ọ bụrụ na ị na-etinye ego, olee otú ọ ga-esi esi ike ịgbanwe mkpebi ahụ?

Ndị mmadụ na-emebi ihe niile mgbe niile

N'ịgbalị ịza ajụjụ ndị a n'eleghị mmadụ anya n'ihu dị ka o kwere mee, cheta otu ihe: ị ga-alụ ọgụ maka ọdịdị mmadụ. Enwere ọtụtụ echiche echiche nke a ga-emerịrị iji nyochaa teknụzụ nke ọma. Nke a bụ naanị ole na ole:

  • Mmetụta nke ịbanye n'ọtụtụ Onye ọ bụla maara banyere ya, ma ọ ka na-esi ike ịlụso ya ọgụ. Naanị hụ na teknụzụ dabara na mkpa gị n'ezie.
  • mmetụta ọhụrụ Ọtụtụ ndị mmepe na-achọkarị ilele teknụzụ ha na-arụ ọrụ ogologo oge ma na-atụle uru nke teknụzụ ọhụrụ. Ọ bụghị naanị ndị mmemme, onye ọ bụla nọ n'okpuru echiche a.
  • Mmetụta àgwà ọma Anyị na-achọkarị ịhụ ihe bụ na-echefu ihe na-abụghị. Nke a nwere ike ibute ọgba aghara, yana nsonaazụ ọhụụ, ebe ọ bụghị naanị na ị na-eji teknụzụ ọhụrụ akpọrọ ihe, mana na-elegharakwa adịghị ike ya anya..

Ntụle ebumnobi adịghị mfe, mana ịghọta nhụsianya dị n'okpuru ga-enyere gị aka ịme mkpebi ndị nwere ezi uche.

Nchịkọta

Mgbe ihe ọhụrụ pụtara, ajụjụ abụọ kwesịrị iji nlezianya zaa ya:

  • Ngwá ọrụ a ọ na-edozi ezigbo nsogbu?
  • Anyị ọ dị mma n'ịghọta azụmaahịa?

Ọ bụrụ na ị nweghị ike iji obi ike zaa ajụjụ abụọ a, mee ntakịrị ihe azụ ma chee echiche.

Yabụ na la MongoDB n'ozuzu bụ nhọrọ ziri ezi? N'ezie ee; dị ka ọtụtụ teknụzụ injinia, ọ dabere n'ọtụtụ ihe. N'ime ndị zara ajụjụ abụọ a, ọtụtụ eritela uru na MongoDB ma nọgide na-eme ya. Maka ndị na-enwebeghị, enwere m olileanya na ị mụtala ihe mmụta bara uru na ọ bụghị oke na-egbu mgbu gbasara ịgafe n'usoro ịgba egwu.

Nkwuputa

Achọrọ m ịkọwapụta na anaghị m ahụ MongoDB n'anya ma ọ bụ kpọọ asị. Anyị enweghị ụdị nsogbu MongoDB kacha mma iji dozie. Amaara m 10gen/MongoDB Inc. mere nkwuwa okwu n'atụghị egwu na mbụ, na-edozi ndabara na-enweghị nchebe yana ịkwalite MongoDB n'ebe niile (karịsịa na hackathons) dịka ngwọta nkwụsịtụ maka iji data ọ bụla rụọ ọrụ. O nwere ike ịbụ mkpebi ọjọọ. Mana ọ na-akwado usoro akọwara ebe a: enwere ike ịchọpụta nsogbu ndị a ngwa ngwa ọbụlagodi na nyocha nke teknụzụ.

isi: www.habr.com

Tinye a comment