Første skridt med Cassandra

Indholdsfortegnelse
Cassandra er en database NoSQL kraftfuld og skalerbar. Det er open source, og dets arkitektur er designet som et distribueret system, hvor alle noder er de samme i det, hvilket gør det muligt at distribuere data gennem alle noder i klyngen.
Opbevaring i Cassandra er defineret som nøgle / værdi hvor en nøgle kan kortlægge til en eller flere værdier. Er en Database orienteret til rækkeregistreringer, hvor hver række er identificeret ved sin nøgle og det særlige ved dette system er, at en række kan gemmes i mere end en node.
Inden installationen af Cassandra i vores system skal vi vide lidt om arkitekturen i dette Database, på denne måde ved vi, hvad vi har, og hvad vi kan opnå.
Når vi taler om informationsreplikation, er et af de første spørgsmål, vi stiller os selv: Hvor mange kopier har vi brug for? Dette i Cassandra er ikke et let spørgsmål at besvare, men vi skal huske på, at denne faktor angiver antallet af noder, der er lagret i den samme række.
For eksempel garanterer en replikationsfaktor på 2, at der vil være to kopier af informationen om noderne i klyngen. At vælge værdien to til replikationsfaktoren er god til at dække fejl i en knude i udviklingsmiljøet og kan være minimum for produktionsmiljøer, da hvis den ene knude går ned, håndterer den anden alle anmodninger, så det er noget, vi skal tænke over omhyggeligt, før du implementerer det.
KeyspaceCassandra giver os mulighed for at gruppere oplysningerne i noget kaldet nøglerum, hvor kan vi sige, at disse nøglerum de er beholdere til applikationsinformation. En klynge har dog et nøgleområde pr. Applikation Cassandra bruge disse nøglerum til håndtering af replikation.
SøjlefamilieEfter at have defineret vores nøglerum, inde i det har vi noget, der hedder kolonne familie, disse er containere ens, men til en samling af rækker. Hver række er en ordnet samling kolonner, og vi kan lave en analogi med relationelle databaser, hvor kolonne familie de ligner lidt borde.
ReplikationsstrategiI Cassandra Der er to strategier for replikering af information, en af ​​dem og den, som vi allerede har behandlet, er den enkle strategi eller Simple Strategi som er ansvarlig for at kopiere oplysningerne til den næste node, indtil den definerede replikationsfaktor er opfyldt. Den anden strategi kaldes NetworkTopologyStrategi, hvor det er den bedste mulighed, hvis vi vil distribuere oplysningerne på tværs af flere datacentre.
Protokollen brugt af Cassandra for at dele placeringen af ​​noderne og oplysningerne om disse i klyngen kaldes Sladre. Hvor disse noder konstant "mumler" og udveksler information med op til 3 noder i klyngen.
Denne protokol har ligesom andre sine regler for at sende anmodninger til andre noder, hvor vi kan se tre trin for det, og hver node gentager altid disse trin:
1- Murm til en tilfældig aktiv knude.
2- Start et murren mod en tilfældig nedadgående knude.
3- Dette trin er valgfrit og definerer, at hvis den knude, der blev valgt i trin et, ikke er en frøknude, så knurre til en anden tilfældig frøknude.
Men for at flytte informationen og udføre kommunikationen mellem noderne Cassandra bruge en komponent kaldet SnitchLad os se, hvad du mener.
Grundlæggende er denne komponent ansvarlig for at styre flytningen af ​​information mellem noder, der tager andre noder til forespørgsler og replikering baseret på forskellige metrics. Denne konfiguration er den samme for alle noder i klyngen, men den kan variere i sin type, lad os se, hvilke vi har til rådighed:
SimpleSnitchAnvendes i simple datacenterimplementeringer og a snitch konfigureret på denne måde bruger ingen oplysninger fra datacenteret. Dets adfærd er enkel, og det er at finde den næste knude.
Dynamisk snitchingDenne konfiguration overvåger ydeevnen af ​​replikaerne og vælger den bedste baseret på en simpel metrik, der straffer lange svartider og undgår noder, der komprimerer dine oplysninger.
RackInferringSnitchHvad denne konfiguration gør, er at bruge IP -adressen til at bestemme placeringen af ​​noderne, hvor den sidste del af IP'en identificerer noden, den anden stativer og den tredje datacentre.
PropertyFileSnitchDette gør det muligt at definere klyngetopologien i en egenskabsfil, generelt bruges denne konfiguration hvis RackInferringSnitch Ikke gældende.
GossipingPropertyFileSnitchDen bruger en egenskabsfil til indledende konfiguration og fortsætter med mumlen til at sende oplysninger til andre noder.
Installation af Cassandra Vi vil gøre det i et team med Windows 8, hvor vi skal opfylde visse krav før, lad os se, hvad vi har brug for:
1- Vi skal have mindst Java 7 installeret i vores system, hvis vi ikke har det, kan vi downloade den seneste version i det følgende link.
2- Vi har derudover brug for Microsoft Visual C ++ 2008 videredistribuerbar pakke (x86).
3- Endelig internetforbindelse for at downloade pakken DataStax.
Når vores krav er gennemgået, går vi til projektsiden og leder efter den 32 eller 64-bit version, der passer til vores system:

FORSTØRRE

Hvis vi vil tage et kig på tilslutningsdokumentationen til Cassandra Med de forskellige programmeringssprog kan vi gå ned på siden og se, hvad vi har brug for til det samme. Efter download, installerer vi som enhver Windows -applikation. Hvor det er vigtigt at nævne, at efter denne installation, Cassandra det vil som standard oprette en klynge af tests.
Med installationen installeres flere værktøjer i vores system, et af dem er webgrænsefladen til Cassandra opkald OpsCenter, hvortil vi kan indtaste, hvis vi i vores browser indsætter følgende adresse:
 http: // localhost: 8888 / opscenter / index.html
Denne grænseflade giver os mulighed for at gøre flere interessante ting, men det er ikke det mest optimale at arbejde med Cassandra, men med henblik på denne vejledning er det vigtigt at kende den, se hvad den tilbyder os og dermed have et udgangspunkt for at begynde at kende databasens struktur.
Den første ting, vi finder, når vi går ind i denne grænseflade, er sektionen af Dashboard, hvor vi kan visualisere forskellige præstationsmålinger, såsom nodesundhed, lagerkapacitet eller skriveforespørgsler:

FORSTØRRE

I denne grænseflade kan vi oprette en ny klynge, for dette går vi til den øverste højre del og trykker på Ny klynge, som åbner følgende skærm:

Vi indtaster de ønskede data og klikker på bygge klynge, ud over dette kan vi tilføje noder lige i rullemenuen af Klyngehandlinger, øverst til højre. I afsnittet Giv ikke, kan vi se de tilgængelige noder og datacentre samt visse parametre som sundhed, størrelsen på dataene og endda de genererede advarsler:

FORSTØRRE

I afsnittet Aktiviteter Vi kan se en liste over de aktiviteter, der udføres i klyngen, samt en hændelseslog, noget ganske nyttigt, når vi er administratorer for Database:

FORSTØRRE

Så har vi det vigtigste afsnit inden for vores webgrænseflade, og dette er Data, her kan vi definere vores informationsbeholdere bedre kendt som nøglerum og "tabellerne" eller spaltefamilier.
For at oprette en nøglerum, først skal vi gå til afsnittet Data og vælg der indstillingen Tilføje, indtaster vi navnet, replikationsstrategien, som vi forklarer, at det kan være enkelt eller netværkstopologi, og replikationsfaktoren.

Vi reddede, og vi ville allerede have oprettet vores nøglerum, som vi husker, har disse beholdere en nøglefunktion i Cassandra y er at definere replikationsfaktoren. Med vores container defineret vil vi tilføje en kolonne familie, for dette går vi ind i nøgleområdet og vælger indstillingen Tilføje. Her indtaster vi navnet, kolonnetypen og sammenligningstypen.

Med dette har vi allerede skabt vores kolonne familieSom vi kan se, er det ekstremt enkelt, men denne grænseflade begrænser os i mange ting og er kun et godt udgangspunkt for nybegyndere, der ønsker at forstå, hvordan strukturen i Cassandra og hvordan håndterer han klynger, noder, nøglerum og kolonnefamilier.
Med dette afsluttede vi denne vejledning, hvor vi kunne se, hvad arkitekturen for Cassandra, dens protokol, komponenter og dens installation. Vi lærte om strukturen gennem webgrænsefladen, men med dette har vi kun rørt toppen af ​​isbjerget, i fremtidige selvstudier vil vi gå ind fuldstændigt med CQL og hvordan man arbejder professionelt med Cassandra.
wave wave wave wave wave