Fhuair mi a-mach sin o chionn ghoirid (can, mar thoradh air atharrachaidhean ceadachais). Thug e orm smaoineachadh anns na beagan bhliadhnaichean a dhâ fhalbh gu bheil mi air dòrlach de artaigilean fhaicinn mu cho uamhasach sa tha MongoDB agus nach bu chòir do dhuine sam bith a chleachdadh a-riamh. Ach rè na h-Ăšine seo, tha MongoDB air fĂ s gu bhith na thoradh tòrr nas aibidh. Dè a thachair? A bheil a h-uile fuath dha-rĂŹribh mar thoradh air mearachdan aig toiseach margaidheachd an DBMS Ăšr? No a bheil daoine dĂŹreach aâ cleachdadh MongoDB san Ă ite cheĂ rr?
Ma tha thu gu h-obann aâ faireachdainn gu bheil mi aâ dĂŹon MongoDB, feuch an leugh thu aig deireadh an artaigil.
Gluasad Ăšr
Tha mi air a bhith ann an gnĂŹomhachas bathar-bog airson barrachd bhliadhnaichean na tha e cothromach a rĂ dh, ach fhathast cha robh mi ach mar phĂ irt de na gluasadan a bhuail ar gnĂŹomhachas. Tha mi air Ă rdachadh fhaicinn de 4GL, AOP, Agile, SOA, Web 2.0, AJAX, blockchain⌠tha an liosta gun chrĂŹoch. Gach bliadhna tha gluasadan Ăšra ann. Tha cuid aâ seargadh gu luath, agus cuid eile ag atharrachadh gu bunaiteach mar a thèid bathar-bog a leasachadh.
Timcheall air gach gluasad Ăšr, thathas aâ cruthachadh toileachas coitcheann sònraichte: bidh daoine an dĂ rna cuid aâ leum a-steach don bhĂ ta iad fhèin, no aâ faicinn am fuaim a thig bho chĂ ch - agus aâ leantainn an t-sluaigh. Chaidh am pròiseas seo a chòdachadh le Gartner a-steach . Ged a tha deasbad ann, tha an graf seo aâ toirt cunntas garbh air na thachras do theicneòlasan mus bi iad feumail airson an cleachdadh aig aâ cheann thall.
Ach bho à m gu à m tha (no tha dà rna tighinn, mar a tha sa chÚis seo) Úr-ghnà thachadh Úr, air a stiÚireadh le dÏreach aon bhuileachadh sònraichte. A thaobh NoSQL, bha an hype air a stiÚireadh gu mòr le teachd agus à rdachadh meteoric MongoDB. Cha do thòisich MongoDB an gluasad seo: gu dearbh, thòisich companaidhean mòra eadar-lÏn a 'faighinn duilgheadasan le bhith a' giullachd mòran dà ta, a thug air ais stòran-dà ta neo-dà imheach. Thòisich an gluasad coitcheann le pròiseactan leithid Google's Bigtable agus Facebook's Cassandra, ach b 'e MongoDB a thà inig gu bhith na bhuileachadh as ainmeil agus as ruigsinneach de stòr-dà ta NoSQL a bha cothrom aig a' mhòr-chuid de luchd-leasachaidh.
Nota: Is dòcha gu bheil thu aâ smaoineachadh gu bheil mi aâ cuir troimh-chèile stòran-dĂ ta sgrĂŹobhainnean le stòran-dĂ ta colbh, stòran prĂŹomh / luach, no gin den iomadh seòrsa stòr dĂ ta eile a tha fon mhĂŹneachadh coitcheann air NoSQL. Agus tha thu ceart. Ach aig an Ă m, bha caos aâ riaghladh. Tha a h-uile duine trom le NoSQL, tha e air a thighinn gu bhith na h-uile gu tur riatanach, ged nach robh mòran a 'faicinn nan eadar-dhealachaidhean ann an diofar theicneòlasan. Dha mòran, tha MongoDB air fĂ s ciallach le NoSQL.
Agus leum an luchd-leasachaidh air. Bha am beachd air stòr-dĂ ta gun sgeama a bhios aâ sgèileadh gu draoidheil gus fuasgladh fhaighinn air duilgheadas sam bith gu math tarraingeach. Timcheall air 2014, bha e coltach gun deach stòr-dĂ ta dĂ imh leithid MySQL, Postgres no SQL Server a chleachdadh bliadhna air ais, bha stòran-dĂ ta MongoDB gan cleachdadh. Nuair a thèid faighneachd dhut carson, gheibheadh ââââtu freagairtean bhon banal âis e seo sgèile an lĂŹnâ chun an fheadhainn a tha nas smaoineachail âtha an dĂ ta agam le structar gu math sgaoilte agus aâ freagairt gu math ann an stòr-dĂ ta gun sgeama. â
Tha e cudromach cuimhneachadh gu bheil MongoDB, agus stòran-dĂ ta sgrĂŹobhainnean san fharsaingeachd, aâ fuasgladh grunn dhuilgheadasan le stòran-dĂ ta traidiseanta:
- Sgeama teann: le stòr-dĂ ta dĂ imh, ma tha thu air dĂ ta a chruthachadh gu dinamach, feumaidh tu an dĂ rna cuid dòrlach de cholbhan dĂ ta âeadar-dhealaichteâ a chruthachadh, putadh bloban dĂ ta a-steach an sin, no rèiteachadh a chleachdadh ... tha eas-bhuannachdan mòra aig seo uile.
- Duilgheadas le sgèileadh: Ma tha uimhir de dhĂ ta ann nach eil e aâ freagairt air aon fhrithealaiche, thairg MongoDB uidheamachdan gus leigeil leis sgèileadh thairis air iomadh inneal.
- Mion-atharrachaidhean cuairteachaidh iom-fhillte: gun imrich! Ann an stòr-dà ta dà imh, faodaidh atharrachadh structar an stòr-dà ta a bhith na dhuilgheadas mòr (gu sònraichte nuair a tha tòrr dà ta ann). Tha MongoDB air a bhith comasach air am pròiseas a dhèanamh nas sÏmplidhe. Agus rinn e cho furasta is gun urrainn dhut dÏreach an sgeama Úrachadh nuair a thig thu agus gluasad air adhart gu math luath.
- SgrĂŹobh coileanadh: Bha coileanadh MongoDB math, gu sònraichte nuair a bha e ceart. Sheall eadhon an rèiteachadh taobh a-muigh aâ bhogsa de MongoDB, airson an deach a chĂ ineadh gu tric, figearan coileanaidh drĂšidhteach.
Tha na cunnartan uile ort
Bha na buannachdan a dhâ fhaodadh a bhith aig MongoDB fĂŹor mhòr, gu sònraichte airson cuid de chlasaichean de dhuilgheadasan. Ma leugh thu an liosta gu h-Ă rd gun a bhith a 'tuigsinn a' cho-theacsa agus gun eòlas sam bith agad, is dòcha gum faigh thu a 'bheachd gur e DBMS rèabhlaideach a th' ann am MongoDB. Bâ e an aon dhuilgheadas gun tĂ inig na buannachdan a tha air an liostadh gu h-Ă rd le grunn uaimhean, cuid dhiubh air an liostadh gu h-ĂŹosal.
Gus a bhith cothromach, chan eil duine aig 10gen/MongoDB Inc. chan abair nach eil na leanas fÏor, chan eil annta seo ach co-rèiteachadh.
- A 'call gnothaicheanF: Tha gnothaichean nam prĂŹomh fheart ann an iomadh stòr-dĂ ta co-cheangailte (chan eil iad uile, ach aâ mhòr-chuid). Tha malairt aâ ciallachadh gun urrainn dhut iomadh gnĂŹomh a dhèanamh gu atamach agus gun urrainn dhut dèanamh cinnteach gum fuirich an dĂ ta cunbhalach. Gu dearbh, le stòr-dĂ ta NoSQL, faodaidh gnĂŹomhachd a bhith taobh a-staigh aon sgrĂŹobhainn, no faodaidh tu geallaidhean dĂ -ĂŹre a chleachdadh gus semantics gnĂŹomhachd fhaighinn. Ach feumaidh tu an gnĂŹomh seo a chuir an gnĂŹomh thu fhèin ... a dhâ fhaodadh a bhith na obair dhoirbh agus Ăšineail. Gu tric cha tuig thu an duilgheadas gus am faic thu gu bheil an dĂ ta san stòr-dĂ ta aâ dol a-steach do stĂ itean neo-dhligheach leis gu bheil e do-dhèanta a bhith cinnteach Ă atomachd nan gnĂŹomhan. Nota: Tha mòran air innse dhomh gun deach gnothaichean a thoirt a-steach ann am MongoDB 4.0 an-uiridh, ach le cuid de chuingealachaidhean. Tha co-dhĂšnadh an artaigil fhathast mar a tha e: dèan measadh air mar a tha an teicneòlas aâ freagairt air na feumalachdan agad.
- Call ionracas dĂ imh (iuchraichean cèin): ma tha dĂ imhean aig an dĂ ta agad, feumaidh tu an cur an sĂ s san tagradh. Le bhith aâ faighinn stòr-dĂ ta a bheir spèis do na dĂ imhean sin bheir e tòrr obrach far an tagradh agus mar sin air do phrògramadairean.
- Neo-chomas structar dĂ ta a chuir an sĂ s: Uaireannan faodaidh sgeamaichean teann a bhith na dhuilgheadas mòr, ach tha iad cuideachd nan inneal cumhachdach airson deagh structar dĂ ta ma thèid an cleachdadh gu ciallach. Tha stòran-dĂ ta sgrĂŹobhainnean mar MongoDB aâ toirt seachad sĂšbailteachd sgeama iongantach, ach tha an sĂšbailteachd sin aâ toirt air falbh uallach an dĂ ta a chumail glan. Mura toir thu aire dhaibh, bidh thu mu dheireadh aâ sgrĂŹobhadh tòrr chòd san tagradh agad gus cunntas a thoirt air dĂ ta nach eil air a stòradh san fhoirm ris a bheil dĂšil agad. Mar a chanas iad gu tric anns aâ chompanaidh againn Simple Thread⌠thèid an tagradh ath-sgrĂŹobhadh uaireigin, ach bidh an dĂ ta beò gu brĂ th. Nota: Tha MongoDB aâ toirt taic do dhearbhadh sgeamaichean, a tha feumail ach nach eil aâ toirt seachad na h-aon gheallaidhean ri stòr-dĂ ta dĂ imh. An toiseach, chan eil cur ris no atharrachadh dearbhadh sgeama aâ toirt buaidh air an dĂ ta a tha sa chruinneachadh mu thrĂ th. Feumaidh tu dèanamh cinnteach gun Ăšraich thu an dĂ ta a rèir an sgeama Ăšr. Dèan co-dhĂšnadh dhut fhèin a bheil seo gu leòr airson na feumalachdan agad.
- CĂ nan ceiste fhèin / call eag-shiostam innealan: bha teachd SQL na fhĂŹor tionndadh, agus chan eil dad air atharrachadh bhon uairsin. 'S e cĂ nan air leth cumhachdach a th' ann, ach cuideachd gu math toinnte. Tha an fheum air ceistean stòr-dĂ ta a thogail ann an cĂ nan Ăšr, anns a bheil pĂŹosan JSON, air fhaicinn mar cheum mòr air ais le daoine aig a bheil eòlas air SQL. Tha cruinne-cruinne de dhâ innealan ann a bhios ag eadar-obrachadh le stòran-dĂ ta SQL, bho IDEs gu innealan aithris. Le bhith aâ gluasad gu stòr-dĂ ta nach eil aâ toirt taic do SQL tha sin aâ ciallachadh nach urrainn dhut aâ mhòr-chuid de na h-innealan sin a chleachdadh, no feumaidh tu an dĂ ta a thionndadh gu SQL gus an cleachdadh, rud a dhâ fhaodadh a bhith nas duilghe na tha thu aâ smaoineachadh.
Cha robh mòran de luchd-leasachaidh a thionndaidh gu MongoDB dha-rĂŹribh aâ tuigsinn na malairtidhean, agus gu tric bhiodh iad aâ dĂ ibheadh ââââan toiseach gus a stèidheachadh mar am prĂŹomh stòr dĂ ta aca. Ăs deidh sin, gu tric bha e uamhasach duilich a dhol air ais.
Dè dhâ fhaodadh a bhith air a dhèanamh ann an dòigh eadar-dhealaichte?
Cha do leum a h-uile duine an ceann an toiseach agus bhuail iad a-steach don bhonn. Ach tha grunn phròiseactan air bunait MongoDB a chuir a-steach far nach robh e iomchaidh - agus feumaidh iad a bhith beò leis airson grunn bhliadhnaichean eile. Nam biodh na buidhnean sin air beagan Úine a ghabhail gus beachdachadh gu rianail air na roghainnean teicneòlais aca, bhiodh mòran air roghainn eadar-dhealaichte a dhèanamh.
Ciamar a roghnaicheas tu an teicneòlas ceart? Chaidh grunn oidhirpean a dhèanamh gus frèam rianail a chruthachadh airson measadh teicneòlais, leithid и , ach tha e coltach riumsa gur e iom-fhillteachd neo-riatanach a tha seo.
Faodar luach a chuir air mòran theicneòlasan le bhith aâ faighneachd dĂŹreach dĂ cheist bhunaiteach. Tha an duilgheadas ann a bhith aâ lorg dhaoine as urrainn am freagairt gu ciallach, aâ gabhail Ăšine airson freagairtean a lorg agus gun chlaonadh.
Mura h-eil duilgheadas agad, chan fheum thu inneal Ăšr. Dot.
Ceist 1: Dè na duilgheadasan a tha mi aâ feuchainn ri fuasgladh?
Mura h-eil duilgheadas agad, chan fheum thu inneal Ăšr. Dot. Chan eil feum a bhith a 'coimhead airson fuasgladh agus an uair sin a' tighinn suas le duilgheadas. Mura h-eil duilgheadas agad nach bi an teicneòlas Ăšr aâ fuasgladh mòran nas fheĂ rr na an teicneòlas a thâ agad mu thrĂ th, chan eil dad ri dheasbad an seo. Ma tha thu aâ beachdachadh air an teicneòlas seo a chleachdadh leis gu bheil thu air daoine eile fhaicinn ga chleachdadh, smaoinich air na duilgheadasan a thâ aca agus faighnich a bheil na duilgheadasan sin agad. Tha e furasta gabhail ri teicneòlas oir tha cuid eile ga chleachdadh, is e an duilgheadas fios a bhith agad a bheil na h-aon chĂšisean agad.
Ceist 2: Dè tha mi a dhÏth?
Tha seo gu cinnteach na cheist nas duilghe, oir feumaidh tu an dà chuid an t-seann agus an teicneòlas Úr a chladhach agus a thuigsinn gu math. Aig amannan chan urrainn dhut fear Úr a thuigsinn gus am bi thu air rudeigin a thogail leis no gus am bi co-obraiche agad leis an eòlas sin.
Mura h-eil an dĂ rna cuid agad, tha e ciallach smaoineachadh air an ĂŹre as lugha de thasgadh gus luach an ionnstramaid seo a dhearbhadh. Agus ma nĂŹ thu tasgadh, dè cho duilich âs a bhios e an co-dhĂšnadh a thionndadh air ais?
Bidh daoine an-còmhnaidh aâ sgrios a h-uile cĂ il
Ann a bhith a 'feuchainn ris na ceistean sin a fhreagairt cho neo-chlaon' sa ghabhas, cuimhnich air aon rud: feumaidh tu a bhith a 'sabaid ri nà dar daonna. Tha grunn chlaonaidhean inntinneil ann ris am feumar faighinn seachad air gus teicneòlas a mheasadh gu h-èifeachdach. Seo dÏreach beagan:
- Tha fios aig a h-uile duine mu dheidhinn, ach tha e fhathast doirbh a bhith a 'sabaid ris. DĂŹreach dèan cinnteach gu bheil an teicneòlas dha-rĂŹribh aâ freagairt air na fĂŹor fheumalachdan agad.
- Tha mòran de luchd-leasachaidh buailteach a bhith aâ dèanamh dĂŹ-meas air na teicneòlasan leis a bheil iad air a bhith ag obair o chionn fhada agus aâ dèanamh cus tuairmse air buannachdan teicneòlas Ăšr. Chan e a-mhĂ in luchd-prògramaidh, tha a h-uile duine fo Ăšmhlachd aâ chlaonadh inntinneil seo.
- Tha sinn buailteach a bhith a 'faicinn dè a th' ann agus a 'call sealladh air dè nach eil. Faodaidh seo leantainn gu mĂŹ-riaghailt, còmhla ris aâ bhuaidh Ăšr-nodha, leis gu bheil thu chan ann a-mhĂ in aâ faighinn cus luach air an teicneòlas Ăšr, ach cuideachd aâ seachnadh nan easbhaidhean aige..
Chan eil e furasta measadh amas, ach cuidichidh tuigse air na claonaidhean inntinneil bunaiteach thu gus co-dhÚnaidhean nas reusanta a dhèanamh.
GeĂ rr-chunntas
Nuair a nochdas Ăšr-ghnĂ thachadh, feumar dĂ cheist a fhreagairt le cĂšram:
- A bheil an inneal seo aâ fuasgladh fĂŹor dhuilgheadas?
- A bheil sinn math air tuigse fhaighinn air malairtidhean?
Mura h-urrainn dhut an dĂ cheist seo a fhreagairt le misneachd, gabh beagan cheumannan air ais agus smaoinich.
Mar sin an e la MongoDB an roghainn cheart san fharsaingeachd? Gu dearbh tha; mar a tha sa mhòr-chuid de theicneòlasan innleadaireachd, tha e an urra ri mòran fhactaran. Am measg an fheadhainn a fhreagair an dĂ cheist seo, tha mòran air buannachd fhaighinn bho MongoDB agus a 'leantainn orra a' dèanamh sin. Dhaibhsan agaibhse nach do rinn, tha mi an dòchas gu bheil sibh air leasan luachmhor agus nach eil ro dhona ionnsachadh mu bhith aâ gluasad tron ââchearcall hype.
Ăicheadh
Tha mi airson soilleireachadh nach eil gaol no grĂ in agam air MongoDB. Cha robh dĂŹreach an seòrsa dhuilgheadasan againn a tha MongoDB as freagarraiche airson fuasgladh. Tha fios agam air 10gen/MongoDB Inc. gnĂŹomh gu dĂ na an toiseach, aâ suidheachadh easbhaidhean mĂŹ-chinnteach agus aâ brosnachadh MongoDB anns a h-uile Ă ite (gu sònraichte aig hackathons) mar fhuasgladh aon-stad airson obrachadh le dĂ ta sam bith. Is dòcha gur e droch cho-dhĂšnadh a bhâ ann. Ach tha e a 'dearbhadh an dòigh-obrach a tha air a mhĂŹneachadh an seo: dh' fhaodadh na duilgheadasan sin a bhith air an lorg gu math luath eadhon le measadh air an teicneòlas.
Source: www.habr.com
