Kodi MongoDB nthawi zambiri inali chisankho choyenera?

Ndazindikira posachedwapa Red Hat imachotsa thandizo la MongoDB ku Satellite (akutero chifukwa cha kusintha kwa laisensi). Izi zidandipangitsa kuganiza chifukwa m'zaka zingapo zapitazi ndawona zolemba zambiri za MongoDB yoyipa komanso momwe palibe amene ayenera kuigwiritsa ntchito. Koma panthawiyi, MongoDB yakhala chinthu chokhwima kwambiri. Chinachitika ndi chiyani? Kodi chidani chonsecho chimachitika chifukwa cha zolakwika pakutsatsa koyambirira kwa DBMS yatsopano? Kapena kodi anthu akungogwiritsa ntchito MongoDB m'malo olakwika?

Ngati mukumva ngati ndikuteteza MongoDB, chonde werengani chodzikanira kumapeto kwa nkhaniyo.

Chikhalidwe chatsopano

Ndakhala ndikugwira ntchito m'makampani opanga mapulogalamu kwa zaka zambiri kuposa momwe ndinganene, koma ndakhala ndikungoyang'ana gawo laling'ono lazinthu zomwe zakhudza makampani athu. Ndawonapo kukwera kwa 4GL, AOP, Agile, SOA, Web 2.0, AJAX, Blockchain ... mndandandawu ndi wopanda malire. Chaka chilichonse zinthu zatsopano zimawonekera. Ena amazimiririka msanga, pomwe ena amasintha momwe mapulogalamu amapangidwira.

Chilichonse chatsopano chimabweretsa chisangalalo: anthu amadumphira, kapena amawona phokoso lopangidwa ndi ena ndikutsata unyinji. Njira iyi idakhazikitsidwa ndi Gartner in hype cycle. Ngakhale zili zotsutsana, nthawiyi imafotokoza zomwe zimachitika kumatekinoloje zisanakhale zothandiza.

Koma nthawi ndi nthawi zatsopano zatsopano zimawonekera (kapena zimakhala ndi kubweranso kachiwiri, monga momwe zilili pano) motsogoleredwa ndi kukhazikitsidwa kumodzi kokha. Pankhani ya NoSQL, hype idayendetsedwa kwambiri ndi kukwera kwa meteoric kwa MongoDB. MongoDB sinayambe izi: Ndipotu, makampani akuluakulu a pa Intaneti anayamba kukhala ndi mavuto pokonza deta yambiri, zomwe zinapangitsa kuti abwererenso ma database omwe sali ogwirizana. Kusuntha konseko kudayamba ndi mapulojekiti monga Google's Bigtable ndi Cassandra ya Facebook, koma inali MongoDB yomwe idakhala njira yodziwika bwino komanso yopezeka ya NoSQL database yomwe opanga ambiri adapeza.

Zindikirani: Mutha kuganiza kuti ndikusokoneza nkhokwe zamakalata okhala ndi nkhokwe, makiyi / masitolo amtengo wapatali, kapena mitundu ina yambiri yosungira deta yomwe imagwera pansi pa tanthauzo la NoSQL. Ndipo mukulondola. Koma pa nthawiyo panali chipwirikiti. Aliyense ali ndi chidwi ndi NoSQL, yakhala aliyense mwamtheradi zofunikira, ngakhale ambiri sanawone kusiyana kwa matekinoloje osiyanasiyana. Kwa ambiri, MongoDB yakhala zofananira NoSQL.

Ndipo opanga adakankhira pa izo. Lingaliro la database ya schemaless yomwe imakulitsa mwamatsenga kuti ithetse vuto lililonse inali yokopa kwambiri. Chakumapeto kwa 2014, zikuwoneka kuti kulikonse kuti chaka chapitacho adagwiritsa ntchito nkhokwe yaubale monga MySQL, Postgres kapena SQL Server idayamba kuyika ma database a MongoDB. Mukafunsidwa chifukwa chake, mutha kupeza yankho kuchokera kwa banal "uwu ndiye kukula kwa intaneti" kuti "zambiri zanga ndizosanjidwa bwino ndipo zimagwirizana bwino ndi database popanda schema."

Ndikofunikira kukumbukira kuti MongoDB, ndi nkhokwe za zolemba zonse, zimathetsa mavuto angapo ndi nkhokwe zachikhalidwe:

  • Chiwembu chokhwima: Ndi nkhokwe yaubale, ngati mwapanga data mwachangu, mumakakamizika kupanga gulu lambiri "zosiyanasiyana" za data, kukankha zidziwitso pamenepo, kapena kugwiritsa ntchito kasinthidwe. EAV... zonsezi zili ndi zovuta zina.
  • Kuvuta makulitsidwe: Ngati pali zambiri zomwe sizikukwanira pa seva imodzi, MongoDB idapereka njira zololeza kuti ipitirire pamakina angapo.
  • Zosintha zovuta kuzungulira: palibe kusamuka! Mu database yaubale, kusintha mawonekedwe a database kungakhale vuto lalikulu (makamaka ngati pali zambiri). MongoDB idakwanitsa kufewetsa njirayi. Ndipo zinapangitsa kuti zikhale zosavuta kuti mutha kungosintha dera mukamapita ndikupita patsogolo mwachangu.
  • Kujambula kachitidwe: Kuchita kwa MongoDB kunali kwabwino, makamaka ikakonzedwa bwino. Ngakhale kasinthidwe ka MongoDB kunja kwa bokosi, komwe nthawi zambiri kunkatsutsidwa, kumawonetsa ziwerengero zochititsa chidwi.

Zowopsa zonse zili pa inu

Ubwino womwe ungakhalepo wa MongoDB unali waukulu, makamaka pamagulu ena amavuto. Mukawerenga mndandanda womwe uli pamwambapa osamvetsetsa zomwe zikuchitika komanso popanda chidziwitso, mutha kuganiza kuti MongoDB ndi DBMS yosintha. Vuto lokhalo linali loti mapindu omwe atchulidwa pamwambapa adabwera ndi chenjezo zingapo, zina zomwe zalembedwa pansipa.

Kunena chilungamo, palibe aliyense ku 10gen/MongoDB Inc. sanganene kuti zotsatirazi sizowona, izi ndi kunyengerera chabe.

  • Zochita zotayika: Kusinthana ndi gawo lofunikira pazosungidwa zambiri zamaubwenzi (osati zonse, koma zambiri). Transaction amatanthauza kuti mutha kuchita ma opareshoni angapo ma atomu ndipo mutha kuwonetsetsa kuti deta ikukhalabe yosasinthika. Zachidziwikire, ndi nkhokwe ya NoSQL, kugulitsa kumatha kukhala mkati mwa chikalata chimodzi, kapena mutha kugwiritsa ntchito magawo awiri kuti mupeze semantics yosinthira. Koma muyenera kugwiritsa ntchito izi nokha ... zomwe zingakhale zovuta komanso zowononga nthawi. Nthawi zambiri simuzindikira kuti pali vuto mpaka mutawona zomwe zili munkhokwe zikutha m'malo osavomerezeka chifukwa ma atomiki ogwirira ntchito sangathe kutsimikiziridwa. Zindikirani: Anthu ambiri adandiuza kuti MongoDB 4.0 idayambitsa zochitika chaka chatha, koma ndi zolephera zina. Zomwe zatengedwa m'nkhaniyi zimakhalabe zofanana: yesani momwe ukadaulo umakwaniritsa zosowa zanu.
  • Kutayika kwa ubale wabwino (makiyi akunja): Ngati deta yanu ili ndi maubwenzi, ndiye kuti muyenera kuwagwiritsa ntchito. Kukhala ndi nkhokwe yomwe imalemekeza maubwenzi awa kudzatengera ntchito zambiri pakugwiritsa ntchito ndipo chifukwa chake opanga mapulogalamu anu.
  • Kulephera kugwiritsa ntchito dongosolo la deta: Mapulani okhwima nthawi zina amatha kukhala vuto lalikulu, koma amakhalanso njira yamphamvu yopangira ma data ngati atagwiritsidwa ntchito mwanzeru. Zolemba zolemba ngati MongoDB zimapereka kusinthasintha kodabwitsa kwa schema, koma kusinthasintha kumeneku kumachotsa udindo wosunga deta yoyera. Ngati simuwasamalira, mudzamaliza kulemba ma code ambiri mu pulogalamu yanu kuti muwerenge deta yomwe sinasungidwe mu mawonekedwe omwe mukuyembekezera. Monga timanena nthawi zambiri ku kampani yathu Yosavuta Thread ... ntchitoyo idzalembedwanso tsiku lina, koma deta idzakhala ndi moyo kosatha. Zindikirani: MongoDB imathandizira kuyang'ana kwa schema: ndikothandiza, koma sikumapereka zitsimikizo zofanana ndi zomwe zili mgulu lazolumikizana. Choyamba, kuwonjezera kapena kusintha cheke sikumakhudza zomwe zilipo pakutolera. Zili ndi inu kuwonetsetsa kuti mwasintha zambiri malinga ndi schema yatsopano. Sankhani nokha ngati izi ndizokwanira pazosowa zanu.
  • Chilankhulo chafunso / kutayika kwa zida zachilengedwe: Kubwera kwa SQL kunali kusintha kotheratu ndipo palibe chomwe chasintha kuyambira pamenepo. Ndi chilankhulo champhamvu kwambiri, komanso chovuta kwambiri. Kufunika kopanga mafunso a database m'chinenero chatsopano chokhala ndi zidutswa za JSON kumawoneka ngati sitepe yaikulu yobwerera mmbuyo ndi anthu omwe ali ndi chidziwitso chogwira ntchito ndi SQL. Pali zida zonse zomwe zimalumikizana ndi nkhokwe za SQL, kuyambira ma IDE mpaka zida zoperekera malipoti. Kusamukira ku database yomwe sikugwirizana ndi SQL kumatanthauza kuti simungagwiritse ntchito zida zambiri kapena muyenera kumasulira deta mu SQL kuti mugwiritse ntchito, zomwe zingakhale zovuta kuposa momwe mukuganizira.

Madivelopa ambiri omwe adatembenukira ku MongoDB sanamvetse bwino zamalonda, ndipo nthawi zambiri amapita patsogolo ndikuyiyika ngati malo awo osungira deta. Zitatha izi nthawi zambiri zinali zovuta kwambiri kubwerera.

Kodi zikanatheka bwanji mosiyana?

Sikuti aliyense adalumpha chamutu ndikugunda pansi. Koma ma projekiti ambiri adayika MongoDB m'malo omwe sanakwanire - ndipo akuyenera kukhala nayo zaka zambiri zikubwerazi. Mabungwewa akadakhala nthawi yayitali ndikuganizira mozama pazosankha zawo zaukadaulo, ambiri akanapanga zisankho zosiyanasiyana.

Kodi mungasankhe bwanji luso lamakono? Pakhala pali zoyesayesa zingapo zopanga dongosolo lokhazikika pakuwunika kwaukadaulo, monga "Framework for introduce technologies in software organizations" ΠΈ "Framework for assessing software technologies", koma zikuwoneka kwa ine kuti izi ndizovuta zosafunikira.

Matekinoloje ambiri amatha kuyesedwa mwanzeru pofunsa mafunso awiri okha. Vuto ndikupeza anthu omwe angawayankhe moyenera, kutenga nthawi kuti apeze mayankho popanda tsankho.

Ngati simukukumana ndi vuto lililonse, simukusowa chida chatsopano. Dothi.

Funso 1: Ndi mavuto ati omwe ndikuyesera kuthetsa?

Ngati simukukumana ndi vuto lililonse, simukusowa chida chatsopano. Dothi. Palibe chifukwa choyang'ana njira yothetsera vutoli ndiyeno kuyambitsa vuto. Pokhapokha mutakumana ndi vuto lomwe ukadaulo watsopano umathetsa bwino kwambiri kuposa ukadaulo wanu womwe ulipo, palibe chomwe mungakambirane apa. Ngati mukuganiza zogwiritsa ntchito lusoli chifukwa mwawonapo ena akugwiritsa ntchito, ganizirani mavuto omwe amakumana nawo ndipo funsani ngati muli ndi mavutowo. Ndikosavuta kuvomereza ukadaulo chifukwa ena akugwiritsa ntchito, vuto ndikumvetsetsa ngati mukukumana ndi mavuto omwewo.

Funso 2: Kodi ndikusowa chiyani?

Ili ndi funso lovuta kwambiri chifukwa muyenera kukumba ndikumvetsetsa bwino zaukadaulo wakale komanso watsopano. Nthawi zina simungamvetsetse zatsopano mpaka mutamangapo kanthu kapena kukhala ndi munthu wokumana nazo.

Ngati mulibe, ndiye kuti n'zomveka kuganizira osachepera zotheka ndalama kudziwa mtengo wa chida ichi. Ndipo mukapanga ndalama, zidzakhala zovuta bwanji kuti musinthe zomwe mwasankhazo?

Anthu nthawi zonse amawononga chilichonse

Pamene mukuyesera kuyankha mafunso amenewa mopanda tsankho, kumbukirani chinthu chimodzi: muyenera kulimbana ndi chikhalidwe chaumunthu. Pali zifukwa zingapo zomwe ziyenera kugonjetsedwa kuti teknoloji iwonetsedwe bwino. Nazi zochepa chabe:

  • Zotsatira za kujowina ambiri - aliyense amadziwa za iye, koma n'zovuta kulimbana naye. Ingoonetsetsani kuti teknoloji ikufanana ndi zosowa zanu zenizeni.
  • Zachilendo zotsatira - Madivelopa ambiri amakonda kupeputsa matekinoloje omwe agwira nawo ntchito kwa nthawi yayitali ndikuwonetsetsa mapindu aukadaulo watsopano. Sikuti opanga mapulogalamu okha, aliyense amatha kutengera malingaliro awa.
  • Zotsatira za makhalidwe abwino -Timakonda kuwona zomwe zili pamenepo ndikusiya zomwe zikusowa. Izi zitha kubweretsa chipwirikiti zikaphatikizidwa ndi zachilendo, chifukwa sikuti mumangowonjezera ukadaulo watsopano, komanso kunyalanyaza zophophonya zake..

Kuwunika kwa zolinga sikophweka, koma kumvetsetsa zomwe zili zokondera kudzakuthandizani kupanga zisankho zomveka.

Chidule

Nthawi zonse zikawoneka zatsopano, mafunso awiri ayenera kuyankhidwa mosamala kwambiri:

  • Kodi chidachi chimathetsa vuto lenileni?
  • Kodi timamvetsetsa bwino za kusinthanitsa?

Ngati simungathe kuyankha mafunso awiriwa molimba mtima, bwererani pang'ono ndikuganiza.

Ndiye kodi MongoDB inali chisankho choyenera? Inde inde; Mofanana ndi matekinoloje ambiri a uinjiniya, izi zimatengera zinthu zambiri. Pakati pa omwe adayankha mafunso awiriwa, ambiri apindula ndi MongoDB ndipo akupitiriza kutero. Kwa iwo omwe sanatero, ndikhulupilira kuti mwaphunzira phunziro lofunika komanso losapweteka kwambiri pakuyenda movutikira.

Chodzikanira

Ndikufuna kufotokozera kuti ndilibe chikondi kapena chidani ndi MongoDB. Sitinakhale ndi zovuta zamtundu uliwonse zomwe MongoDB ndiyoyenera kuthana nayo. Ndikudziwa kuti 10gen/MongoDB Inc. anali wolimba mtima kwambiri poyamba, kuyika zosakhazikika zosatetezeka ndikulimbikitsa MongoDB kulikonse (makamaka pa hackathons) ngati njira yothetsera ntchito ndi deta iliyonse. Mwina chinali chisankho choipa. Koma zimatsimikizira njira yomwe yafotokozedwa apa: mavutowa amatha kuzindikirika mofulumira kwambiri ngakhale ndi kuunika kozama kwa teknoloji.

Source: www.habr.com

Kuwonjezera ndemanga