Første skritt med Cassandra

Innholdsfortegnelse
Cassandra er en database NoSQL kraftig og skalerbar. Det er åpen kildekode og arkitekturen er designet som et distribuert system der alle noder er like i det, og dermed tillater data å bli distribuert gjennom alle noder i klyngen.
Lagring i Cassandra er definert som nøkkel / verdi hvor en nøkkel kan kartlegge til en eller flere verdier. Er en Database orientert mot radoppføringer, hvor hver rad er identifisert med nøkkelen og særegenheten til dette systemet er at en rad kan lagres i mer enn en node.
Før du fortsetter til installasjonen av Cassandra i vårt system må vi vite litt om arkitekturen til dette Database, på denne måten vil vi vite hva vi har og hva vi kan oppnå.
Når vi snakker om informasjonsreplisering, er et av de første spørsmålene vi stiller oss selv: Hvor mange eksemplarer trenger vi? Dette i Cassandra er ikke et lett spørsmål å svare på, men det vi må huske på er at denne faktoren angir antall noder som er lagret i samme rad.
For eksempel garanterer en replikasjonsfaktor 2 at det vil være to kopier av informasjonen til nodene i klyngen. Å velge verdien to for replikeringsfaktoren er bra for å dekke feil i en node i utviklingsmiljøet og kan være minimum for produksjonsmiljøer, siden hvis den ene noden går ned, vil den andre håndtere alle forespørsler, så det er noe vi må tenke på nøye før du implementerer det.
KeyspaceCassandra lar oss gruppere informasjonen i noe som heter nøkkelrom, hvor kan vi si at disse nøkkelrom de er beholdere for søknadsinformasjon. En klynge har imidlertid et nøkkelrom per applikasjon Cassandra bruk disse nøkkelrom for håndtering av replikering.
Kolonne familieEtter å ha definert vår nøkkelrom, inne i det har vi noe som heter spaltefamilie, dette er beholdere likt, men for en samling rader. Hver rad er en ordnet samling kolonner, og vi kan gjøre en analogi med relasjonsdatabaser, der spaltefamilie de ligner litt på tabeller.
ReplikeringsstrategiI Cassandra Det er to strategier for replikering av informasjon, en av dem og den som vi allerede tok opp er den enkle strategien eller SimpleStrategy som er ansvarlig for å kopiere informasjonen til neste node til den definerte replikasjonsfaktoren er oppfylt. Den andre strategien kalles NetworkTopologyStrategy, hvor det er det beste alternativet hvis vi ønsker å distribuere informasjonen over flere datasentre.
Protokollen som brukes av Cassandra for å dele plasseringen av nodene og informasjonen om disse i klyngen kalles Sladder. Hvor disse nodene stadig "mumler" og utveksler informasjon med opptil 3 noder i klyngen.
Denne protokollen, som andre, har sine regler for å sende forespørsler til andre noder, hvor vi kan se tre trinn for den, og hver node gjentar alltid disse trinnene:
1- Murm til en tilfeldig aktiv node.
2- Start et murren mot en tilfeldig nedadgående node.
3- Dette trinnet er valgfritt og definerer at hvis noden som ble valgt i trinn en ikke er en frøknute, mumler til en annen tilfeldig frøknode.
Men for å flytte informasjonen og utføre kommunikasjonen mellom nodene Cassandra bruk en komponent som heter SnitchLa oss se hva du mener.
I utgangspunktet er denne komponenten ansvarlig for å administrere bevegelsen av informasjon mellom noder som tar andre noder for spørringer og replikering basert på forskjellige beregninger. Denne konfigurasjonen er den samme for alle noder i klyngen, men den kan variere i type, la oss se hvilke vi har tilgjengelig:
SimpleSnitchBrukes i enkle datasenterutplasseringer, og a snik konfigurert på denne måten bruker ikke informasjon fra datasenteret. Dets oppførsel er enkel, og det er å finne den neste noden.
Dynamisk snitchingDenne konfigurasjonen overvåker ytelsen til kopiene og velger den beste basert på en enkel beregning som straffer lange responstider og unngår noder som komprimerer informasjonen din.
RackInferringSnitchHva denne konfigurasjonen gjør, er å bruke IP -adressen til å bestemme plasseringen av nodene, der den siste delen av IP -en identifiserer noden, den andre rekken og den tredje datasentrene.
PropertyFileSnitchDette tillater definisjon av klyngetopologien i en egenskapsfil, vanligvis brukes denne konfigurasjonen hvis RackInferringSnitch ikke anvendelig.
GossipingPropertyFileSnitchDen bruker en egenskapsfil for innledende konfigurasjon og fortsetter med murren for å sende informasjon til andre noder.
Installasjonen av Cassandra Vi skal gjøre det i lag med Windows 8, der vi må oppfylle visse krav før, la oss se hva vi trenger:
1- Vi må ha minst Java 7 installert i systemet vårt, hvis vi ikke har det, kan vi laste ned den nyeste versjonen i følgende lenke.
2- Vi trenger i tillegg Microsoft Visual C ++ 2008 videredistribuerbar pakke (x86).
3- Endelig Internett -tilkobling for å laste ned pakken DataStax.
Når kravene våre er gjennomgått, skal vi gå til projektsiden og se etter 32 eller 64-biters versjonen som passer vårt system:

FORSTØRRE

Hvis vi vil ta en titt på tilkoblingsdokumentasjonen for Cassandra Med de forskjellige programmeringsspråk kan vi gå ned på siden og se hva vi trenger for det samme. Etter nedlasting installerer vi som alle Windows -applikasjoner. Hvor det er viktig å nevne at etter denne installasjonen, Cassandra det vil opprette en klynge med tester som standard.
Med installasjonen er flere verktøy installert i systemet vårt, et av dem er webgrensesnittet til Cassandra anrop OpsCenter, som vi kan angi hvis vi legger inn følgende adresse i nettleseren vår:
 http: // localhost: 8888 / opscenter / index.html
Dette grensesnittet lar oss gjøre flere interessante ting, men det er ikke det mest optimale å jobbe med Cassandra, men med tanke på denne opplæringen er det viktig å kjenne den, se hva den tilbyr oss og dermed ha et utgangspunkt for å begynne å kjenne strukturen til databasen.
Det første vi finner når vi går inn i dette grensesnittet er delen av Dashboard, hvor vi kan visualisere ulike ytelsesberegninger som nodehelse, lagringskapasitet eller skriveforespørsler:

FORSTØRRE

I dette grensesnittet kan vi opprette en ny klynge, for dette går vi til den øvre høyre delen og trykker på Ny klynge, som åpner følgende skjermbilde:

Vi legger inn de forespurte dataene og klikker på bygge klynge, i tillegg til dette kan vi legge til noder like i nedtrekkslisten Klyngehandlinger, øverst til høyre. I seksjonen Ikke gi, kan vi se tilgjengelige noder og datasentre, samt visse parametere som helse, størrelsen på dataene og til og med varslene som genereres:

FORSTØRRE

I seksjonen Aktiviteter Vi kan se en liste over aktivitetene som utføres i klyngen, samt en hendelseslogg, noe som er ganske nyttig når vi er administratorer for Database:

FORSTØRRE

Så har vi den viktigste delen i webgrensesnittet vårt, og dette er Data, her kan vi definere våre informasjonsbeholdere bedre kjent som nøkkelrom og "bordene" eller spaltefamilier.
For å lage en nøkkelrom, først må vi gå til seksjonen Data og der velger du alternativet Legg til, skriver vi inn navnet, replikeringsstrategien, som vi forklarer at det kan være enkelt eller nettverkstopologi, og replikasjonsfaktoren.

Vi reddet, og vi ville allerede ha opprettet vår nøkkelrom, som vi husker at disse beholderne har en nøkkelfunksjon i Cassandra y er å definere replikasjonsfaktoren. Med beholderen vår definert skal vi legge til en spaltefamilie, for dette går vi inn i nøkkelområdet og velger alternativet Legg til. Her skriver vi inn navnet, kolonnetypen og sammenligningstypen.

Med dette har vi allerede skapt vår spaltefamilieSom vi kan se, er det ekstremt enkelt, men dette grensesnittet begrenser oss i mange ting og er bare et godt utgangspunkt for nybegynnere som ønsker å forstå hvordan strukturen til Cassandra og hvordan håndterer han klynger, noder, nøkkelrom og kolonnefamilier.
Med dette avsluttet vi denne opplæringen, der vi kunne se hva arkitekturen til Cassandraprotokollen, komponentene og installasjonen. Vi lærte om strukturen gjennom webgrensesnittet, men med dette har vi bare rørt toppen av isfjellet, i fremtidige opplæringsprogrammer vil vi gå helt inn med CQL og hvordan du jobber profesjonelt med Cassandra.

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave