Pirmieji žingsniai su Cassandra

Turinys
Kasandra yra Duomenų bazė NoSQL galingas ir keičiamas. Jis yra atvirojo kodo, o jo architektūra sukurta kaip paskirstyta sistema, kurioje visi mazgai yra vienodi, todėl duomenys gali būti paskirstyti visuose klasterio mazguose.
Sandėliavimas Kasandra yra apibrėžiamas kaip raktas / vertė kur raktas gali susieti vieną ar daugiau reikšmių. Yra Duomenų bazė orientuota į eilučių įrašus, kur kiekviena eilutė identifikuojama pagal jos raktą, o šios sistemos ypatumas yra tas, kad eilutė gali būti saugoma daugiau nei viename mazge.
Prieš pradėdami diegti Kasandra mūsų sistemoje turime šiek tiek žinoti apie šios architektūros ypatybes Duomenų bazė, tokiu būdu žinosime, ką turime ir ką galime pasiekti.
Kai mes kalbame apie informacijos replikavimą, vienas iš pirmųjų klausimų, kurį užduodame sau: kiek kopijų mums reikia? Į šį klausimą „Cassandra“ nėra lengva atsakyti, tačiau turime nepamiršti, kad šis veiksnys rodo toje pačioje eilutėje saugomų mazgų skaičių.
Pavyzdžiui, replikacijos koeficientas 2 garantuoja, kad bus dvi grupės mazgų informacijos kopijos. Pasirinkus replikacijos koeficiento vertę antra, gerai padengti kūrimo aplinkos mazgo gedimus ir tai gali būti minimali gamybos aplinkoje, nes jei vienas mazgas nusileis, kitas apdoros visas užklausas, todėl mes turime tai galvoti atsargiai prieš jį įgyvendindami.
KeyspaceKasandra leidžia mums grupuoti informaciją į tai, kas vadinama raktų erdvės, kur galime pasakyti, kad šie raktų erdvės jie yra talpyklos informacijai apie taikymą. Tačiau grupėje yra viena raktų sritis kiekvienai programai Kasandra naudoti šiuos raktų erdvės replikacijai valdyti.
Kolonų šeimaApibrėžę mūsų klavišų sritis, jo viduje mes turime kažką vadinamo kolonų šeima, tai yra konteineriai, bet skirti eilėms. Kiekviena eilutė yra užsakytas stulpelių rinkinys, ir mes galime padaryti analogiją su santykių duomenų bazėmis, kur kolonų šeima jie šiek tiek panašūs į lenteles.
Replikavimo strategijaIn Kasandra Yra dvi informacijos atgaminimo strategijos, viena iš jų ir ta, kurią jau nagrinėjome, yra paprasta strategija arba SimpleStrategy kuri yra atsakinga už informacijos kopijavimą į kitą mazgą, kol bus įvykdytas nustatytas replikacijos koeficientas. Antroji strategija vadinama NetworkTopologyStrategy, kur tai yra geriausias pasirinkimas, jei norime informaciją platinti keliuose duomenų centruose.
Naudojamas protokolas Kasandra dalytis mazgų vieta ir informacija apie juos grupėje yra vadinama Paskalos. Kur šie mazgai nuolat „murma“ ir keičiasi informacija su iki 3 mazgų grupėje.
Šis protokolas, kaip ir kiti, turi taisykles siųsti užklausas kitiems mazgams, kur matome tris jo veiksmus, ir kiekvienas mazgas visada kartoja šiuos veiksmus:
1- murmėkite atsitiktinai aktyviam mazgui.
2- Pradėkite murmėjimą atsitiktinio žemyn esančio mazgo link.
3- Šis žingsnis yra neprivalomas ir apibrėžia, kad jei pirmajame žingsnyje pasirinktas mazgas nėra pradinis mazgas, murmėkite į kitą atsitiktinį sėklos mazgą.
Bet norint perkelti informaciją ir atlikti ryšį tarp mazgų Kasandra naudokite komponentą, vadinamą SnitchPažiūrėkime, ką turite omenyje.
Iš esmės šis komponentas yra atsakingas už informacijos judėjimo tarp mazgų valdymą, imant kitus mazgus užklausoms ir replikacijai, remiantis įvairia metrika. Ši konfigūracija yra vienoda visiems klasterio mazgams, tačiau ji gali skirtis pagal tipą, pažiūrėkime, kuriuos turime:
„SimpleSnitch“Naudojamas diegiant paprastus duomenų centrus ir a krapštytis sukonfigūruotas taip, nenaudoja jokios informacijos iš duomenų centro. Jo elgesys yra paprastas, ir tai yra rasti kitą mazgą.
Dinaminis šnipinėjimasŠi konfigūracija stebi kopijų našumą ir parenka geriausią, remdamasi paprasta metrika, kuri baudžia ilgą atsako laiką ir vengia mazgų, kurie suspaudžia jūsų informaciją.
„RackInferringSnitch“Ši konfigūracija naudoja IP adresą, kad nustatytų mazgų vietą, kur paskutinė IP dalis identifikuoja mazgą, antroji - stelažus, o trečioji - duomenų centrus.
PropertyFileSnitchTai leidžia apibrėžti klasterio topologiją ypatybių faile, paprastai ši konfigūracija naudojama, jei „RackInferringSnitch“ netaikoma.
GossipingPropertyFileSnitchPradinei konfigūracijai jis naudoja ypatybių failą ir tęsia murmėjimą siunčiant informaciją kitiems mazgams.
Įdiegimas Kasandra Mes tai padarysime komandoje su „Windows 8“, kuriame prieš tai turime atitikti tam tikrus reikalavimus, pažiūrėkime, ko mums reikia:
1- Turime turėti bent „Java 7“ įdiegta mūsų sistemoje, jei jos neturime, galime atsisiųsti naujausią versiją iš šios nuorodos.
2- Mums papildomai reikia „Microsoft Visual C ++ 2008“ perskirstomasis paketas (x86).
3- Galiausiai interneto ryšys atsisiųsti paketą „DataStax“.
Peržiūrėję mūsų reikalavimus, eisime į projekto puslapį ir ieškosime 32 arba 64 bitų versijos, kuri tinka mūsų sistemai:

DIDELIS

Jei norime pažvelgti į ryšio dokumentus Kasandra Su skirtingomis programavimo kalbomis galime eiti į puslapį ir pamatyti, ko mums reikia. Atsisiuntę diegiame kaip ir bet kurią „Windows“ programą. Kur svarbu paminėti, kad po šio įrengimo, Kasandra pagal numatytuosius nustatymus jis sukurs testų grupę.
Įdiegus, mūsų sistemoje yra įdiegti keli įrankiai, vienas iš jų yra žiniatinklio sąsaja Kasandra skambinti „OpsCenter“, kurią galime įvesti, jei į naršyklę įvedame šį adresą:
 http: // localhost: 8888 / opscenter / index.html
Ši sąsaja leidžia mums atlikti keletą įdomių dalykų, tačiau tai nėra pats optimaliausias darbas Kasandra, tačiau šios pamokos tikslais svarbu tai žinoti, pamatyti, ką ji mums siūlo, ir tokiu būdu turėti atspirties tašką, kad pradėtume žinoti duomenų bazės struktūrą.
Pirmas dalykas, kurį randame įėję į šią sąsają, yra skyrius Prietaisų skydelis, kur galime vizualizuoti įvairią našumo metriką, pvz., mazgų būklę, atminties talpą arba rašyti užklausas:

DIDELIS

Šioje sąsajoje galime sukurti naują grupę, tam mes einame į viršutinę dešinę dalį ir paspaudžiame Naujas klasteris, kuris atvers šį ekraną:

Įvedame prašomus duomenis ir spustelėkite kurti klasterį, be to, išskleidžiamajame meniu galime vienodai pridėti mazgų Klasterio veiksmai, viršuje dešinėje. Skyriuje Neduok, matome galimus mazgus ir duomenų centrus, taip pat tam tikrus parametrus, tokius kaip sveikata, duomenų dydis ir net sugeneruoti įspėjimai:

DIDELIS

Skyriuje Veikla Mes galime pamatyti grupėje vykdomos veiklos sąrašą ir įvykių žurnalą, o tai yra gana naudinga, kai esame grupės administratoriai Duomenų bazė:

DIDELIS

Tada žiniatinklio sąsajoje turime svarbiausią skyrių, ir tai yra Duomenys, čia galime apibrėžti savo informacijos talpyklas, geriau žinomas kaip raktų erdvės ir „stalai“ arba kolonų šeimos.
Norėdami sukurti a klavišų sritis, pirmiausia turime eiti į skyrių Duomenys ir ten pasirinkite parinktį Papildyti, įvedame pavadinimą, replikacijos strategiją, kurią paaiškiname, kad tai gali būti paprasta ar tinklo topologija, ir replikacijos koeficientą.

Mes sutaupėme ir jau būtume sukūrę savo klavišų sritis, kaip prisimename, šie konteineriai atlieka pagrindinę funkciją Kasandra y yra apibrėžti replikacijos koeficientą. Apibrėžę konteinerį, pridėsime a kolonų šeima, tam mes įvedame klavišų sritį ir pasirenkame parinktį Papildyti. Čia įvedame pavadinimą, stulpelio tipą ir lyginamąjį tipą.

Tuo mes jau sukūrėme savo kolonų šeimaKaip matome, tai labai paprasta, tačiau ši sąsaja mus riboja daugelyje dalykų ir yra tik geras atspirties taškas pradedantiesiems vartotojams, norintiems suprasti, kaip Kasandra ir kaip jis elgiasi su grupes, mazgus, raktų sritis ir stulpelių šeimas.
Tuo baigėme šią pamoką, kurioje galėjome pamatyti, kokios architektūros Kasandra, jo protokolas, komponentai ir diegimas. Mes sužinojome apie struktūrą naudodamiesi žiniatinklio sąsaja, tačiau tai palietėme tik ledkalnio viršūnę, o būsimuose vadovėliuose mes visiškai susipažinsime CQL ir kaip profesionaliai dirbti Kasandra.
wave wave wave wave wave