Na MongoDB e bile khetho e nepahetseng?

Ke sa tsoa fumana seo Red Hat e tlosa tšehetso ea MongoDB ho Satellite (ba re ka lebaka la liphetoho tsa laesense). Sena se ile sa etsa hore ke nahane hobane lilemong tse 'maloa tse fetileng ke bone lingoliloeng tse ngata mabapi le hore na MongoDB e mpe hakae le hore na ha ho motho ea lokelang ho e sebelisa joang. Empa nakong ena, MongoDB e se e le sehlahisoa se holileng ho feta. Ho etsahetse eng? Na lehloeo lohle le hlile le bakoa ke liphoso tsa papatso ea pele ea DBMS e ncha? Kapa na batho ba sebelisa MongoDB libakeng tse fosahetseng?

Haeba u ikutloa eka ke sireletsa MongoDB, ka kopo bala boitlhaloso qetellong ea sehlooho.

Tloaelo e ncha

Ke qetile lilemo tse ngata ke sebetsa indastering ea software ho feta kamoo nka buang, empa ke ntse ke pepeselitsoe karolo e nyane ea mekhoa e atileng indastering ea rona. Ke bone ho phahama ha 4GL, AOP, Agile, SOA, Web 2.0, AJAX, Blockchain ... lenane ha le fele. Selemo se seng le se seng ho hlaha mekhoa e mecha. Tse ling li nyamela kapele, ha tse ling li fetola haholo tsela eo software e hlahisoang ka eona.

Mokhoa o mong le o mong o mocha o baka thabo e akaretsang: batho ba ka tlola ka sekepeng, kapa ba bona lerata le hlahisoang ke ba bang ebe ba latela bongata. Ts'ebetso ena e hlophisitsoe ke Gartner in hype cycle. Leha ho na le likhang, kemiso ena ea nako e batla e hlalosa se etsahalang ka theknoloji pele e ka ba molemo.

Empa nako le nako ho hlaha mokhoa o mocha (kapa o na le ho tla ha bobeli, joalo ka tabeng ena) o tsamaisoang ke ts'ebetsong e le 'ngoe feela e khethehileng. Tabeng ea NoSQL, hype e ne e susumetsoa haholo ke ho hlaha le ho phahama ha meteoric ea MongoDB. MongoDB ha ea ka ea qala mokhoa ona: ha e le hantle, lik'hamphani tse kholo tsa Inthanete li ile tsa qala ho ba le mathata a ho sebetsana le lintlha tse ngata, e leng se ileng sa lebisa ho khutlisetsoeng ha li-database tse se nang kamano. Motsamao o akaretsang o qalile ka merero e kang Bigtable ea Google le Cassandra ea Facebook, empa e bile MongoDB e ileng ea fetoha ts'ebetsong ea database ea NoSQL e tsebahalang haholo le e fumanehang eo bahlahisi ba bangata ba neng ba e fumana.

Tlhokomeliso: U kanna ua nahana hore ke ferekanya li-database tsa litokomane tse nang le li-database tsa li-columnar, mabenkele a linotlolo / boleng, kapa mefuta e meng e mengata ea polokelo ea data e oelang tlasa tlhaloso e akaretsang ea NoSQL. Mme o nepile. Empa ka nako eo ho ne ho rena pherekano. Motho e mong le e mong o amehile haholo ka NoSQL, e se e le motho e mong le e mong ka ho feletseng ho hlokahala, le hoja ba bangata ba ne ba sa bone phapang ea theknoloji e fapaneng. Ho ba bangata, MongoDB e fetohile e tshoanang le NoSQL.

Mme bahlahisi ba ile ba e qhoba. Mohopolo oa database o se nang schemaless o lekanyang ka boselamose ho rarolla bothata leha e le bofe o ne o leka haholo. Hoo e ka bang ka selemo sa 2014, ho ne ho bonahala eka hohle moo selemo se fetileng se sebelisitseng database ea kamano e kang MySQL, Postgres kapa SQL Server e qalile ho kenya marang-rang a MongoDB. Ha u botsoa hore na ke hobane'ng, u ka fumana karabo ho banal "sena ke tekanyo ea sebaka sa marang-rang" ho ea ho "data ea ka e hlophisitsoe ka mokhoa o hlephileng 'me e kena hantle polokelong ea polokelo ntle le schema."

Ho bohlokoa ho hopola hore MongoDB, le li-database tsa litokomane ka kakaretso, li rarolla mathata a 'maloa ka li-database tsa setso tsa setso:

  • Leano le thata: Ka database ea kamano, haeba u hlahisitse data ka matla, u tlameha ho theha letoto la "mefuta e fapaneng" ea likholomo tsa data, ho sutumetsa lintlha tsa data moo, kapa ho sebelisa tlhophiso. EAV... tsena tsohle li na le mefokolo ea bohlokoa.
  • Bothata ba ho eketsa: Haeba ho na le data e ngata hoo e sa lumellaneng le seva se le seng, MongoDB e fana ka mekhoa ea ho e lumella ho tšela mechine e mengata.
  • Liphetoho tse rarahaneng tsa potoloho: ha ho phalliso! Sebakeng sa database sa kamano, ho fetola sebopeho sa database e ka ba bothata bo boholo (haholo-holo ha ho na le lintlha tse ngata). MongoDB e khonne ho nolofatsa ts'ebetso haholo. 'Me e entse hore ho be bonolo hoo u ka ntlafatsang potoloho ha u ntse u tsamaea' me u tsoela pele ka potlako haholo.
  • Mosebetsi oa ho rekota: Ts'ebetso ea MongoDB e ne e le ntle, haholo ha e hlophisitsoe hantle. Le tlhophiso ea MongoDB e kantle ho lebokose, eo hangata e neng e nyatsoa, ​​e bonts'itse lipalo tse khahlisang tsa ts'ebetso.

Likotsi tsohle li ho uena

Melemo e ka bang teng ea MongoDB e ne e le kholo haholo, haholo bakeng sa lihlopha tse itseng tsa mathata. Haeba u bala lethathamo le ka holimo u sa utloisise moelelo oa taba ebile u se na boiphihlelo, u ka fumana maikutlo a hore MongoDB ke DBMS ea phetoho. Bothata feela e ne e le hore melemo e thathamisitsoeng ka holimo e ile ea tla le litemoso tse ngata, tse ling tsa tsona li thathamisitsoe ka tlase.

Ho bua ka toka, ha ho motho ho 10gen/MongoDB Inc. e ke ke ea re tse latelang ha se 'nete, tsena ke ho sekisetsa feela.

  • Litšebelisano tse lahlehileng: Litšebelisano ke karolo ea mantlha ea li-database tse ngata tsa likamano (eseng kaofela, empa boholo ba tsona). Transaction e bolela hore o ka etsa lits'ebetso tse ngata ka atomo mme o ka netefatsa hore data e lula e tsitsitse. Ehlile, ka database ea NoSQL, transactionality e ka ba ka har'a tokomane e le 'ngoe, kapa u ka sebelisa boitlamo ba mekhahlelo e' meli ho fumana semantics ea transaction. Empa o tla tlameha ho kenya tshebetsong tshebetso ena ka bowena ... e ka ba mosebetsi o boima le o jang nako. Hangata ha u lemohe hore ho na le bothata ho fihlela u bona data e polokelong ea litaba e qetella e le maemong a sa sebetseng hobane atomicity ea ts'ebetso e ke ke ea netefatsoa. Tlhokomeliso: Batho ba bangata ba ile ba mpolella hore MongoDB 4.0 e hlahisitse litšebelisano selemong se fetileng, empa ka mefokolo e itseng. Ntho e nkiloeng ho sengoloa e lula e tšoana: lekola hore na theknoloji e fihlela litlhoko tsa hau hantle hakae.
  • Ho lahleheloa ke botšepehi ba likamano (linotlolo tsa kantle ho naha): Haeba data ea hau e na le likamano, u tla tlameha ho e sebelisa ts'ebelisong. Ho ba le database e hlomphang likamano tsena ho tla nka mosebetsi o mongata ho tsoa ts'ebelisong mme ka hona baetsi ba hau ba mananeo.
  • Ho hloka bokhoni ba ho sebelisa sebopeho sa data: Merero e thata ka linako tse ling e ka ba bothata bo boholo, empa hape ke mokhoa o matla oa ho hlophisa data hantle haeba o sebelisoa ka bohlale. Li-database tsa litokomane tse kang MongoDB li fana ka phetoho e makatsang ea schema, empa ho tenyetseha hona ho tlosa boikarabello ba ho boloka data e hloekile. Haeba u sa ba hlokomele, u tla qetella u ngotse khoutu e ngata ho kopo ea hau ho ikarabella bakeng sa data e sa bolokoang ka mokhoa oo u o lebeletseng. Joalokaha re atisa ho bua k'hamphani ea rona e bonolo Thread ... kopo e tla ngoloa ka letsatsi le leng, empa data e tla phela ka ho sa feleng. Tlhokomeliso: MongoDB e ts'ehetsa tlhahlobo ea schema: e na le thuso, empa ha e fane ka tiisetso e ts'oanang le polokelong ea likamano. Pele ho tsohle, ho eketsa kapa ho fetola cheke ea schema ha ho ame data e teng pokellong. Ho ho uena ho etsa bonnete ba hore u ntlafatsa data ho latela schema e ncha. Iketsetse qeto ea hore na sena se lekane litlhoko tsa hau.
  • Puo ea tlhaho ea potso / tahlehelo ea lisebelisoa tsa tikoloho: Ho fihla ha SQL e ne e le phetoho e feletseng 'me ha ho letho le fetohileng ho tloha ka nako eo. Ke puo e matla ka tsela e makatsang, empa hape e rarahane haholo. Tlhokahalo ea ho theha lipotso tsa database ka puo e ncha e nang le likhechana tsa JSON e nkuoa e le mohato o moholo oa ho khutlela morao ke batho ba nang le boiphihlelo ba ho sebetsa le SQL. Ho na le bokahohle ba lisebelisoa tse sebelisanang le li-database tsa SQL, ho tloha ho li-IDE ho ea ho lisebelisoa tsa tlaleho. Ho fallela ho database e sa tšehetseng SQL ho bolela hore u ke ke ua sebelisa boholo ba lisebelisoa tsena kapa u tlameha ho fetolela data ho SQL ho e sebelisa, e ka ba thata ho feta kamoo u nahanang kateng.

Bahlahisi ba bangata ba ileng ba fetohela ho MongoDB ba ne ba sa utloisise hantle li-trade-offs, 'me hangata ba ile ba ikakhela ka setotsoana ho e kenya e le lebenkele la bona la data la mantlha. Ka mor'a sena hangata ho ne ho e-ba thata haholo ho khutla.

Ho ka be ho entsoe eng ka tsela e fapaneng?

Ha se bohle ba ileng ba tlola ka hlooho mme ba otla tlase. Empa merero e mengata e kentse MongoDB libakeng tseo e neng e sa tšoanelehe - mme ba tla tlameha ho phela le eona lilemo tse ngata tse tlang. Haeba mekhatlo ena e ne e sebelisitse nako e itseng le ho nahana ka mokhoa o hlophisitsoeng ka khetho ea bona ea theknoloji, ba bangata ba ka be ba entse likhetho tse fapaneng.

Tsela ea ho khetha theknoloji e nepahetseng? Ho bile le liteko tse 'maloa tsa ho theha moralo o hlophisitsoeng oa tlhahlobo ea theknoloji, joalo ka "Morero oa ho kenyelletsa theknoloji ho mekhatlo ea software" и "Morero oa ho lekola mahlale a software", empa ho ’na ho bonahala eka sena ke ho rarahana ho sa hlokahaleng.

Litheknoloji tse ngata li ka hlahlojoa ka bohlale ka ho botsa lipotso tse peli feela tsa motheo. Bothata ke ho fumana batho ba ka ba arabang ka boikarabelo, ba ipha nako ea ho fumana likarabo ntle le leeme.

Haeba u sa tobane le bothata bofe kapa bofe, ha u hloke sesebelisoa se secha. Letheba.

Potso ea 1: Ke mathata afe ao ke lekang ho a rarolla?

Haeba u sa tobane le bothata bofe kapa bofe, ha u hloke sesebelisoa se secha. Letheba. Ha ho hlokahale ho batla tharollo ebe joale u qapa bothata. Ntle le haeba o bile le bothata boo theknoloji e ncha e bo rarollang hantle ho feta tekhenoloji ea hau e teng, ha ho letho leo u ka buisanang ka lona mona. Haeba u nahana ho sebelisa theknoloji ena hobane u bone ba bang ba e sebelisa, nahana ka mathata ao ba tobanang le ’ona ’me u botse hore na u na le mathata ao. Ho bonolo ho amohela theknoloji hobane ba bang ba e sebelisa, bothata ke ho utloisisa hore na u tobane le mathata a tšoanang.

Potso ea 2: Ke haelloa ke eng?

Ka sebele ena ke potso e thata ho feta hobane u tla tlameha ho cheka le ho ba le kutloisiso e ntle ea theknoloji ea khale le e ncha. Ka linako tse ling u ke ke ua utloisisa e ncha ho fihlela u hahile ntho e itseng ka eona kapa u e-na le motho ea nang le phihlelo eo.

Haeba u se na leha e le efe, joale hoa utloahala ho nahana ka chelete e fokolang e ka khonehang ho fumana boleng ba sesebelisoa sena. 'Me hang ha u etsa letsete, ho tla ba thata hakae ho fetola qeto?

Batho ka mehla ba senya tsohle

Ha u ntse u leka ho araba lipotso tsena ka mokhoa o hlokang leeme kamoo ho ka khonehang, hopola ntho e le 'ngoe: u tla tlameha ho loantša tlhaho ea motho. Ho na le litebello tse ngata tsa kelello tse lokelang ho hlōloa ho hlahloba theknoloji ka katleho. Mona ke tse seng kae feela:

  • Phello ya ho kenela bongata - bohle ba tseba ka eena, empa ho ntse ho le thata ho mo loantša. Etsa bonnete ba hore theknoloji e hlile e lumellana le litlhoko tsa hau tsa sebele.
  • Phello e ncha - Bahlahisi ba bangata ba na le ho nyenyefatsa theknoloji eo ba sebelitseng le bona ka nako e telele mme ba hakanya melemo ea theknoloji e ncha. Ha se baetsi ba mananeo feela, motho e mong le e mong o kotsing ea leeme lena la kelello.
  • Phello ea litšobotsi tse ntle - Re na le tšekamelo ea ho bona se teng ebe re lahleheloa ke pono ea se sieo. Sena se ka lebisa moferefereng ha se kopantsoe le phello e ncha, kaha u sa nke theknoloji e ncha feela ka tlhaho, empa hape u hlokomoloha mefokolo ea eona..

Tlhahlobo ea sepheo ha e bonolo, empa ho utloisisa litšekamelo tsa kelello ho tla u thusa ho etsa liqeto tse utloahalang.

Kakaretso

Nako le nako ha popontšo e hlaha, lipotso tse peli li tlameha ho arajoa ka hloko e kholo:

  • Na sesebelisoa see se rarolla bothata ba 'nete?
  • Na re utloisisa mekhoa ea khoebo hantle?

Haeba u sa khone ho araba lipotso tsena tse peli ka kholiseho, nka mehato e seng mekae morao 'me u nahane.

Joale na MongoDB e bile khetho e nepahetseng? Ehlile ho joalo; Joalo ka mahlale a mangata a boenjiniere, sena se ipapisitse le lintlha tse ngata. Har'a ba arabileng lipotso tsena tse peli, ba bangata ba ruile molemo ho MongoDB mme ba tsoela pele ho etsa joalo. Bakeng sa ba sa kang ba etsa joalo, ke tšepa hore u ithutile thuto ea bohlokoa le e seng bohloko haholo mabapi le ho tsamaea nakong ea hype cycle.

Boithorollo

Ke batla ho hlakisa hore ha ke na lerato kapa kamano ea lehloeo le MongoDB. Ha re so be le mofuta oa mathata ao MongoDB e loketseng ho a rarolla. Kea tseba hore 10gen/MongoDB Inc. e ne e le sebete haholo qalong, e beha mefokolo e sa sireletsehang le ho khothaletsa MongoDB hohle (haholo-holo ho li-hackathons) e le tharollo ea bokahohle bakeng sa ho sebetsa le data leha e le efe. Mohlomong e ne e le qeto e mpe. Empa e tiisa mokhoa o hlalositsoeng mona: mathata ana a ka bonoa ka potlako esita le ka tlhahlobo e phahameng ea theknoloji.

Source: www.habr.com

Eketsa ka tlhaloso