Eerste stappen met Cassandra

Inhoudsopgave
Cassandra is een database Geen SQL krachtig en schaalbaar. Het is open source en de architectuur is ontworpen als een gedistribueerd systeem waarbij alle knooppunten hetzelfde zijn, waardoor gegevens over alle knooppunten in het cluster kunnen worden gedistribueerd.
Opslag in Cassandra is gedefinieerd als sleutel waarde waarbij een sleutel kan worden toegewezen aan een of meer waarden. Is een Database gericht op rijrecords, waarbij elke rij wordt geïdentificeerd door zijn sleutel en de bijzonderheid van dit systeem is dat een rij in meer dan één knooppunt kan worden opgeslagen.
Alvorens over te gaan tot de installatie van: Cassandra in ons systeem moeten we iets weten over de architectuur hiervan databank, op deze manier weten we wat we hebben en wat we kunnen bereiken.
Als we het hebben over informatiereplicatie, is een van de eerste vragen die we onszelf stellen: Hoeveel kopieën hebben we nodig? Dit is in Cassandra geen gemakkelijke vraag om te beantwoorden, maar waar we rekening mee moeten houden is dat deze factor het aantal knooppunten aangeeft dat in dezelfde rij is opgeslagen.
Een replicatiefactor van 2 garandeert bijvoorbeeld dat er twee kopieën zijn van de informatie van de knooppunten in het cluster. Het kiezen van de waarde twee voor de replicatiefactor is goed om fouten in een knooppunt in de ontwikkelomgeving te dekken en kan het minimum zijn voor productieomgevingen, aangezien als een knooppunt uitvalt, het andere alle verzoeken zal behandelen, dus het is iets dat we moeten bedenken zorgvuldig voordat u het implementeert.
SleutelruimteCassandra stelt ons in staat om de informatie te groeperen in iets genaamd keyspaces, waar kunnen we zeggen dat deze sleutelruimten het zijn containers voor applicatie-informatie. Een cluster heeft echter één keyspace per applicatie Cassandra gebruik deze sleutelruimten voor het afhandelen van replicatie.
Kolom familieNa het definiëren van onze sleutelruimte, binnenin hebben we iets genaamd kolom familie, dit zijn dezelfde containers, maar voor een verzameling rijen. Elke rij is een geordende verzameling kolommen en we kunnen een analogie maken met betrekking tot relationele databases, waarbij de kolom familie ze lijken enigszins op tabellen.
ReplicatiestrategieIn Cassandra Er zijn twee strategieën voor het repliceren van informatie, een daarvan en degene die we al hebben besproken, is de eenvoudige strategie of Eenvoudige Strategie die verantwoordelijk is voor het kopiëren van de informatie naar het volgende knooppunt totdat aan de gedefinieerde replicatiefactor is voldaan. De tweede strategie heet NetwerkTopologieStrategie, waar het de beste optie is als we de informatie over meerdere datacenters willen verspreiden.
Het protocol dat wordt gebruikt door Cassandra om de locatie van de knooppunten te delen en de informatie hiervan in het cluster wordt genoemd Roddel. Waarbij deze nodes constant "mompelen" en informatie uitwisselen met maximaal 3 nodes in het cluster.
Dit protocol heeft, net als andere, zijn regels om verzoeken naar andere knooppunten te verzenden, waar we drie stappen voor kunnen zien, en elk knooppunt herhaalt deze stappen altijd:
1- Murmur naar een willekeurig actief knooppunt.
2- Begin een geruis in de richting van een willekeurige neerwaartse knoop.
3- Deze stap is optioneel en definieert dat als het in stap één geselecteerde knooppunt geen seed-knooppunt is, mompelt naar een ander willekeurig seed-knooppunt.
Maar om de informatie te verplaatsen en de communicatie tussen de knooppunten uit te voeren Cassandra gebruik een component genaamd JattenLaten we eens kijken wat je bedoelt.
In principe is dit onderdeel verantwoordelijk voor het beheer van de verplaatsing van informatie tussen knooppunten die andere knooppunten gebruiken voor query's en replicatie op basis van verschillende statistieken. Deze configuratie is hetzelfde voor alle knooppunten binnen het cluster, maar het kan variëren in het type, laten we eens kijken welke we beschikbaar hebben:
SimpleSnitchGebruikt in eenvoudige datacenterimplementaties, en a jatten die op deze manier is geconfigureerd, gebruikt geen informatie uit het datacenter. Het gedrag is eenvoudig en het is om het volgende knooppunt te vinden.
Dynamisch snitchenDeze configuratie bewaakt de prestaties van de replica's en selecteert de beste op basis van een eenvoudige metriek die lange reactietijden bestraft en knooppunten vermijdt die uw informatie comprimeren.
RackInferringSnitchWat deze configuratie doet, is het IP-adres gebruiken om de locatie van de knooppunten te bepalen, waarbij het laatste deel van het IP het knooppunt identificeert, het tweede de racks en het derde de datacenters.
PropertyFileSnitchDit maakt de definitie van de clustertopologie in een eigenschappenbestand mogelijk, over het algemeen wordt deze configuratie gebruikt als: RackInferringSnitch niet van toepassing.
RoddelenPropertyFileSnitchHet gebruikt een eigenschappenbestand voor de initiële configuratie en gaat verder met het geruis om informatie naar andere knooppunten te verzenden.
De installatie van Cassandra We doen het in een team met Windows 8, waarin we eerder aan bepaalde vereisten moeten voldoen, laten we eens kijken wat we nodig hebben:
1- We moeten tenminste Java 7 geïnstalleerd in ons systeem, als we het niet hebben, kunnen we de meest recente versie downloaden via de volgende link.
2- We hebben bovendien nodig: Microsoft Visual C++ 2008 herdistribueerbaar pakket (x86).
3- Eindelijk internetverbinding om het pakket te downloaden DataStax.
Nadat onze vereisten zijn beoordeeld, gaan we naar de projectpagina en zoeken we naar de 32- of 64-bits versie die bij ons systeem past:

VERGROTEN

Als we de connectiviteitsdocumentatie willen bekijken voor: Cassandra Met de verschillende programmeertalen kunnen we naar beneden gaan en zien wat we daarvoor nodig hebben. Na het downloaden installeren we zoals elke Windows-applicatie. Waar het belangrijk is om te vermelden dat na deze installatie, Cassandra het zal standaard een cluster van tests maken.
Met de installatie worden verschillende tools in ons systeem geïnstalleerd, een daarvan is de webinterface van Cassandra telefoongesprek OpsCenter, die we kunnen invoeren als we in onze browser het volgende adres invoeren:
 http: // localhost: 8888 / opscenter / index.html
Met deze interface kunnen we verschillende interessante dingen doen, maar het is niet de meest optimale om mee te werken Cassandra, maar voor de doeleinden van deze tutorial is het belangrijk om het te kennen, te zien wat het ons biedt en zo een startpunt te hebben om de structuur van de database te leren kennen.
Het eerste dat we vinden bij het betreden van deze interface is het gedeelte van Dashboard, waar we verschillende prestatiestatistieken kunnen visualiseren, zoals de gezondheid van knooppunten, opslagcapaciteit of schrijfverzoeken:

VERGROTEN

In deze interface kunnen we een nieuw cluster maken, hiervoor gaan we naar de rechterbovenhoek en drukken op Nieuw cluster, die het volgende scherm opent:

We vullen de gevraagde gegevens in en klikken op cluster bouwen, daarnaast kunnen we knooppunten gelijkelijk toevoegen in de vervolgkeuzelijst van Clusteracties, rechtsboven. In de sectie Geef niet, kunnen we de beschikbare knooppunten en datacenters zien, evenals bepaalde parameters zoals gezondheid, de grootte van de gegevens en zelfs de gegenereerde waarschuwingen:

VERGROTEN

In de sectie Activiteiten We kunnen een lijst zien van de activiteiten die in het cluster zijn uitgevoerd, evenals een gebeurtenislogboek, iets dat heel handig is als we de beheerders zijn van de Database:

VERGROTEN

Dan hebben we de belangrijkste sectie binnen onze webinterface, en dit is Gegevens, hier kunnen we onze informatiecontainers definiëren, beter bekend als: sleutelruimten en de "tafels" of kolom families.
om een ​​te maken toetsruimte, eerst moeten we naar de sectie gaan Gegevens en selecteer daar de optie Toevoegen, voeren we de naam in, de replicatiestrategie, waarin we uitleggen dat deze eenvoudig of netwerktopologie kan zijn, en de replicatiefactor.

We hebben gered en we zouden onze . al gemaakt hebben toetsruimte, zoals we ons herinneren hebben deze containers een sleutelfunctie in Cassandra y is om de replicatiefactor te definiëren. Met onze container gedefinieerd gaan we a . toevoegen kolom familie, hiervoor gaan we de keyspace in en selecteren de optie Toevoegen. Hier voeren we de naam, het kolomtype en het comparatortype in.

Hiermee hebben we al onze kolom familieZoals we kunnen zien, is het uiterst eenvoudig, maar deze interface beperkt ons in veel dingen en is slechts een goed startpunt voor beginnende gebruikers die willen begrijpen hoe de structuur van Cassandra en hoe gaat hij om met clusters, knooppunten, sleutelruimten en kolomfamilies.
Hiermee hebben we deze tutorial afgerond, waar we konden zien wat de architectuur van Cassandra, het protocol, de componenten en de installatie ervan. We leerden over de structuur via de webinterface, maar hiermee hebben we nog maar het topje van de ijsberg aangeraakt, in toekomstige tutorials zullen we volledig met CQL en hoe u professioneel kunt werken met Cassandra.
wave wave wave wave wave