Shin MongoDB gabaɗaya shine zaɓin da ya dace?

Kwanan nan na gano hakan Red Hat yana cire tallafin MongoDB daga Tauraron Dan Adam (sun ce saboda canjin lasisi). Wannan ya sa ni tunani saboda a cikin ƴan shekarun da suka gabata na ga tarin labarai game da yadda MongoDB yake da muni da kuma yadda babu wanda zai taɓa amfani da shi. Amma a wannan lokacin, MongoDB ya zama samfur mafi girma. Me ya faru? Shin duk ƙiyayya da gaske ne saboda kurakurai a farkon tallan sabon DBMS? Ko mutane suna amfani da MongoDB kawai a wuraren da ba daidai ba?

Idan kuna jin kamar ina kare MongoDB, da fatan za a karanta disclaimer a karshen labarin.

Sabon salo

Na yi aiki a cikin masana'antar software fiye da shekaru fiye da yadda zan iya cewa, amma har yanzu an fallasa ni ga wani ɗan ƙaramin yanki na abubuwan da suka shafi masana'antarmu. Na shaida tashin 4GL, AOP, Agile, SOA, Web 2.0, AJAX, Blockchain ... jerin ba su da iyaka. Kowace shekara sababbin abubuwa suna bayyana. Wasu suna shuɗewa da sauri, yayin da wasu ke canza hanyar haɓaka software.

Kowane sabon yanayi yana haifar da farin ciki gabaɗaya: mutane ko dai tsalle a kan jirgin, ko ganin hayaniyar wasu kuma suna bin taron. Gartner in ya tsara wannan tsari zagayowar zagayowar. Ko da yake yana da cece-kuce, wannan lokacin yana bayyana kusan abin da ke faruwa da fasahar kafin su zama masu amfani.

Amma daga lokaci zuwa lokaci wani sabon bidi'a yana bayyana (ko yana da zuwa na biyu, kamar yadda a cikin wannan yanayin) ta hanyar aiwatarwa guda ɗaya kawai. A cikin yanayin NoSQL, haɓakar haɓakar ya kasance mai ƙarfi ta hanyar fitowar da haɓakar meteoric na MongoDB. MongoDB bai fara wannan yanayin ba: a gaskiya ma, manyan kamfanonin Intanet sun fara samun matsala wajen sarrafa bayanai masu yawa, wanda ya haifar da dawowar bayanan da ba su da alaka da su. Gabaɗaya motsi ya fara da ayyuka kamar Bigtable na Google da Cassandra na Facebook, amma MongoDB ne ya zama sanannen sananne kuma mai sauƙin aiwatar da bayanan NoSQL wanda yawancin masu haɓakawa ke da damar yin amfani da su.

Lura: Kuna iya tunanin cewa ina rikitar bayanan bayanan daftarin aiki tare da bayanan bayanai na columnar, ma'ajin maɓalli/daraja, ko duk wasu nau'ikan shagunan bayanai da yawa waɗanda suka faɗi ƙarƙashin ma'anar NoSQL gabaɗaya. Kuma kun yi gaskiya. Amma a lokacin hargitsi ya yi ta faruwa. Kowa ya damu da NoSQL, ya zama kowa cikakken ya zama dole, kodayake mutane da yawa ba su ga bambance-bambance a cikin fasaha daban-daban ba. Ga mutane da yawa, MongoDB ya zama tare da NoSQL.

Kuma masu haɓakawa sun mamaye shi. Tunanin tsarin bayanan da ba shi da tsari wanda zai iya yin ma'aunin sihiri don magance kowace matsala yana da ban sha'awa sosai. Kusan 2014, da alama a ko'ina cewa shekara da ta gabata ta yi amfani da bayanan alaƙa kamar MySQL, Postgres ko SQL Server sun fara tura bayanan MongoDB. Lokacin da aka tambaye ku dalilin da ya sa, za ku iya samun amsa daga banal "wannan shine ma'auni na gidan yanar gizon" zuwa mafi zurfin tunani "bayanai na suna da tsari sosai kuma sun dace sosai a cikin bayanai ba tare da tsari ba."

Yana da mahimmanci a tuna cewa MongoDB, da kuma daftarin bayanai gabaɗaya, suna warware matsaloli da dama tare da bayanan alaƙa na gargajiya:

  • Matsakaicin tsari: Tare da bayanan da ke da alaƙa, idan kuna da bayanan da aka samar da ƙarfi, ana tilasta muku ko dai ƙirƙirar ginshiƙan “mabambanta” bazuwar ginshiƙan bayanai, kora ɓangarorin bayanai a ciki, ko amfani da daidaitawa. EAV...duk wannan yana da babban koma baya.
  • Wahalar ƙwanƙwasa: Idan akwai bayanai da yawa wanda bai dace da sabar ɗaya ba, MongoDB ya ba da hanyoyin da za su ba shi damar yin ƙima a cikin injuna da yawa.
  • Haɗaɗɗen gyare-gyaren kewayawa: babu ƙaura! A cikin bayanan da ke da alaƙa, canza tsarin bayanan na iya zama babbar matsala (musamman idan akwai bayanai da yawa). MongoDB ya sami damar sauƙaƙe aikin sosai. Kuma ya sa ya zama mai sauƙi don kawai za ku iya sabunta da'irar yayin da kuke tafiya kuma ku ci gaba da sauri.
  • Ayyukan rikodi: Ayyukan MongoDB yana da kyau, musamman idan an daidaita shi da kyau. Ko da tsarin MongoDB na waje, wanda galibi ana sukarsa, ya nuna wasu lambobi masu ban sha'awa.

Duk haɗari suna kanku

yuwuwar fa'idodin MongoDB sun kasance babba, musamman ga wasu nau'ikan matsaloli. Idan kun karanta jerin abubuwan da ke sama ba tare da fahimtar mahallin ba kuma ba tare da gogewa ba, kuna iya samun ra'ayi cewa MongoDB da gaske DBMS ne na juyin juya hali. Matsalar kawai ita ce fa'idodin da aka lissafa a sama sun zo tare da fa'idodi da yawa, wasu daga cikinsu an jera su a ƙasa.

Don yin gaskiya, babu kowa a 10gen/MongoDB Inc. ba zai ce wadannan ba gaskiya ba ne, wadannan sulhu ne kawai.

  • Ma'amaloli da suka ɓace: Ma'amaloli sune ainihin fasalin bayanai na alaƙa da yawa (ba duka ba, amma galibi). Ma'amala yana nufin cewa zaku iya aiwatar da ayyuka da yawa ta atomatik kuma kuna iya tabbatar da cewa bayanan sun tsaya daidai. Tabbas, tare da bayanan NoSQL, ma'amala na iya kasancewa cikin takaddar guda ɗaya, ko kuna iya amfani da alƙawarin mataki biyu don samun ilimin tarukan ciniki. Amma dole ne ka aiwatar da wannan aikin da kanka... wanda zai iya zama aiki mai wahala da ɗaukar lokaci. Sau da yawa ba za ku gane akwai matsala ba har sai kun ga bayanan da ke cikin ma'ajin bayanai sun ƙare a cikin jahohin da ba su da inganci saboda ba za a iya tabbatar da atomity na ayyuka ba. Lura: Mutane da yawa sun gaya mani cewa MongoDB 4.0 ya gabatar da ma'amaloli a bara, amma tare da wasu iyakoki. Takeaway daga labarin ya kasance iri ɗaya: kimanta yadda fasahar ta dace da bukatun ku.
  • Asarar mutuncin alaƙa (maɓallan ƙasashen waje): Idan bayanan ku suna da alaƙa, to dole ne ku yi amfani da su a cikin aikace-aikacen. Samun rumbun adana bayanai wanda ke mutunta waɗannan alaƙa zai ɗauke aiki da yawa daga aikace-aikacen don haka masu shirye-shiryen ku.
  • Rashin ikon yin amfani da tsarin bayanaiMatsakaicin tsare-tsare na iya zama wani lokaci babban matsala, amma kuma suna da ƙarfi don tsara bayanai masu kyau idan aka yi amfani da su cikin hikima. Rubutun bayanai kamar MongoDB yana ba da sassaucin tsari mai ban mamaki, amma wannan sassauci yana cire alhakin kiyaye bayanan. Idan ba ku kula da su ba, za ku ƙarasa rubuta lamba da yawa a cikin aikace-aikacen ku don lissafin bayanan da ba a adana su a cikin fom ɗin da kuke tsammani ba. Kamar yadda muka saba fada a kamfaninmu Simple Thread... aikace-aikacen wata rana za a sake rubutawa, amma bayanan za su rayu har abada. Lura: MongoDB yana goyan bayan duba tsari: yana da amfani, amma baya bayar da garanti iri ɗaya kamar a cikin bayanan alaƙa. Da farko dai, ƙara ko canza rajistan tsari baya shafar bayanan da ke cikin tarin. Ya rage naku don tabbatar da cewa kun sabunta bayanai bisa ga sabon tsari. Yanke shawara da kanku ko wannan ya ishe ku don bukatun ku.
  • Harshen tambaya na asali / asarar muhallin kayan aiki: Zuwan SQL cikakken juyin juya hali ne kuma babu abin da ya canza tun daga lokacin. Harshe ne mai matuƙar ƙarfi, amma kuma mai rikitarwa. Bukatar gina bayanan bayanai a cikin sabon harshe wanda ya ƙunshi guntun JSON ana ɗaukarsa a matsayin babban mataki na baya ta mutanen da ke da gogewar aiki tare da SQL. Akwai duka sararin samaniya na kayan aikin da ke hulɗa tare da bayanan SQL, daga IDE zuwa kayan aikin ba da rahoto. Matsar da bayanan da ba su goyan bayan SQL yana nufin ba za ku iya amfani da yawancin waɗannan kayan aikin ba ko kuma dole ne ku fassara bayanan zuwa SQL don amfani da su, wanda zai iya zama da wahala fiye da yadda kuke zato.

Yawancin masu haɓakawa waɗanda suka juya zuwa MongoDB ba su fahimci ciniki da gaske ba, kuma galibi suna nutsewa da farko cikin shigar da shi azaman babban kantin sayar da bayanai. Bayan wannan sau da yawa yana da wuyar dawowa.

Me za a iya yi dabam?

Ba kowa ya yi tsalle ya bugi kasa ba. Amma ayyuka da yawa sun shigar da MongoDB a wuraren da kawai bai dace ba - kuma za su zauna tare da shi shekaru da yawa masu zuwa. Idan waɗannan ƙungiyoyin sun ɗauki ɗan lokaci kuma sun yi tunani cikin tsari ta zaɓin fasaharsu, da yawa sun yi zaɓi daban-daban.

Yadda za a zabi fasaha mai kyau? An yi yunƙuri da yawa don ƙirƙirar tsarin ƙima na fasaha, kamar "Tsarin gabatar da fasaha a cikin ƙungiyoyin software" и "Tsarin tantance fasahar software", amma ga alama a gare ni cewa wannan abu ne mai wuyar gaske.

Ana iya tantance fasahohi da yawa cikin basira ta hanyar yin tambayoyi na asali guda biyu kawai. Matsalar ita ce samun mutanen da za su iya ba su amsa cikin gaskiya, ba da lokaci don nemo amsoshin ba tare da son zuciya ba.

Idan ba ku fuskantar kowace matsala, ba kwa buƙatar sabon kayan aiki. Dot.

Tambaya 1: Wadanne matsaloli nake ƙoƙarin warwarewa?

Idan ba ku fuskantar kowace matsala, ba kwa buƙatar sabon kayan aiki. Dot. Babu bukatar neman mafita sannan a kirkiro wata matsala. Sai dai idan kun ci karo da matsalar da sabuwar fasahar ke warwarewa fiye da fasahar da kuke da ita, babu abin da za ku tattauna anan. Idan kuna tunanin yin amfani da wannan fasaha saboda kun ga wasu suna amfani da ita, kuyi tunanin irin matsalolin da suke fuskanta kuma ku tambayi ko kuna da waɗannan matsalolin. Yana da sauƙin karɓar fasaha saboda wasu suna amfani da ita, ƙalubalen shine fahimtar ko kuna fuskantar matsaloli iri ɗaya.

Tambaya ta 2: Me na rasa?

Wannan tabbas tambaya ce mafi wahala saboda dole ne ku yi tono kuma ku sami kyakkyawar fahimtar duka tsohuwar da sabuwar fasaha. Wani lokaci ba za ku iya fahimtar sabon ba da gaske har sai kun gina wani abu da shi ko kuma ku sami wanda ke da wannan ƙwarewar.

Idan ba ku da, to yana da ma'ana don yin tunani game da ƙaramin yuwuwar saka hannun jari don tantance ƙimar wannan kayan aikin. Kuma da zarar kun saka hannun jari, yaya zai yi wahala a soke shawarar?

Kullum mutane suna lalata komai

Yayin da kuke ƙoƙarin amsa waɗannan tambayoyin ba tare da nuna son kai ba kamar yadda zai yiwu, ku tuna abu ɗaya: dole ne ku yi yaƙi da yanayin ɗan adam. Akwai ƙididdiga masu yawa waɗanda dole ne a shawo kan su don kimanta fasaha yadda ya kamata. Ga kadan:

  • Tasirin shiga mafi rinjaye - kowa ya san game da shi, amma har yanzu yana da wuya a yi yaƙi da shi. Kawai tabbatar cewa fasahar ta dace da ainihin bukatun ku.
  • Tasirin sabon abu - Yawancin masu haɓakawa sukan raina fasahohin da suka yi aiki da su na dogon lokaci kuma suna kimanta fa'idodin sabuwar fasaha. Ba masu shirye-shirye bane kawai, kowa yana da saukin kamuwa da wannan son zuciya.
  • Tasirin halaye masu kyau - Muna yawan ganin abin da ke can kuma mu rasa ganin abin da ya ɓace. Wannan na iya haifar da hargitsi lokacin da aka haɗa shi tare da sabon sakamako, saboda ba wai kawai ka ƙirƙiri sabon fasaha ba, amma har ma da watsi da gazawarta..

Ƙididdigar manufa ba abu ne mai sauƙi ba, amma fahimtar abubuwan da ke cikin fahimi zai taimake ka ka yanke shawara mai ma'ana.

Takaitaccen

A duk lokacin da wani sabon abu ya bayyana, dole ne a amsa tambayoyi biyu cikin kulawa sosai:

  • Shin wannan kayan aikin yana magance matsala ta gaske?
  • Shin mun fahimci cinikin da kyau?

Idan ba za ku iya ba da tabbaci ga waɗannan tambayoyin biyu ba, ɗauki ƴan matakai baya kuma kuyi tunani.

Don haka ko MongoDB ma zaɓi ne da ya dace? Tabbas a; Kamar yadda yake da yawancin fasahar injiniya, wannan ya dogara da abubuwa da yawa. Daga cikin waɗanda suka amsa waɗannan tambayoyin biyu, da yawa sun amfana daga MongoDB kuma suna ci gaba da yin hakan. Ga wadanda ba su yi ba, ina fatan kun koyi darasi mai mahimmanci kuma ba mai raɗaɗi ba game da motsi ta hanyar zagayowar haɓakawa.

Disclaimer

Ina so in fayyace cewa ba ni da soyayya ko ƙiyayya da MongoDB. Ba mu sami irin matsalolin da MongoDB ya fi dacewa don magance su ba. Na san cewa 10gen/MongoDB Inc. ya kasance mai ƙarfin hali sosai da farko, yana saita ƙarancin tsaro da haɓaka MongoDB a ko'ina (musamman a hackathons) azaman mafita na duniya don aiki tare da kowane bayanai. Wataƙila yanke shawara mara kyau ce. Amma yana tabbatar da tsarin da aka kwatanta a nan: waɗannan matsalolin za a iya gano su da sauri ko da tare da ƙima na fasaha.

source: www.habr.com

Add a comment