Första steget med Cassandra

Innehållsförteckning
Cassandra är en databas NoSQL kraftfull och skalbar. Det är öppen källkod och dess arkitektur är utformat som ett distribuerat system där alla noder är desamma i det, så att data kan distribueras genom alla noder i klustret.
Förvaring i Cassandra är definierad som nyckelvärde där en nyckel kan mappa till ett eller flera värden. Är en Databas orienterad till radposter, där varje rad identifieras med dess nyckel och det speciella med detta system är att en rad kan lagras i mer än en nod.
Innan du fortsätter med installationen av Cassandra i vårt system måste vi veta lite om arkitekturen i detta Databas, på detta sätt kommer vi att veta vad vi har och vad vi kan uppnå.
När vi pratar om informationsreplikering är en av de första frågorna vi ställer oss: Hur många kopior behöver vi? Detta i Cassandra är inte en lätt fråga att svara på, men det vi måste komma ihåg är att denna faktor indikerar antalet noder som lagras i samma rad.
Till exempel garanterar en replikationsfaktor 2 att det kommer att finnas två kopior av informationen om noderna i klustret. Att välja värde två för replikeringsfaktorn är bra för att täcka misslyckanden i en nod i utvecklingsmiljön och kan vara minimum för produktionsmiljöer, eftersom om en nod går ner kommer den andra att hantera alla förfrågningar, så det är något som vi måste tänka noggrant innan du genomför den.
KeyspaceCassandra tillåter oss att gruppera informationen i något som kallas nyckelutrymmen, var kan vi säga att dessa nyckelutrymmen de är behållare för applikationsinformation. Ett kluster har dock ett nyckelutrymme per applikation Cassandra använd dessa nyckelutrymmen för hantering av replikering.
KolumnfamiljEfter att ha definierat vår nyckelutrymme, inuti den har vi något som heter kolumnfamilj, dessa är behållare lika, men för en samling rader. Varje rad är en ordnad samling kolumner och vi kan göra en analogi med relationella databaser där kolumnfamilj de är något som liknar tabeller.
ReplikeringsstrategiI Cassandra Det finns två strategier för replikering av information, en av dem och den som vi redan tagit upp är den enkla strategin eller SimpleStrategy som är ansvarig för att kopiera informationen till nästa nod tills den definierade replikationsfaktorn är uppfylld. Den andra strategin kallas NetworkTopologyStrategy, där det är det bästa alternativet om vi vill distribuera informationen över flera datacenter.
Protokollet som används av Cassandra för att dela platsen för noderna och informationen om dessa i klustret kallas Skvaller. Där dessa noder ständigt "mumlar" och utbyter information med upp till 3 noder i klustret.
Detta protokoll, liksom andra, har sina regler för att skicka förfrågningar till andra noder, där vi kan se tre steg för det, och varje nod upprepar alltid dessa steg:
1- Mumla till en slumpmässig aktiv nod.
2- Starta ett sorl mot en slumpmässig nedåtgående nod.
3- Det här steget är valfritt och definierar att om noden som valts i steg ett inte är en utsäde nod, mumla till en annan slumpmässig utsäde nod.
Men för att flytta informationen och utföra kommunikationen mellan noderna Cassandra använd en komponent som heter TjallaLåt oss se vad du menar.
I grund och botten är denna komponent ansvarig för att hantera informationsrörelsen mellan noder som tar andra noder för frågor och replikering baserat på olika mått. Den här konfigurationen är densamma för alla noder i klustret, men den kan variera i sin typ, låt oss se vilka vi har tillgängliga:
SimpleSnitchAnvänds vid enkla datacenterdistributioner och a Tjalla konfigureras på detta sätt använder ingen information från datacenteret. Dess beteende är enkelt, och det är att hitta nästa nod.
Dynamisk snitchingDenna konfiguration övervakar prestandan för replikerna och väljer den bästa baserat på en enkel mått som straffar långa svarstider och undviker noder som komprimerar din information.
RackInferringSnitchVad denna konfiguration gör är att använda IP -adressen för att bestämma platsen för noderna, där den sista delen av IP: n identifierar noden, den andra racken och den tredje datacentren.
PropertyFileSnitchDetta gör det möjligt att definiera klustertopologin i en egenskapsfil, vanligtvis används denna konfiguration om RackInferringSnitch icke tillämplig.
GossipingPropertyFileSnitchDen använder en egenskapsfil för initial konfiguration och fortsätter med sorlet för att skicka information till andra noder.
Installationen av Cassandra Vi kommer att göra det i ett lag med Windows 8, där vi måste uppfylla vissa krav innan, låt oss se vad vi behöver:
1- Vi måste ha åtminstone Java 7 installerat i vårt system, om vi inte har det kan vi ladda ner den senaste versionen i följande länk.
2- Vi behöver dessutom Microsoft Visual C ++ 2008 omfördelningsbart paket (x86).
3- Slutligen Internetanslutning för att ladda ner paketet DataStax.
Med våra krav granskade kommer vi att gå till projektsidan och leta efter 32 eller 64-bitarsversionen som passar vårt system:

FÖRSTORA

Om vi ​​vill titta på anslutningsdokumentationen för Cassandra Med de olika programmeringsspråken kan vi gå ner på sidan och se vad vi behöver för detsamma. Efter nedladdning installerar vi som alla Windows -program. Där det är viktigt att nämna att efter denna installation, Cassandra det kommer att skapa ett kluster av tester som standard.
Med installationen installeras flera verktyg i vårt system, ett av dem är webbgränssnittet för Cassandra ringa upp OpsCenter, som vi kan ange om vi lägger till följande adress i vår webbläsare:
 http: // localhost: 8888 / opscenter / index.html
Detta gränssnitt tillåter oss att göra flera intressanta saker, men det är inte det mest optimala att arbeta med Cassandra, men för denna handledning är det viktigt att känna till den, se vad den erbjuder oss och därmed ha en utgångspunkt för att börja känna till databasens struktur.
Det första vi hittar när vi går in i detta gränssnitt är avsnittet i instrumentbräda, där vi kan visualisera olika prestandamätvärden såsom nodhälsa, lagringskapacitet eller skrivförfrågningar:

FÖRSTORA

I detta gränssnitt kan vi skapa ett nytt kluster, för detta går vi till den övre högra delen och trycker på Nytt kluster, som öppnar följande skärm:

Vi anger de begärda uppgif.webpterna och klickar på bygga kluster, utöver detta kan vi lägga till noder lika i listrutan av Klusteråtgärder, uppe till höger. I avsnittet Ge inte, kan vi se tillgängliga noder och datacenter, samt vissa parametrar som hälsa, storleken på data och till och med de alarmer som genereras:

FÖRSTORA

I avsnittet Aktiviteter Vi kan se en lista över de aktiviteter som utförs i klustret, samt en händelselogg, något som är ganska användbart när vi är administratörer för Databas:

FÖRSTORA

Då har vi det viktigaste avsnittet inom vårt webbgränssnitt, och detta är Data, här kan vi definiera våra informationsbehållare som är mer kända som nyckelutrymmen och "borden" eller kolumnfamiljer.
För att skapa en nyckelutrymme, först måste vi gå till avsnittet Data och välj där alternativet Lägg till, anger vi namnet, replikeringsstrategin, som vi förklarar att det kan vara enkelt eller nätverkstopologi, och replikeringsfaktorn.

Vi räddade och vi skulle redan ha skapat vår nyckelutrymme, som vi kommer ihåg har dessa behållare en nyckelfunktion i Cassandra y är att definiera replikationsfaktorn. Med vår behållare definierad kommer vi att lägga till en kolumnfamilj, för detta går vi in ​​i nyckelutrymmet och väljer alternativet Lägg till. Här anger vi namnet, kolumntypen och jämförelsetypen.

Med detta har vi redan skapat vår kolumnfamiljSom vi kan se är det extremt enkelt, men detta gränssnitt begränsar oss i många saker och är bara en bra utgångspunkt för nybörjare som vill förstå hur strukturen för Cassandra och hur hanterar han kluster, noder, nyckelutrymmen och kolumnfamiljer.
Med detta avslutade vi denna handledning, där vi kunde se vad arkitekturen för Cassandra, dess protokoll, komponenter och dess installation. Vi lärde oss om strukturen via webbgränssnittet men med detta har vi bara rört toppen av isberget, i framtida handledning kommer vi att gå in helt med CQL och hur man arbetar professionellt med Cassandra.
wave wave wave wave wave