JavaRush /Java Blog /Random-TK /Döredijiler üçin NoSQL üçin gollanma

Döredijiler üçin NoSQL üçin gollanma

Toparda çap edildi
Yzky ösüş we Uly Maglumat tendensiýalaryny yzarlaýan bolsaňyz, soňky ýyllarda NoSQL maglumat bazalarynyň töweregindäki sesleri eýýäm gören bolsaňyz gerek. Käbir adamlar maglumatlar bazasyna bu çemeleşmeden ylham alýarlar, beýlekiler munuň içinde haýsydyr bir hiläniň bardygyny pikir edýärler: içindäki maglumatlar modelleri adaty baglanyşyk bazalaryndaky ýaly däl, amaly programma interfeýsleri adaty däl we programmalar köplenç düşnüksiz. NoSQL dörediji gollanma - 1Bu makalada näme üçin ilki bilen döredilendiklerini, bu NoSQL maglumat bazalaryny, haýsy meseleleri çözýändigini we birden köp dürli maglumat bazasynyň näme üçin zerurdygyny aýdyp bereýin. NoSQL üçin täze bolsaňyz, bu ugurdan has gowy düşünmek üçin ilki bilen öwrenmäge mynasyp diýip hasaplaýan NoSQL maglumat bazasynyň görnüşlerini görkezýän makalanyň soňky bölümi bilen gyzyklanyp bilersiňiz.

Näme üçin birden täze maglumat bazasy gerek?

Soramaga geň galyp bilersiňiz: baglanyşyk bazalarynda näme ýalňyşlyk bar? Esasy zat, köp ýyllap hakykatdanam gowy işlediler, ýöne indi çözüp bilmejek bir mesele bar. Käbir çaklamalara görä, 2018-nji ýylda adamzat sekuntda 50,000 gigabaýt maglumat öndürer. Bu gaty köp maglumat! Saklamak we işlemek çynlakaý in engineeringenerçilik kynçylygy döredýär. Iň erbet tarapy, bu göwrümiň yzygiderli ösmegi. Görnüşi ýaly, baglanyşyk bazalary hakykatdanam uly göwrümli maglumatlar bilen işlemek üçin ýaramly däl. Olar bir enjamda işlemek üçin niýetlenendir we has köp haýyş bilen işlemek isleseňiz, ýeke-täk mümkinçilik has köp RAM we has güýçli prosessorly kompýuter satyn almakdyr. Gynansagam, bir maşynyň dolandyryp biljek talaplarynyň sany çäklidir we köp maşynlarda paýlanan iş üçin başga maglumatlar bazasy tehnologiýasy gerek. Elbetde, käbir okyjylar bu pursatda jedelleşerler we baglanyşyk bazasy bolan ýagdaýynda köp enjamy ulanmagyň iki giňden ulanylýan usulynyň bardygyny aýdýarlar: köpeltmek we saklamak. Bu dogry, ýöne bu usullar biziň wezipelerimizi ýerine ýetirmek üçin ýeterlik däl. Okaň köpeltmek, her bir maglumat bazasynyň täzelenmegi diňe okamak isleglerini ýerine ýetirip bilýän beýleki maşynlara ýaýradylýan usuldyr. Bu ýagdaýda ähli üýtgeşmeler baş düwün diýilýän bir serwer tarapyndan ýerine ýetirilýär, beýleki serwerler bolsa okalýan nusgalar diýlip atlandyrylýar, diňe maglumatlaryň nusgalaryny saklaýar. Ulanyjy islendik enjamdan okap biler, ýöne maglumatlary diňe esasy düwün arkaly üýtgedip biler. Bu amatly we örän meşhur usul, ýöne size has köp okalýan haýyşlary gaýtadan işlemäge mümkinçilik berýär we zerur göwrümli maglumatlary gaýtadan işlemek meselesini hiç hili çözüp bilmeýär.
NoSQL dörediji gollanma - 2
Suratda:
Leaderolbaşçy (okaň we ýazyň): Öňdebaryjy düwün (okaýar we ýazýar)
Okalýan göçürmeler (diňe okalýar): Göçürmeleri okaň (diňe okalýar)
Paýlaşmak, baglanyşyk bazasynyň köp mysallaryny ulanýan başga bir meşhur çemeleşme. Olaryň her biri maglumatlaryň bir bölegi üçin ýazmak we okamak bilen meşgullanýar. Maglumatlar bazasy müşderiler hakda maglumatlary saklaýan bolsa, meselem, saklaýyş usulyny ulanyp, bir maşyn atlary A bilen başlaýan müşderiler üçin ähli islegleri ýerine ýetirip biler, başga bir enjam atlary B bilen başlaýan müşderiler üçin ähli maglumatlary saklap biler we ş.m.
NoSQL dörediji gollanma - 3
Suratda:
Köp ussat (maglumatlaryň bir bölegini okaň we ýazyň): Birnäçe esasy düwünler (maglumatlaryň böleklerini okamak we ýazmak)
Gorag has köp maglumatlary ýazga geçirmäge mümkinçilik berýän bolsa-da, şeýle maglumat bazasyny dolandyrmak hakyky düýş görmeýär: maglumatlary maşynlaryň arasynda deňleşdirmeli we zerur bolanda klasteriň iki ugruna ölçemeli. Teoriýa taýdan ýönekeý görünse-de, ony dogry kesgitlemek gaty kyn.

Baglanyşyk maglumat bazalaryny gowulandyryp bolarmy?

Baglanyşyk maglumatlar bazalarynyň häzirki zaman dünýäsinde döredilen maglumatlaryň göwrümi üçin iň amatly däldigine eýýäm ynanýarsyňyz öýdýärin. Şeýle-de bolsa, näme üçin henizem hiç kimiň birnäçe enjamda netijeli işläp bilýän "has gowy" baglanyşyk bazasyny döretmändigi bilen gyzyklanyp bilersiňiz. Bu tehnologiýa entek işlenmedik ýaly bolup, paýlanan baglanyşyk bazalary ýakyn wagtda peýda bolar. Haýp, beýle bolmaz. Bu matematiki taýdan mümkin däl we bu barada hiç zat edip bolmaz. Munuň näme üçin beýle bolýandygyna düşünmek üçin CAP teoremasyna (aka Breweriň teoremasy) seretmeli. 1999-njy ýylda subut edildi we birnäçe enjamda işleýän paýlanan maglumatlar binýadynyň aşakdaky üç häsiýetine eýe bolup biljekdigi aýdylýar: Dowamlylyk - islendik okalýan amal soňky degişli ýazuw işiniň netijelerini görkezýär. Ulgam yzygiderli bolsa, täze maglumatlary ýazandan soň, köne, eýýäm ýazylan maglumatlary okamak mümkin däl. Elýeterlilik ( elýeterli ) - paýlanan ulgam gelýän haýyşa islän wagtyňyz hyzmat edip biler we ýalňyşsyz jogap gaýtaryp biler. Bölüme çydamlylyk - maglumatlar bazasy, käbir serwerleri wagtlaýynça biri-biri bilen aragatnaşyk gurup bilmese-de, okamak we ýazmak haýyşlaryna jogap bermegi dowam etdirýär. Bu wagtlaýyn şowsuzlyga tor birikmesiniň näsazlygy diýilýär we dürli serwerlerden, serweriň haýal bolmagy sebäpli tor enjamlaryna fiziki zeper ýetmeginden başlap, dürli faktorlar sebäpli bolup biler. Bu häsiýetleriň hemmesi elbetde amatly we bularyň hemmesini birleşdirmek üçin maglumatlar bazasyny isleýäris. Hiç bir akylly dörediji hiç zat almazdan elýeterlilikden ýüz öwürmek islemeýär. Gynansagam, CAP teoremasy üç häsiýetiň bir wagtda saklanmagynyň mümkin däldigini aýdýar. Muňa düşünmek aňsat bolman biler, ýöne mümkin. Ilki bilen paýlanan maglumatlar binýady gerek bolsa, “birikmä çydamly” bolmaly. Bu hatda ara alnyp maslahatlaşylmaýar. Aragatnaşyklar hemişe bolup geçýär we muňa garamazdan maglumatlar bazamyz işlemeli. Indi näme üçin yzygiderliligi we elýeterliligi gazanyp bilmeýändigimize düşüneliň. Iki maşynda işleýän ýönekeý maglumat bazamyzyň bardygyny göz öňüne getiriň: A we B. Islendik ulanyjy haýsydyr bir enjama ýazyp biler, şondan soň maglumatlar beýlekisine göçüriler.
NoSQL dörediji gollanma - 4
Indi bu maşynlaryň wagtlaýyn biri-biri bilen aragatnaşyk gurup bilmeýändigini, B enjamynyň bolsa A enjamyndan maglumat iberip ýa-da maglumat alyp bilmeýändigini göz öňüne getiriň. Bu döwürde B maşyn müşderiden okamak haýyşyny alsa, onda iki wariant bar:
  1. Iň täze bolmasa-da, ýerli maglumatlaryňyzy yzyna alyň. Bu ýagdaýda elýeterlilige artykmaçlyk berilýär (iň bolmanda käbir maglumatlary, hatda köne maglumatlary yzyna gaýtarmak).
  2. Yzyna ýalňyşlyk Bu ýagdaýda yzygiderlilik ileri tutulýar: müşderi köne maglumatlary almaz, ýöne asla hiç hili maglumat almaz.
NoSQL dörediji gollanma - 5
Suratda:
Tor bölümi: Tor birikmesiniň ýitmegi
Baglanyşyk maglumat bazalary bir wagtyň özünde "yzygiderlilik" we "elýeterlilik" häsiýetlerini özünde jemlemäge çalyşýar we şonuň üçin paýlanan gurşawda işläp bilmeýär. Baglanyşyk ulgamynda baglanyşyk bazasynyň ähli mümkinçiliklerini durmuşa geçirmäge synanyşmak ýa real däl ýa-da mümkin bolmaz . Beýleki tarapdan, NoSQL maglumat bazalary göwrümlilige we öndürijilige esasy üns berýär. Adatça baglanyşyk we amallar ýaly “esasy” aýratynlyklar ýetmezçilik edýär we maglumatlar modeli düýbünden başgaça bolup çykýar, belki-de belli bir derejede çäklendirilýär. Bularyň hemmesi has uly göwrümli maglumatlary saklamaga we öňkülerinden has köp talaplary gaýtadan işlemäge mümkinçilik berýär.

NoSQL maglumat bazalary yzygiderliligi we elýeterliligi nädip deňleşdirýär?

NoSQL maglumat bazasyny saýlasaňyz, elmydama köne maglumatlary ýa-da näsazlyk ýüze çykan halatynda ýalňyşlyk alarsyňyz öýdýän. Iş ýüzünde elýeterlilik we yzygiderlilik hiç hili elýeterli däldir. Saýlamak üçin köp sanly wariant bar. Baglanyşyk maglumat bazalarynda bu mümkinçilikler ýok, ýöne NoSQL talaplaryň ýerine ýetirilişine edil şonuň ýaly gözegçilik etmäge mümkinçilik berýär. Bu ýa-da beýleki görnüşde, NoSQL maglumatlar bazasynda ýazmak ýa-da okamak amallaryny ýerine ýetireniňizde iki parametr bellemäge mümkinçilik berýär: W - ýazuw amalyny ýerine ýetireniňizde klasterdäki näçe maşyn maglumatlary tygşytlamagy tassyklamaly . Maglumatlaryňyzy ýazýan maşynlaryň sany näçe köp bolsa, indiki okalyş amalyndaky iň soňky maglumatlary okamak aňsat bolar, ýöne şonça-da köp wagt alar. R - näçe enjamdan maglumat okamak isleýärsiňiz . Paýlanan ulgamda, bir topardaky ähli maşynlara maglumatlary paýlamak birneme wagt alyp biler, şonuň üçin käbir serwerlerde iň soňky maglumatlar bolar, beýlekileri bolsa yza galar. Maglumatlar okalýan maşynlaryň sany näçe köp bolsa, häzirki maglumatlary okamak mümkinçiligi şonça-da ýokarydyr. Amaly mysallara seredeliň. Toparyňyzda bäş sany kompýuteriňiz bar bolsa we diňe birine maglumat ýazmagy, soň bolsa tötänleýin saýlanan bir kompýuterden maglumatlary okamagy ýüregiňize düwen bolsaňyz, köne maglumatlary okamagyňyzyň 80% mümkinçiligi bar. Beýleki tarapdan, bu iň az serişdäni ulanar. Şonuň üçin miras maglumatlary siziň bilen gowy bolsa, beýle erbet wariant däl. Bu ýagdaýda W we R parametrleri 1-e deňdir.
NoSQL dörediji gollanma - 6
Başga bir tarapdan, NoSQL maglumatlar bazasyndaky ähli bäş maşyna maglumat ýazsaňyz, islendik enjamdan maglumatlary okap bilersiňiz we her gezek iň täze maglumatlary almagy kepillendirip bilersiňiz. Has köp sanly enjamda şol bir amaly ýerine ýetirmek has köp wagt alar, ýöne häzirki zaman maglumatlary siziň üçin möhüm bolsa, bu opsiýany saýlap bilersiňiz. Bu ýagdaýda W = R = 5. Maglumatlar bazasynyň yzygiderliligi üçin zerur okalýan we ýazylan iň az mukdar näçe? Ine, ýönekeý bir formula: R + W ≥ N + 1 , bu ýerde N klasterdäki maşynlaryň sany. Diýmek, bäş serwer bilen R = 2 we W = 4, ýa-da R = 3 we W = 3, ýa-da R = 4 we W = 2 saýlap bilersiňiz, bu ýagdaýda maglumatlaryň haýsy maşynlara degişlidigi möhüm däl. ýazylýar, okalanlar elmydama iň täze maglumatlary bolan iň bolmanda bir enjamdan ediler.
NoSQL dörediji gollanma - 7
DynamoDB ýaly beýleki maglumat bazalarynda dürli çäklendirmeler bar we diňe yzygiderli ýazmaga mümkinçilik berýär. Maglumatlaryň her bölegi üç serwerde saklanýar we islendik maglumat ýazylanda üç maşynyň ikisine ýazylýar. Dataöne maglumatlary okanyňyzda iki wariantdan birini saýlap bilersiňiz:
  1. Gaty yzygiderli okaň, onda üç enjamdan iki enjamdan maglumatlar okalýar we hemişe iň soňky ýazylan maglumatlary yzyna berýär.
  2. Ahyrynda yzygiderli okaň, onda bir maşyn tötänleýin saýlanyp, maglumatlary okamaly. Şeýle-de bolsa, bu köne maglumatlary wagtlaýyn yzyna gaýtaryp biler.

Näme üçin NoSQL maglumat bazalary beýle köp?

Programma üpjünçiligini döretmek ugrundaky iň täze habarlary yzarlasaňyz, MongoDB, DynamoDB, Kassandra, Redis we başgalar ýaly köp dürli NoSQL maglumat bazalary hakda eşiden bolsaňyz gerek. Siz özüňizi gyzyklandyryp bilersiňiz: näme üçin bize köp dürli NoSQL maglumat bazasy gerek? Munuň sebäbi ýönekeý: dürli NoSQL maglumat bazalary dürli meseleleri çözmek üçin döredildi. Şonuň üçin bäsleşýän maglumat bazalarynyň sany gaty köp. NoSQL maglumat bazalary dört esasy kategoriýa bölünýär:

Resminama gönükdirilen maglumat bazalary

Bu maglumat bazalary çylşyrymly öýjükli resminamalary saklamak mümkinçiligini berýär, baglanyşyk bazalarynyň köpüsi diňe bir ölçegli hatarlary goldaýar. Bu aýratynlyk köp halatlarda peýdaly bolup biler, mysal üçin, ulgamda birnäçe salgysy bolan ulanyjy hakda maglumat saklamak zerur bolanda. Resminama gönükdirilen maglumatlar binýadyny ulananyňyzda, bu ýagdaýda diňe bir salgy salgysyny öz içine alýan çylşyrymly obýekti saklap bilersiňiz, baglanyşyk bazasynda bolsa iki tablisa döretmeli bolarsyňyz: biri ulanyjy maglumatlary üçin, biri salgylar üçin. Resminama gönükdirilen maglumat bazalary obýekt modeli bilen maglumat modeliniň arasyndaky boşlugy aradan aýyrýar . PostgreSQL ýaly käbir baglanyşyk bazalary, indi resminama gönükdirilen ammary goldaýar, emma baglanyşyk bazalarynyň köpüsinde henizem bu mümkinçilik ýok.

Açar / baha maglumatlar bazalary

Açar / baha maglumat bazalary, iň ýönekeý NoSQL modelini durmuşa geçirýärler. Aslynda, size paýlanan hash tablisasy bilen üpjün edýärler , bu size berlen açara maglumatlary ýazmaga we ony täzeden okamaga mümkinçilik berýär. Açar / baha maglumat bazalary ýokary göwrümli we beýleki maglumat bazalaryna garanyňda ep-esli pes gijä eýe.

Graf maglumatlar bazalary

Köp mowzuk ugurlary, mysal üçin, sosial ulgamlar ýa-da filmler we aktýorlar baradaky maglumatlar grafik hökmünde görkezilip bilner. Grafik baglanyşyk bazasyny ulanyp görkezilip bilinse-de, kyn we amatsyz. Graf maglumatlary gerek bolsa, paýlanan toparda grafika baradaky maglumatlary saklap bilýän we grafikalarda algoritmleri netijeli durmuşa geçirmäge mümkinçilik berýän ýöriteleşdirilen graf maglumatlar bazasyny ulanmak has gowudyr.

Sütün maglumat bazalary

Sütün we beýleki maglumat bazalarynyň görnüşleriniň arasyndaky esasy tapawut, maglumatlaryň diskde saklanmagydyr. Baglanyşyk maglumat bazalary her tablisa üçin bir faýl döredýär we ähli hatarlaryň bahalaryny yzygiderli saklaýar. Sütün maglumat bazalary tablisalaryňyzdaky her sütün üçin faýl döredýär. Bu gurluş maglumatlary jemlemäge we käbir talaplary has netijeli işlemäge mümkinçilik berýär, ýöne maglumatlaryň şeýle maglumat bazalarynyň çäklendirmelerine laýyk gelýändigine göz ýetirmeli.

Haýsy maglumat bazasyny saýlamaly?

Maglumatlar bazasyny saýlamak, adatça, lapykeç mesele bolup durýar we köp sanly mümkinçilik bar bolsa, bu gaty kyn iş ýaly bolup biler. Gowy habar, diňe birini saýlamagyň zerurlygy ýok. Allhli mümkinçilikleri ýerine ýetirýän we ähli ulgam maglumatlaryna girip bilýän ýeke-täk monolit programma döretmegiň ýerine, mikroservisler atly başga bir döwrebap nagşy ulanyp bilersiňiz : programmany garaşsyz hyzmatlar toplumyna bölüň. Her hyzmat öz dar meselesini çözýär we bu meseläni çözmek üçin iň amatly diňe maglumatlar bazasyny ulanýar.

Bularyň hemmesini nädip öwrenmeli?

Maglumatlar bazalarynyň köpüsi bilen , hemmesini öwrenmek mümkin däl mesele ýaly bolup biler. Gowy habar: muny etmeli däl. NoSQL maglumat bazalarynyň diňe birnäçe esasy görnüşi bar we olaryň işleýşine düşünseňiz, beýlekilere düşünmek has aňsat bolar. Mundan başga-da, käbir NoSQL maglumat bazalary beýlekilerden has ýygy ulanylýar, şonuň üçin güýjüňizi iň meşhur çözgütlere gönükdirmek iň gowusydyr. Ine, iň köp ulanylýan NoSQL maglumat bazalarynyň sanawy, meniň pikirimçe, bir göz aýlamaly:
  1. MongoDB . Bazardaky iň meşhur NoSQL maglumat bazasy bolsa gerek. Bir kompaniýa esasy maglumat dükany hökmünde baglanyşyk bazasyny ulanmasa, MongoDB-ni ulanmagy ähtimal. Bu gowy gurallar toplumy bilen çeýe resminama ammary. MongoDB karýerasynyň başynda käbir ýagdaýlarda maglumatlary ýitirmekde erbet abraý gazandy , ýöne şondan bäri onuň durnuklylygy we ygtybarlylygy ep-esli ýokarlandy. Has giňişleýin öwrenmek isleseňiz, bu MongoDB kursuna göz aýlaň

  2. DynamoDB . Amazon web hyzmatlaryny (AWS) ulanýan bolsaňyz, DynamoDB hakda has giňişleýin öwrenseňiz gowy bolardy. Baý aýratynlyklar toplumy we beýleki köp sanly AWS hyzmatlary bilen integrasiýa bilen gaty ygtybarly, ulalýan, pes gijä galýan maglumatlar bazasy. Iň gowy tarapy, muny özüňiz ýerleşdirmeli däl. Müňlerçe soragy çözüp bilýän ulalýan DynamoDB toparyny gurmak bary-ýogy birnäçe gezek basylýar. Bu sizi gyzyklandyrýan bolsa, bu kursa göz aýlap bilersiňiz.

  3. Neo4j . Iň ýaýran grafiki maglumatlar binýady. Bu grafiki maglumatlar modelini ulanmak isleýänler üçin amatly we ulaldylan çözgütdir. Has giňişleýin öwrenmek isleseňiz, şu kursdan başlaň .

  4. Redis . Bu ýerde beýan edilen beýleki maglumatlar bazalary esasy programma maglumatlaryny saklamak üçin ulanylsa-da, Redis esasan keşleri durmuşa geçirmek we kömekçi maglumatlary saklamak üçin ulanylýar. Köp ýagdaýlarda ýokarda agzalan maglumat bazalarynyň biri Redis bilen tandemde ulanylýar. Has giňişleýin öwrenmek üçin şu kursy gözden geçiriň.

2018-nji ýylda NoSQL bilen

NoSQL maglumat bazalary giň we çalt ösýän meýdan. Ozal göz öňüne getirip bolmajak mukdarda maglumatlary saklamaga we gaýtadan işlemäge mümkinçilik berýär, ýöne bu gymmat düşýär. Bu maglumat bazalarynda baglanyşyk bazalarynda tanyş bolan aýratynlyklaryňyzyň köpüsi ýok we olary ulanmak üçin özüňizi düzmek kyn. Themöne bu zatlardan soň, ulaldylan we paýlanan maglumat bazalaryny döredip bilersiňiz, okamak we ýazmak haýyşlarynyň haýran galdyryjy göwrümlerini dolandyryp bilýär, bu has uly we has uly göwrümli maglumatlar döredilende gaty möhüm bolup biler. Asyl: https://simpleprogrammer.com/guide-nosql-software-developers/
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION