Puas yog MongoDB feem ntau yog qhov kev xaiv zoo?

Tsis ntev los no kuv pom qhov ntawd Red Hat tshem MongoDB kev txhawb nqa los ntawm Satellite (lawv hais vim hloov daim ntawv tso cai). Qhov no ua rau kuv xav vim hais tias nyob rau hauv ob peb xyoos dhau los kuv tau pom ib tug ton ntawm cov ntawv hais txog yuav ua li cas txaus ntshai MongoDB thiab yuav ua li cas tsis muaj leej twg yuav tsum tau siv nws. Tab sis lub sijhawm no, MongoDB tau dhau los ua cov khoom lag luam paub ntau dua. Dab tsi tshwm sim? Puas yog txhua qhov kev ntxub ntxaug vim yog qhov ua yuam kev hauv kev lag luam thaum ntxov ntawm DBMS tshiab? Los yog tib neeg tsuas yog siv MongoDB hauv qhov chaw tsis raug?

Yog tias koj xav tias kuv tiv thaiv MongoDB, thov nyeem tsis lees paub thaum kawg ntawm tsab xov xwm.

Txoj kev tshiab

Kuv tau ua haujlwm hauv kev lag luam software rau ntau xyoo ntau dua li kuv tuaj yeem hais tau, tab sis kuv tseem tsuas yog raug nthuav tawm rau qee qhov me me ntawm cov qauv uas tau cuam tshuam rau peb txoj kev lag luam. Kuv tau pom qhov nce ntawm 4GL, AOP, Agile, SOA, Web 2.0, AJAX, Blockchain ... cov npe tsis muaj qhov kawg. Txhua xyoo tshiab tiam tshiab tshwm sim. Qee qhov sai sai ploj mus, thaum lwm tus tau hloov pauv txoj kev tsim software.

Txhua tus qauv tshiab tsim kom muaj kev zoo siab: tib neeg txawm dhia ntawm lub nkoj, lossis pom lub suab nrov tsim los ntawm lwm tus thiab ua raws li cov neeg coob coob. Cov txheej txheem no yog codified los ntawm Gartner nyob rau hauv hype lub voj voog. Txawm hais tias muaj kev tsis sib haum xeeb, lub sijhawm no piav qhia txog qhov tshwm sim rau cov thev naus laus zis ua ntej lawv thiaj li yuav pab tau.

Tab sis los ntawm ib lub sij hawm ib tug tshiab innovation tshwm sim (los yog muaj ib tug thib ob los, raws li nyob rau hauv cov ntaub ntawv no) tsav los ntawm tsuas yog ib qho kev siv. Nyob rau hauv rooj plaub ntawm NoSQL, hype tau hnyav heev los ntawm kev tshwm sim thiab meteoric sawv ntawm MongoDB. MongoDB tsis tau pib qhov qauv no: qhov tseeb, cov tuam txhab hauv Internet loj tau pib muaj teeb meem ua cov ntaub ntawv loj, uas ua rau rov qab los ntawm cov ntaub ntawv tsis cuam tshuam. Lub zog tag nrho pib nrog cov haujlwm zoo li Google's Bigtable thiab Facebook's Cassandra, tab sis nws yog MongoDB uas tau dhau los ua qhov paub zoo tshaj plaws thiab siv tau NoSQL database siv uas feem ntau cov neeg tsim khoom tau nkag mus.

Nco tseg: Tej zaum koj yuav xav tias kuv tsis meej pem cov ntaub ntawv databases nrog columnar databases, cov khw muag khoom tseem ceeb / tus nqi, lossis ib qho ntawm ntau hom ntaub ntawv khw muag khoom uas poob rau hauv lub ntsiab lus NoSQL. Thiab koj hais yog lawm. Tab sis lub sij hawm ntawd chaos reigned. Txhua leej txhua tus yog obsessed nrog NoSQL, nws tau dhau los ua txhua tus kiag li tsim nyog, txawm tias muaj coob tus tsis pom qhov sib txawv ntawm cov technologies sib txawv. Rau ntau, MongoDB tau dhau los synonymous nrog NoSQL.

Thiab developers pounced rau nws. Lub tswv yim ntawm schemaless database uas magically scales los daws tej teeb meem yog heev ntxias. Nyob ib ncig ntawm 2014, nws zoo li txhua qhov chaw uas ib xyoos dhau los siv cov ntaub ntawv sib raug zoo xws li MySQL, Postgres lossis SQL Server pib siv MongoDB databases. Thaum nug yog vim li cas, koj tuaj yeem tau txais cov lus teb los ntawm banal "qhov no yog qhov ntsuas ntawm lub vev xaib" rau qhov kev xav ntau dua "Kuv cov ntaub ntawv yog cov qauv xoob heev thiab haum rau hauv cov ntaub ntawv tsis muaj schema."

Nws yog ib qho tseem ceeb kom nco ntsoov tias MongoDB, thiab cov ntaub ntawv databases feem ntau, daws tau ntau yam teeb meem nrog cov ntaub ntawv sib raug zoo:

  • Lub tswv yim nruj: Nrog rau cov ntaub ntawv sib raug zoo, yog tias koj muaj cov ntaub ntawv tsim tawm dynamically, koj raug yuam los tsim ib pawg ntawm random "lwm yam" kab ntawm cov ntaub ntawv, shove blobs ntawm cov ntaub ntawv nyob rau hauv, los yog siv configuration EAV... txhua yam ntawm no muaj qhov tsis zoo.
  • Nyuaj scaling: Yog tias muaj ntau cov ntaub ntawv uas nws tsis haum rau ib tus neeg rau zaub mov, MongoDB muab cov txheej txheem los tso cai rau nws ntsuas thoob plaws ntau lub tshuab.
  • Complex circuit modifications: tsis muaj migrations! Hauv kev sib raug zoo database, hloov cov qauv database tuaj yeem yog qhov teeb meem loj (tshwj xeeb tshaj yog thaum muaj cov ntaub ntawv ntau). MongoDB muaj peev xwm ua kom yooj yim rau cov txheej txheem. Thiab nws ua rau nws yooj yim heev uas koj tuaj yeem hloov kho lub voj voog thaum koj mus thiab txav mus sai heev.
  • Cov ntaubntawv povthawj siv: MongoDB kev ua tau zoo tau zoo, tshwj xeeb tshaj yog thaum kho kom raug. Txawm tias MongoDB qhov kev teeb tsa tawm ntawm lub thawv, uas nws tau raug thuam ntau zaus, tau pom qee qhov kev ua tau zoo.

Txhua qhov kev pheej hmoo yog nyob ntawm koj

Cov txiaj ntsig zoo ntawm MongoDB tau loj heev, tshwj xeeb tshaj yog rau qee chav kawm ntawm cov teeb meem. Yog tias koj nyeem cov npe saum toj no yam tsis nkag siab cov ntsiab lus thiab tsis muaj kev paub dhau los, koj tuaj yeem tau txais kev xav tias MongoDB yog qhov hloov pauv DBMS tiag tiag. Qhov teeb meem nkaus xwb yog tias cov txiaj ntsig tau teev tseg saum toj no tuaj nrog ntau qhov caveats, qee qhov tau teev tseg hauv qab no.

Yuav kom ncaj ncees, tsis muaj leej twg ntawm 10gen / MongoDB Inc. yuav tsis hais tias cov hauv qab no tsis muaj tseeb, cov no tsuas yog kev sib haum xeeb xwb.

  • Poob kev lag luam: Kev ua lag luam yog qhov tseem ceeb ntawm ntau cov ntaub ntawv sib raug zoo (tsis yog tag nrho, tab sis feem ntau). Transactional txhais tau tias koj tuaj yeem ua ntau yam haujlwm atomically thiab tuaj yeem xyuas kom meej tias cov ntaub ntawv tseem nyob ib puag ncig. Tau kawg, nrog rau NoSQL database, kev hloov pauv tuaj yeem nyob hauv ib daim ntawv, lossis koj tuaj yeem siv ob-theem kev cog lus kom tau txais kev lag luam semantics. Tab sis koj yuav tau siv qhov kev ua haujlwm no koj tus kheej ... uas tuaj yeem ua haujlwm nyuaj thiab siv sijhawm. Feem ntau koj tsis paub tias muaj teeb meem txog thaum koj pom cov ntaub ntawv hauv cov ntaub ntawv xaus rau hauv cov xeev tsis raug vim tias atomicity ntawm kev ua haujlwm tsis tuaj yeem lav. Nco tseg: Ntau tus neeg tau hais rau kuv tias MongoDB 4.0 qhia txog kev lag luam xyoo tas los, tab sis nrog qee qhov kev txwv. Qhov kev tshem tawm ntawm tsab xov xwm tseem zoo ib yam: ntsuas seb cov tshuab ua tau raws li koj xav tau.
  • Loss of relational integrity (cov yuam sij txawv teb chaws): Yog tias koj cov ntaub ntawv muaj kev sib raug zoo, ces koj yuav tau siv lawv hauv daim ntawv thov. Muaj ib lub database uas hwm cov kev sib raug zoo no yuav siv sij hawm ntau txoj haujlwm tawm ntawm daim ntawv thov thiab yog li koj cov programmers.
  • Tsis muaj peev xwm siv cov qauv ntaub ntawv: Cov txheej txheem nruj me ntsis tuaj yeem yog qhov teeb meem loj, tab sis lawv kuj yog lub zog muaj zog rau kev tsim cov ntaub ntawv zoo yog tias siv tau zoo. Cov ntaub ntawv databases zoo li MongoDB muab cov kev hloov pauv zoo kawg, tab sis qhov kev hloov pauv no tshem tawm lub luag haujlwm ntawm kev khaws cov ntaub ntawv huv. Yog tias koj tsis saib xyuas lawv, koj yuav xaus sau ntau tus lej hauv koj daim ntawv thov kom suav nrog cov ntaub ntawv uas tsis khaws cia hauv daim ntawv koj xav tau. Raws li peb feem ntau hais ntawm peb lub tuam txhab Simple Thread... daim ntawv thov yuav muaj ib hnub rov sau dua, tab sis cov ntaub ntawv yuav nyob mus ib txhis. Nco tseg: MongoDB txhawb nqa kev kuaj xyuas: nws muaj txiaj ntsig, tab sis tsis muab cov kev lees paub zoo ib yam li hauv cov ntaub ntawv sib raug zoo. Ua ntej tshaj plaws, ntxiv lossis hloov daim tshev schema tsis cuam tshuam cov ntaub ntawv uas twb muaj lawm hauv kev sau. Nws yog nyob ntawm koj kom paub meej tias koj hloov kho cov ntaub ntawv raws li qhov tshiab schema. Txiav txim siab rau koj tus kheej seb qhov no puas txaus rau koj cov kev xav tau.
  • Cov lus nug haiv neeg / poob ntawm cov cuab yeej ecosystem: Lub advent ntawm SQL yog ib tug kiag li kiv puag ncig thiab tsis muaj dab tsi tau hloov txij thaum ntawd los. Nws yog ib hom lus muaj zog heev, tab sis kuj nyuaj heev. Qhov xav tau los tsim cov lus nug hauv cov lus tshiab uas muaj JSON cov tawg yog suav tias yog ib kauj ruam loj rov qab los ntawm cov neeg uas muaj kev paub ua haujlwm nrog SQL. Muaj tag nrho lub ntiaj teb ntawm cov cuab yeej uas cuam tshuam nrog SQL databases, los ntawm IDEs rau cov cuab yeej tshaj tawm. Tsiv mus rau ib lub database uas tsis txhawb SQL txhais tau tias koj tsis tuaj yeem siv feem ntau ntawm cov cuab yeej no lossis koj yuav tsum tau txhais cov ntaub ntawv rau hauv SQL siv lawv, uas tuaj yeem nyuaj dua li qhov koj xav.

Ntau tus neeg tsim khoom uas tig mus rau MongoDB tsis tshua nkag siab txog kev lag luam tawm, thiab feem ntau dhia taub hau rau hauv kev txhim kho nws ua lawv cov ntaub ntawv tseem ceeb. Tom qab no nws yog feem ntau incredibly nyuaj rau rov qab los.

Dab tsi tuaj yeem ua tau txawv?

Tsis yog txhua tus tau dhia taub hau thiab ntaus hauv qab. Tab sis ntau qhov haujlwm tau teeb tsa MongoDB nyob rau hauv qhov chaw uas nws tsuas tsis haum - thiab lawv yuav tau nyob nrog nws ntau xyoo tom ntej. Yog tias cov koom haum no tau siv qee lub sijhawm thiab kev xav los ntawm lawv cov kev xaiv thev naus laus zis, ntau tus yuav tau xaiv ntau yam.

Yuav ua li cas xaiv txoj kev siv tshuab? Muaj ntau qhov kev sim los tsim kom muaj lub hauv paus txheej txheem rau kev ntsuam xyuas thev naus laus zis, xws li "Lub hauv paus rau kev qhia technologies rau hauv software koom haum" ΠΈ "Kev ntsuam xyuas software technologies", tab sis nws zoo li kuv tias qhov no tsis tsim nyog complexity.

Ntau cov thev naus laus zis tuaj yeem ntsuas qhov ntse los ntawm kev nug tsuas yog ob nqe lus nug yooj yim. Qhov teeb meem yog nrhiav cov neeg uas tuaj yeem teb lawv lub luag haujlwm, siv sijhawm los nrhiav cov lus teb thiab tsis muaj kev tsis ncaj ncees.

Yog tias koj tsis ntsib teeb meem, koj tsis xav tau lub cuab yeej tshiab. Dot.

Nqe Lus Nug 1: Cov teeb meem dab tsi kuv sim daws?

Yog tias koj tsis ntsib teeb meem, koj tsis xav tau lub cuab yeej tshiab. Dot. Tsis tas yuav nrhiav kev daws teeb meem thiab tsim teeb meem. Tshwj tsis yog tias koj tau ntsib teeb meem uas cov thev naus laus zis tshiab daws tau zoo dua li koj cov thev naus laus zis uas twb muaj lawm, tsis muaj dab tsi los tham ntawm no. Yog tias koj tab tom txiav txim siab siv cov thev naus laus zis no vim tias koj tau pom lwm tus siv nws, xav txog seb lawv ntsib teeb meem dab tsi thiab nug seb koj puas muaj cov teeb meem ntawd. Nws yog ib qho yooj yim los txais ib lub tshuab vim tias lwm tus siv nws, qhov kev sib tw yog kev nkag siab seb koj puas ntsib cov teeb meem tib yam.

Nqe Lus Nug 2: Kuv tsis muaj dab tsi?

Qhov no yeej yog ib lo lus nug nyuaj dua vim tias koj yuav tau khawb hauv thiab muaj kev nkag siab zoo ntawm ob qho tib si qub thiab tshiab. Qee lub sij hawm koj tsis tuaj yeem nkag siab txog qhov tshiab kom txog thaum koj tau tsim ib yam dab tsi nrog nws lossis muaj ib tus neeg nrog qhov kev paub ntawd.

Yog tias koj tsis muaj, ces nws ua rau kev txiav txim siab txog qhov tsawg kawg nkaus peev peev los txiav txim siab tus nqi ntawm qhov ntsuas no. Thiab thaum koj ua kev nqis peev, nws yuav nyuaj npaum li cas los thim qhov kev txiav txim siab?

Tib neeg ib txwm rhuav tshem txhua yam

Thaum koj sim teb cov lus nug no kom ncaj ncees raws li qhov ua tau, nco ntsoov ib yam: koj yuav tau tawm tsam tib neeg qhov xwm txheej. Muaj ntau qhov kev paub tsis meej uas yuav tsum tau kov yeej los ntsuas kev siv thev naus laus zis zoo. Nov tsuas yog qee qhov:

  • Cov nyhuv ntawm kev koom nrog feem coob - Txhua tus paub txog nws, tab sis nws tseem nyuaj rau kev tawm tsam nws. Tsuas yog xyuas kom cov thev naus laus zis ua tau raws li koj qhov kev xav tau tiag tiag.
  • Novelty nyhuv - Ntau tus neeg tsim khoom nyiam saib tsis taus cov thev naus laus zis uas lawv tau ua haujlwm nrog rau lub sijhawm ntev thiab overestimate cov txiaj ntsig ntawm cov cuab yeej tshiab. Nws tsis yog tsuas yog programmers xwb, txhua tus muaj kev cuam tshuam rau qhov kev paub tsis meej.
  • Cov txiaj ntsig ntawm cov yam ntxwv zoo - Peb nyiam pom dab tsi nyob ntawd thiab pom qhov ploj lawm. Qhov no tuaj yeem ua rau muaj kev kub ntxhov thaum ua ke nrog cov txiaj ntsig tshiab, vim tias koj tsis tsuas yog muaj txiaj ntsig zoo dua tshiab, tab sis kuj tsis quav ntsej nws qhov tsis txaus..

Kev ntsuam xyuas lub hom phiaj tsis yooj yim, tab sis kev nkag siab txog qhov kev paub tsis meej hauv qab yuav pab koj txiav txim siab muaj txiaj ntsig ntau dua.

Txoj kev xaus

Thaum twg qhov kev tsim kho tshiab tshwm sim, ob lo lus nug yuav tsum tau teb nrog kev saib xyuas zoo:

  • Cov cuab yeej no puas daws qhov teeb meem tiag tiag?
  • Peb puas to taub qhov kev sib pauv khoom zoo?

Yog tias koj tsis tuaj yeem ntseeg siab teb ob lo lus nug no, ua ob peb kauj ruam rov qab thiab xav.

Yog li MongoDB txawm yog qhov kev xaiv zoo? Tau kawg yog; Raws li nrog rau feem ntau engineering technologies, qhov no nyob ntawm ntau yam. Ntawm cov uas teb ob lo lus nug no, ntau tus tau txais txiaj ntsig los ntawm MongoDB thiab txuas ntxiv ua li ntawd. Rau cov uas tsis tau, kuv vam tias koj tau kawm ib zaj lus qhia tseem ceeb thiab tsis mob heev txog kev txav mus los ntawm lub voj voog hype.

Tsis lees paub

Kuv xav qhia meej tias kuv tsis muaj kev hlub lossis kev ntxub kev sib raug zoo nrog MongoDB. Peb tsuas yog tsis muaj cov teeb meem uas MongoDB zoo tshaj los daws. Kuv paub tias 10gen / MongoDB Inc. tau ua siab tawv heev thaum xub thawj, teeb tsa qhov tsis muaj kev ruaj ntseg thiab txhawb MongoDB txhua qhov chaw (tshwj xeeb ntawm hackathons) raws li kev daws teeb meem thoob ntiaj teb rau kev ua haujlwm nrog cov ntaub ntawv. Tej zaum yog qhov kev txiav txim siab phem. Tab sis nws lees paub txoj hauv kev tau piav qhia ntawm no: cov teeb meem no tuaj yeem tshawb pom sai heev txawm tias muaj kev ntsuam xyuas sab nrauv ntawm thev naus laus zis.

Tau qhov twg los: www.hab.com

Ntxiv ib saib