Sida loo eego indhaha Cassandra adoon lumin xogta, xasiloonida iyo rumaysadka NoSQL

Sida loo eego indhaha Cassandra adoon lumin xogta, xasiloonida iyo rumaysadka NoSQL

Waxay yiraahdeen wax walba oo nolosha ah ayaa mudan in la isku dayo ugu yaraan hal mar. Oo haddii laguu bartay inaad la shaqeyso DBMS-yada xiriirka ah, markaa waxaa habboon in la barto NoSQL ficil ahaan, marka hore, ugu yaraan horumarka guud. Hadda, horumarka degdega ah ee tignoolajiyadan awgeed, waxaa jira fikrado badan oo iska soo horjeeda iyo doodo kulul oo ku saabsan mawduucan, gaar ahaan kuwa xiisaha siiya.
Haddii aad u dhaadhacdo nuxurka khilaafyadaas oo dhan, waxa aad arkaysaa in ay sabab u tahay hab khaldan. Kuwa isticmaala xogta NoSQL sida saxda ah meesha looga baahan yahay way ku qanacsan yihiin oo waxay ka helaan dhammaan faa'iidooyinka xalkan. Tijaabiyayaasha ku tiirsan tignoolajiyadan sidii dawooyin aan lagu dabaqi karin haba yaraatee way niyad jabeen, iyagoo lumiyay awoodaha kaydka xogta ee xidhiidhka iyaga oo aan helin faa’iidooyin la taaban karo.

Waxaan kuu sheegi doonaa waayo-aragnimadayada ku saabsan hirgelinta xal ku salaysan Cassandra DBMS: waxa aan la kulannay, sida aan uga soo baxnay xaalado adag, haddii aan awoodnay inaan ka faa'iidaysano isticmaalka NoSQL iyo halka aan ku bixinay dadaal dheeri ah / lacag. .
Hawsha ugu horraysa waa in la dhiso nidaam diiwaangeliya wicitaannada nooc ka mid ah kaydinta.

Mabda'a hawlgalka ee nidaamka waa sida soo socota. Gelitaanka waxaa ku jira faylal leh qaab dhismeed gaar ah oo qeexaya qaab dhismeedka wicitaanka. Codsigu wuxuu markaa hubinayaa in qaab-dhismeedkan lagu kaydiyay tiirarka ku habboon. Mustaqbalka, wicitaanada la keydiyay waxaa loo isticmaalaa in lagu muujiyo macluumaadka isticmaalka taraafikada ee macaamiisha (lacag, wicitaano, taariikhda dheelitirka).

Sida loo eego indhaha Cassandra adoon lumin xogta, xasiloonida iyo rumaysadka NoSQL

Way caddahay sababta ay u doorteen Cassandra - waxay u qortaa sida qoriga mishiinka, si fudud ayaa loo miisaami karaa, waana u dulqaadan kartaa qaladka.

Markaa, tani waa ta waayo-aragnimadu ina siisay

Haa, noodhka guuldarraystay maaha masiibo. Tani waa nuxurka dulqaadka qaladka Cassandra. Laakin Noodku wuxuu noqon karaa mid nool isla markaana wuxuu bilaabaa inuu ku xanuunsado waxqabadka. Sida ay soo baxday, tani waxay isla markiiba saameynaysaa waxqabadka kooxda oo dhan.

Cassandra kuma ilaalin doono halka Oracle kugu badbaadiyay caqabadaheeda. Oo haddii qoraaga codsigu uusan horay u fahmin tan, markaa labanlaabkii u yimid Cassandra kama sii xumaanayo asalka. Marka ay timaado, waanu gelin doonaa.

IB aad ayuu u necbahay Cassandra bilaashka ah ee ka baxsan sanduuqa: Ma jiro galitaanka falalka isticmaalaha, ma jiro kala soocida xuquuqaha. Macluumaadka ku saabsan wicitaanada waxaa loo tixgeliyaa xogta shakhsi ahaaneed, taas oo macnaheedu yahay in dhammaan isku dayada lagu codsado/beddelo si kasta waa in lagu dhejiyaa suurtogalnimada xisaabinta dambe. Sidoo kale, waxaad u baahan tahay inaad ka warqabto baahida loo qabo in la kala saaro xuquuqda heerarka kala duwan ee isticmaalayaasha kala duwan. Injineer hawleed fudud iyo maamule sare oo si xor ah u tirtiri kara dhammaan goobta furaha waa doorar kala duwan, masuuliyado kala duwan, iyo karti. Haddii aan la kala saarin xuquuqaha gelitaanka, qiimaha iyo daacadnimada xogta ayaa isla markiiba su'aal gelin doonta si ka dhakhso badan heer kasta oo joogto ah.

Ma aan xisaabtamin in wicitaanku u baahan yahay falanqayn dhab ah iyo muunad xilliyeed ah oo xaalado kala duwan ah. Maadaama diiwaanada la xushay markaas loo malaynayo in la tirtiro oo dib loo qoro (qayb ka mid ah hawsha, waa in aan taageernaa habka cusboonaysiinta xogta marka xogtu markii hore si khalad ah u soo gashay wareeggayaga), Cassandra maaha saaxiibkayaga halkan. Cassandra waa sida bangiga doofaarka - way ku habboon tahay in wax la geliyo, laakiin ma tirin kartid.

Waxaan la kulanay dhibaato u wareejinta xogta aagagga tijaabada (5 nodes ee imtixaanka iyo 20 ee prom). Xaaladdan oo kale, qashinka lama isticmaali karo.

Dhibaatada cusboonaysiinta nidaamka xogta ee codsi qoraal Cassandra. Dib-u-soo-celinta waxay dhalin doontaa qubuuro badan oo badan, taas oo u horseedi karta khasaare wax soo saar leh siyaabo aan la saadaalin karin.. Cassandra waa loo habeeyey duubista, mana ka fikiro wax badan ka hor inta aan la qorin, hawlgal kasta oo xogta hadda ku jira sidoo kale waa duubis. Taasi waa, adoo tirtiraya waxyaabaha aan loo baahnayn, waxaanu si fudud u soo saari doonaa xitaa diiwaanno badan, oo kaliya qaar ka mid ah ayaa lagu calaamadin doonaa dhagaxyo xabaal ah.

Waqti go'an marka la gelinayo Cassandra waa ku qurux badan tahay duubista, laakiin marmarka qaarkood socodka soo gelaya ayaa si weyn uga yaabin kara iyada. Tani waxay dhacdaa marka codsigu bilaabo inuu ku wareego dhowr diiwaan oo aan la gelin karin sabab qaar ka mid ah. Oo waxaan u baahan doonaa DBA dhab ah oo la socon doona gc.log, nidaamka iyo qaladka diiwaanka su'aalaha qunyar socodka ah, cabbirada isafgaradka oo sugaya.

Xarumo xogeed oo dhowr ah oo ku jira koox Halkee wax laga akhriyaa iyo halkee wax laga qoraa?
Ma laga yaabaa in ay u kala qaybsamaan wax akhrinta iyo qorista? Hadday sidaas tahay, waa inay jirtaa DC u dhow codsiga qoraal ama akhris? Oo miyaanay ku dhammaanayn maskax kala qaybsanaan dhab ah haddii aan dooranno heerka saxda ah ee joogtada ah? Waxaa jira su'aalo badan, goobo badan oo aan la garanayn, suurtagalnimada in aad runtii rabto inaad wax ka qabato.

Sida aanu go'aansanay

Si looga hortago in dhuunku quusto, SWAP waa la naafo. Oo hadda, haddii ay jirto xusuus la'aan, noodu waa inuu hoos u dhaco oo uusan abuurin hakadyo gc weyn.

Markaa, hadda kuma tiirsanaanno macquulka xogta kaydka. Soosaarayaasha arjiyada ayaa dib isu tababaraya waxayna bilaabeen inay si firfircoon uga taxadaraan xeerkooda. Kala saarida cad ee kaydinta xogta iyo habaynta.

Waxaan ka soo iibsanay taageerada DataStax. Horumarinta Cassandra ee feerka ah ayaa mar hore joogsatay ( ballankii ugu dambeeyay wuxuu ahaa Febraayo 2018). Isla mar ahaantaana, Datastax waxay bixisaa adeeg aad u fiican iyo tiro badan oo ah xalal wax laga beddelay oo la waafajiyay xalalka IP ee jira.

Waxa kale oo aan rabaa in aan ogaado in Cassandra aanu aad ugu habboonayn weydiimaha xulashada. Dabcan, CQL waa horumar weyn oo loogu talagalay isticmaaleyaasha (marka la barbar dhigo Trift). Laakiin haddii aad leedahay waaxaha oo dhan in ay caadaysteen in ay ku biiraan ku haboon sida, shaandhaynta lacag la'aan ah by beer kasta iyo awoodaha tayeynta weydiinta, iyo waaxaha kuwaas oo ka shaqeeya si ay u xaliyaan cabashooyinka iyo shilalka, markaas xal on Cassandra u muuqataa cadaawad iyo doqon iyaga. Waxaana bilownay inaan go'aan ka gaarno sida asxaabteena ay muunado u sameyn lahaayeen.

Waxaan tixgelinay laba ikhtiyaar, ikhtiyaarka koowaad, waxaan ku qornaa wicitaannada ma aha oo kaliya C*, laakiin sidoo kale waxaan ku qornaa keydka xogta Oracle. Kaliya, si ka duwan C *, kaydinta xogtan waxay wacdaa bisha hadda jirta (qoto dheer oo kaydinta wicitaanka oo ku filan kiisaska dib u dallaca). Halkan waxaan isla markiiba ku aragnay dhibaatada soo socota: haddii aan si isku mid ah u qorno, markaa waxaan lumineynaa dhammaan faa'iidooyinka C * ee la xidhiidha gelinta degdegga ah; haddii aan u qorno asynchronously, ma jirto dammaanad ah in dhammaan wicitaanada lagama maarmaanka ah ay galeen Oracle gabi ahaanba. Waxaa jiray mid lagu daray, laakiin mid weyn: hawlgalka PL/SQL Developer la yaqaan ayaa hadhsan, tusaale ahaan waxaan si dhab ah u hirgelineynaa qaabka "Facade" doorasho kale. Waxaan hirgelineynaa hannaan ka soo dejinaya wicitaannada C *, ka soo jiidaya xoogaa xog ah oo kobcin ah miisaska u dhigma ee Oracle, ku biira shaybaarrada ka soo baxay oo na siiya natiijada, taas oo aan markaa si uun u isticmaalno (dib-u-rogid, ku celi, falanqeyn, bogaadin). Qasaarooyinka: geeddi-socodku waa tallaabo-tallaabo badan, waxaana intaa dheer, ma jiraan wax interface ah oo loogu talagalay shaqaalaha hawlgalka.

Ugu dambeyntii, waxaan dejinay doorashada labaad. Apache Spark waxaa loo isticmaalay in laga soo qaado dhalooyinka kala duwan. Nuxurka habka ayaa loo dhimay koodhka Java, kaas oo, isticmaalaya furayaasha la cayimay (macaamiishu, wakhtiga wacitaanka - furayaasha qaybta), waxay ka soo saaraan xogta C *, iyo sidoo kale xogta lagama maarmaanka ah ee kobcinta xogta kale. Kadibna waxay ku biirtaa xusuusta waxayna ku soo bandhigaysaa natiijada shaxda ka soo baxday. Waxa aanu ku sawirnay weji shabkad dhimbiilkii oo noqday mid la isticmaali karo.

Sida loo eego indhaha Cassandra adoon lumin xogta, xasiloonida iyo rumaysadka NoSQL

Marka la xalinayo dhibaatada cusboonaysiinta xogta tijaabada warshadaha, waxaan mar kale tixgelinay dhowr xalal. Labadaba wareejinta iyada oo loo marayo Sstloader iyo ikhtiyaarka loo kala qaybiyo kutlada aagga tijaabada laba qaybood, mid kasta oo ka mid ah waxay ka tirsan tahay koox isku mid ah oo leh midda xayeysiinta, sidaas darteed waxaa awood u leh iyada. Marka la cusboonaysiinayo imtixaanka, waxaa la qorsheeyay in la beddelo: qaybta ka shaqeysa imtixaanka waa la nadiifiyaa oo la galaa wax soo saarka, kan kalena wuxuu bilaabay inuu si gaar ah ula shaqeeyo xogta. Si kastaba ha noqotee, ka dib markii aan mar kale ka fikirnay, waxaan si caqli gal ah u qiimeynay xogta mudan in la wareejiyo, waxaana ogaanay in wicitaanada laftoodu ay yihiin kuwo aan ku habooneyn imtixaanada, si dhakhso ah loo soo saaro haddii loo baahdo, waana xogta xayeysiinta ee aan wax qiimo ah u lahayn wareejinta imtixaan Waxa jira dhawr shay oo kaydinta mudan in la dhaqaajiyo, laakiin kuwani waa laba miis, oo aan ahayn kuwo aad u culus. Sidaa darteed waxaan xal ahaan, Spark mar kale u yimid samatabbixinta, iyadoo la kaashanayo taas oo aan ku qornay oo bilaabay in ay si firfircoon u isticmaalaan script ah wareejinta xogta u dhexeeya miisaska, prom-imtixaanka.

Siyaasadeena dirista ee hadda waxay noo ogolaanaysaa inaan shaqayno dib-u-celin la'aan. Kahor xayeysiinta, waxaa jira tijaabo tijaabo ah oo qasab ah, halkaas oo qaladku aanu sidaas qaali u ahayn. Haddii ay dhacdo guuldarro, waxaad had iyo jeer tuuri kartaa booska kiiska oo aad rogi kartaa qorshaha oo dhan bilowga.

Si loo hubiyo helitaanka joogtada ah ee Cassandra, waxaad u baahan tahay dba oo kaliya maahan. Qof kasta oo ka shaqeeya codsiga waa inuu fahmo halka iyo sida loo eego xaaladda hadda jirta iyo sida loo ogaado dhibaatooyinka waqtigeeda. Si tan loo sameeyo, waxaan si firfircoon u isticmaalnaa DataStax OpsCenter (Maamulka iyo la socodka culeyska shaqada), Nidaamka Nidaamka Darawalka Cassandra (tirada waqtiyada loogu talagalay qorista C *, tirada waqtiyada wax-akhrinta ee C *, daahitaanka ugu badan, iwm.), la soco hawlgalka Codsiga laftiisa, oo la shaqeynaya Cassandra.

Markii aan ka fikirnay su'aashii hore, waxaan ogaanay halka khatarta ugu weyni ay ku jiri karto. Kuwani waa foomamka soo bandhigida xogta ee muujiya xogta dhowr su'aalood oo madax-bannaan ilaa kaydinta. Sidan ayaan ku heli karnaa macluumaad aan is waafaqsanayn. Laakiin dhibaatadani waxay noqon doontaa mid la mid ah haddii aan la shaqeyno xarun xogeed oo keliya. Markaa waxa ugu macquulsan halkan waa, dabcan, in la abuuro shaqo dufcad ah oo loogu talagalay akhrinta xogta codsiga dhinac saddexaad, taas oo hubin doonta in xogta la helo hal mar. Marka loo eego kala qaybinta akhriska iyo qorista marka la eego waxqabadka, halkan waxaa na joojiyay khatarta ah in iyada oo la lumiyo xidhiidhka ka dhexeeya DC-yada, waxaan ku dhammaan karnaa laba kooxood oo gebi ahaanba aan is waafaqsanayn midba midka kale.

Natiijo ahaan, hadda joogsaday heerka iswaafajinta qorista EACH_QUORUM, akhriska -LOCAL_QUORUM

Aragtiyo kooban iyo gunaanad

Si loo qiimeeyo xalka ka soo baxa aragtida taageerada hawlgalka iyo rajada horumarka dheeraadka ah, waxaan go'aansanay inaan ka fikirno halka kale ee horumarinta noocan oo kale ah lagu dabaqi karo.

Isla markiiba fiidmeerta, ka dibna xogta dhibcaha barnaamijyada sida "Bix marka ay ku habboon tahay" (waxaan ku shubaa macluumaadka C *, xisaabinta iyadoo la isticmaalayo Spark scripts), xisaabinta sheegashooyinka iyadoo la isku daray meel ahaan, kaydinta doorarka iyo xisaabinta xuquuqda gelitaanka isticmaalaha iyadoo lagu saleynayo doorka matrix.

Sida aad arki karto, repertoire waa ballaaran oo kala duwan. Haddii aan dooranno xerada taageerayaasha / mucaaradka NoSQL, markaa waxaan ku biiri doonnaa taageerayaasha, maadaama aan helnay faa'iidooyinkayada, iyo sida saxda ah ee aan filaynay.

Xitaa ikhtiyaarka Cassandra ee ka baxsan sanduuqa wuxuu u oggolaanayaa isku-dheelitirnaanta tooska ah waqtiga dhabta ah, oo si buuxda u xalinaysa arrinta kordhinta xogta nidaamka. Waxaan awoodnay inaan u dhaqaaqno habab aad u sarreeya oo loogu talagalay xisaabinta isku-darka wicitaanka ee wareegga goonida ah, sidoo kale waxaan kala saarnay qorshaha codsiga iyo macquulka, ka takhalusidda dhaqanka xun ee qorista shaqooyinka gaarka ah iyo walxaha ku jira kaydka laftiisa. Waxaan helnay fursad aan ku dooran karno oo aan ku habeyno, si aan u dedejinno, DC-yada aan ku sameyn doono xisaabinta iyo kuwa aan ku duubi doono xogta, waxaan nafteena ka cayminay shilalka noodsyada shakhsi ahaaneed iyo DC guud ahaan.

Codsashada naqshadeena mashruucyo cusub, oo aan horeba u lahaa xoogaa khibrad ah, waxaan jeclaan lahaa inaan isla markiiba xisaabta ku darsado nuucyada kor lagu soo sheegay, oo aan ka hortago khaladaadka qaarkood, sixiyo geeso fiiqan oo aan la iska ilaalin karin markii hore.

Tusaale ahaan, la soco wararka Cassandra ee wakhtiga ku haboonsababtoo ah in yar oo ka mid ah dhibaatooyinka na soo gaadhay waa la ogaa oo la hagaajiyay.

Ha dhigin kaydka xogta laftiisa iyo Spark labadaba isku mid ah (ama si adag loogu qaybiyo qadarka isticmaalka kheyraadka la ogol yahay), maadaama Spark ay cuni karto OP ka badan intii la filayay, waxaana si dhakhso ah aan uga heli doonaa lambarka dhibaatada 1 liiskayaga.

Hagaajinta la socodka iyo kartida hawlgelinta marxaladda tijaabada mashruuca. Ugu horreyntii, ku xisaabtan inta ugu badan ee suurtogalka ah dhammaan macaamiisha suurtagalka ah ee xalkeena, sababtoo ah tani waa waxa qaab dhismeedka xogta ugu dambeyntii ku xirnaan doono.

U rog wareegga natiijada dhowr jeer si loo hagaajiyo suurtogalka ah. Dooro meelaha la isku dari karo. Fahmaan miisaska dheeraadka ah ee ay tahay in aan samayno si aan ugu saxno uguna fiicneyn xisaabtanka, ka dibna bixi macluumaadka loo baahan yahay marka la codsado (tusaale, adigoo u malaynaya in aan ku kaydin karno xogta isku mid ah miisas kala duwan, iyada oo la tixgelinayo burburka kala duwan si waafaqsan. shuruudo kala duwan, waxaan si weyn u badbaadin karnaa waqtiga CPU ee codsiyada akhrinta).

Ma ahan mid xun Isla markiiba u bixi ku-xidhka TTL iyo nadiifinta xogta duugowday.

Markaad xogta ka soo dejisanayso Cassandra Codsiga macquulka ah waa inuu ku shaqeeyaa mabda'a FETCH, si aan dhammaan safafka loogu shubin xusuusta hal mar, laakiin waxaa lagu doortaa kooxo.

Waxaa lagu talinayaa ka hor inta aan loo wareejin mashruuca xalka lagu tilmaamay hubi dulqaadka qaladka nidaamka adiga oo samaynaya tijaabooyin taxane ah oo shil ah, sida luminta xogta hal xarun xogta, dib u soo celinta xogta dhaawacantay muddo cayiman, joojinta shabakada ee u dhaxaysa xarumaha xogta. Tijaabooyin noocan oo kale ah ma oggolaan doonaan oo kaliya in mid ka mid ah si ay u qiimeeyaan faa'iidooyinka iyo khasaaraha ka mid ah dhismaha la soo jeediyay, laakiin sidoo kale ku siin doonaa dhaqanka diiran u fiican ee injineerada iyaga samaynaya, iyo xirfadda la helay waxay noqon doontaa mid aad u fog haddii nidaamka ku guuldareystay in la soo saaro ee wax soo saarka.

Haddii aan ku shaqeyno macluumaadka muhiimka ah (sida xogta biilasha, xisaabinta deynta macaamiisha), markaa waxaa sidoo kale mudan in fiiro gaar ah loo yeesho aaladaha yareynaya khatarta ka dhalan karta astaamaha DBMS. Tusaale ahaan, adeegso utility nodesync (Datastax), adoo sameeyay istiraatijiyad ugu habboon ee loo isticmaalo Si joogto ah aawadood, ha ku abuurin culeys xad dhaaf ah Cassandra oo u isticmaal miisaska qaarkood oo keliya muddo cayiman.

Maxaa ku dhacaya Cassandra lix bilood oo nolosha ka dib? Guud ahaan, ma jiraan dhibaatooyin aan la xallin. Sidoo kale ma aanu ogolaan shil halis ah ama xog lumin. Haa, waxay ahayd inaan ka fikirno magdhowga dhibaatooyinka qaarkood ee aan horay u soo bixin, laakiin ugu dambeyntii tani si weyn ugamay dhicin xalalka qaab dhismeedka. Haddii aad rabto oo aadan ka baqin inaad isku daydo wax cusub, isla markaana aadan rabin inaad aad u niyad jabto, ka dibna u diyaargarow xaqiiqda ah in aysan jirin wax bilaash ah. Waa in aad fahanto, aad u dhex gasho dukumentiyada oo aad urursato rashkaaga shakhsi ahaaneed in ka badan sidii xalkii hore ee dhaxalka ahaa, mana jirto aragti kuu sheegi doonta wakhti hore oo qaadka adiga ku sugaya.

Source: www.habr.com

Add a comment