Temat e mbuluara:

  1. Çfarë është Apache Cassandra.
  2. Arkitekturë.
  3. Modelimi i të dhënave.
  4. KeySpace dhe Strategjia.

Çfarë është Apache Cassandra:

Apache Cassandra është një bazë të dhënash me burim të hapur që përdor një arkitekturë të shpërndarë NoSQL për disponueshmëri, shkallëzim dhe besueshmëri të lartë.
Është një sistem ruajtjeje i decentralizuar dhe i shkallëzuar i krijuar për të trajtuar vëllime të mëdha të dhënash nëpër serverë të shumtë të mallrave, duke ofruar disponueshmëri të lartë pa asnjë pikë të vetme dështimi.

Arkitektura:

Cassandra është një sistem i shpërndarë, NoSQL i bazës së të dhënave, i krijuar për të trajtuar sasi të mëdha të dhënash në shumë serverë të mallrave.

Në Cassandra, çdo nyje në grup konsiderohet e barabartë dhe mbart të njëjtin nivel rëndësie. Kjo njihet si një arkitekturë peer-to-peer, ku çdo nyje mund të komunikojë drejtpërdrejt me çdo nyje tjetër, pa pasur nevojë për një server ose koordinator të centralizuar.

Çdo nyje në Cassandra është përgjegjëse për ruajtjen dhe menaxhimin e një pjese të të dhënave. Të dhënat ndahen në ndarje dhe secila ndarje përsëritet nëpër nyje të shumta për tolerancë ndaj gabimeve dhe disponueshmëri të lartë. Çdo nyje është përgjegjëse për një gamë të caktuar ndarjesh, dhe kur një klient kërkon të dhëna, Cassandra përdor një çelës ndarjeje për të përcaktuar se cilat nyje duhet të kërkojnë.

Në përgjithësi, arkitektura peer-to-peer e Cassandra, e kombinuar me shpërndarjen e të dhënave nëpër nyje dhe qendra të shumta të të dhënave, ofron një sistem bazë të dhënash shumë të shkallëzuar, tolerant ndaj gabimeve që mund të trajtojë sasi masive të dhënash dhe nivele të larta trafiku.

Modelimi i të dhënave:

Në Cassandra, të dhënat organizohen në familje kolonash, të cilat janë grupe kolonash që ruhen së bashku. Çdo rresht në një familje kolone identifikohet nga një çelës unik dhe mund të përmbajë kolona të shumta me emra dhe vlera të ndryshme. Familjet e kolonave mund të mendohen si një koleksion çiftesh çelës-vlerë, ku çelësat janë çelësat e rreshtit dhe vlerat janë kolonat.

Cassandra preferon qasjen "pyetja e parë". Ai i referohet një teknike të modelimit të të dhënave që përfshin hartimin e modelit të të dhënave rreth pyetjeve që do të kryhen në të dhëna. Kjo qasje përfshin analizimin e pyetjeve që një aplikacion duhet të kryejë dhe më pas dizajnimin e modelit të të dhënave për të optimizuar ato pyetje.

Cassandra nuk mbështet NULL dhe kur futet NULL, ajo thjesht fshin kolonën përkatëse. Nga njëra anë kjo është shumë e efektshme në hapësirë, por nga ana tjetër krijon gurë varresh që degradojnë performancën e leximit.

Tomb Stone

Guri i varrit është një shënues që lihet pas fshirjes së një regjistrimi. Kur një rekord fshihet në Cassandra, të dhënat aktuale nuk hiqen menjëherë. Gurët e varreve mund të jenë problematikë në Kasandra nëse nuk menaxhohen siç duhet. Nëse grumbullohen shumë gurë varri, ato mund të ndikojnë në performancën e pyetjes dhe të çojnë në dështime të nyjeve. Kjo ndodh sepse Cassandra i ruan gurët e varreve për një periudhë kohore të konfigurueshme (parazgjedhja është 10 ditë) përpara se t'i heqë ato. Gjatë kësaj kohe, gurët e varreve mund të grumbullohen dhe të konsumojnë hapësirë ​​në disk dhe memorie.

Për të shmangur çështjet që lidhen me gurët e varrit, është e rëndësishme të hartoni me kujdes modelin tuaj të të dhënave dhe të përdorni strategjitë e duhura për heqjen e gurëve të varrit.

a) Përdorni mjetin nodetool për të detyruar një operacion ngjeshjeje, i cili heq gurët e varreve dhe liron hapësirën në disk.

b) Përdorni veçorinë TTL (time-to-live) në Cassandra, e cila fshin automatikisht gurët e varreve pas një periudhe të caktuar kohe.

c) Rregulloni parametrin gc_grace_seconds për të specifikuar se sa kohë duhet të mbahen në sistem gurët e varreve.

d) Shmangni përdorimin e vauleve NULL për ruajtjen e të dhënave.

Çelësi kryesor

Në Cassandra, çelësi kryesor është një identifikues unik për çdo rresht në një tabelë. Ai përbëhet nga një ose më shumë kolona që identifikojnë në mënyrë unike një rresht brenda një ndarjeje. Çelësi primar përcakton gjithashtu ndarjen dhe grupimin e të dhënave në një tabelë.

Ekzistojnë dy lloje të çelësave kryesorë në Cassandra:

a) Çelësi kryesor i thjeshtë.

b) Çelësi parësor i përbërë.

a) Çelësi kryesor i thjeshtë:Një çelës i thjeshtë primar përbëhet nga vetëm një kolonë, e cila vepron si çelësi i ndarjes. Vlerat e kësaj kolone përcaktojnë ndarjen e të dhënave nëpër grup. Në një tabelë me një çelës të thjeshtë primar, të gjitha rreshtat me të njëjtën vlerë të çelësit të ndarjes ruhen së bashku në të njëjtën ndarje.

Në këtë tabelë, kolona "username" vepron si çelësi i ndarjes dhe të gjitha rreshtat me të njëjtën vlerë "username" do të ruhen së bashku në të njëjtën ndarje.

b) Çelësi parësor i përbërë:Një çelës primar i përbërë përbëhet nga më shumë se një kolonë, ku kolona e parë është çelësi i ndarjes dhe kolonat e mbetura janë kolonat e grupimit.

Vlerat e çelësit të ndarjes përcaktojnë ndarjen e të dhënave, ndërsa kolonat e grupimit përcaktojnë rendin e të dhënave brenda secilës ndarje.

Për shembull, merrni parasysh një tabelë të quajtur "përdorues" me një çelës primar të përbërë në kolonat "dob" dhe "username":

Në këtë tabelë, kolona "dob" vepron si çelësi i ndarjes dhe kolona "emri i përdoruesit" vepron si kolona e grupimit. Rreshtat me të njëjtën vlerë "dob" ruhen së bashku në të njëjtën ndarje dhe brenda secilës ndarje, rreshtat renditen sipas vlerës "username".

KeySpace dhe Strategjia.

Komanda “Create Keyspace” përdoret për të krijuar hapësirën kyçe.

KRIJO KEYSPACE ‹KeySpaceName› WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 3}

Strategjia e thjeshtë:
Strategjia e thjeshtë është një strategji riprodhimi që përdoret kur ka vetëm një qendër të dhënash. Në këtë strategji, kopja e parë vendoset në nyjen e zgjedhur nga ndarësi. Pas kësaj, kopjet e mbetura vendosen në unazë në drejtim të akrepave të orës pa marrë parasysh vendndodhjen e rafteve ose nyjeve. Për shembull, nëse faktori i replikimit është 3, atëherë kopja e parë vendoset në nyjen e zgjedhur, kopja e dytë vendoset në nyjen tjetër në drejtim të akrepave të orës dhe kopja e tretë vendoset në nyjen pas kësaj.
replication_factor: ‹integer_value›
class: 'SimpleStrategy'

Strategjia e Topologjisë së Rrjetit:
Strategjia e Topologjisë së Rrjetit është një strategji riprodhimi që përdoret kur ka shumë qendra të dhënash. Në këtë strategji, faktori i përsëritjes specifikohet për secilën qendër të të dhënave veç e veç. Kjo strategji siguron që kopjet të vendosen në qendra të ndryshme të të dhënave për të shmangur humbjen e të dhënave në rast të dështimit të qendrës së të dhënave.
replication_factor: {'datacenter1': ‹integer_value›, 'datacenter2': ‹integer_value›, …}<}< br /> class: 'NetworkTopologyStrategy'

Kjo eshte e gjitha !!

Tani jeni mirë të shkoni të përdorni aplikacionin tuaj Cassandra. Gjithashtu ju lutemi komentoni nëse keni disa pyetje.