Introduktion til kolonnefamilien med Cassandra



Denne blog fremhæver vigtigheden af ​​kolonnefamilie med Cassandra

Kolonnefamilie

En kolonnefamilie ligner en tabel i RDBMS eller Relational Database Management System og er en logisk division, der forbinder lignende data. Dybest set er det i lignende data, at du har tendens til at gemme en slags data, der er af lignende emner.

For eksempel lagres en ordredata i en enkelt kolonnefamilie, så du kan have et ordre-id som en række nøgle såvel som forskellige kolonner, som den slags produkt blev bragt som en del af den ordre, der skal gemmes i den bestemte ordrefamilie . For at give bestemte eksempler består en brugerkolonnefamilie af et bruger-id som en nøgle. Derfor kan man frit vælge et id, og kolonnerne kan være 'navn = Kunal'. Og søjleværdierne er Kunal og Bangalore. Der er en anden kolonnefamilie kaldet Cricketer-kolonnefamilie, som muliggør lagring af cricketerstatistikker i en kolonnefamilie. For eksempel kan du have Sachin Tendulkar i en kolonne og antallet af århundreder i en anden. Derfor kan der være et hvilket som helst antal kolonner.





Kolonnetyper

Kolonnefamilien er intet andet end en tabel, der er analog med en tabel i en RDBMS-verden. Der er visse typer til det, nemlig

udvider og implementerer sammen i java

Statisk søjle Familie - Statisk kolonnefamilie er, hvor navne og datatyper er defineret. Så når kolonnefamilien oprettes, er muligheden for at navngive kolonnenavn og datatyper tilgængelig. Det kaldes statisk, fordi kolonnerne forbliver statiske, og antallet af tilgængelige kolonner vil være kendt.



Dynamisk søjlefamilie - En dynamisk kolonnefamilie definerer derimod ikke søjlenavnene foran, og Cassandras evne til at bruge vilkårlige applikations- og søjlenavne til at gemme data er tilgængelig. Så dynamisk hjælper på en måde, fordi dynamiske kolonnefamilier i en ustruktureret data de fleste gange hjælper med at tage sig af nye felter, der muligvis er blevet tilføjet senere.

Hvis du har en statisk kolonnefamilie, og du vil tilføje en dynamisk kolonnefamilie i din kode, mens data indlæses, kan den når som helst føjes til en statisk kolonnefamilie. Cassandra giver friheden til at vælge kolonnenavne.

Forskel med RDBMS

Cassandra-kolonnefamilien er skemafri og er meget skalerbar. Cassandra-kolonnefamilien har to attributter - Navn og komparator. Så når du har en Cassandra-kolonnefamilie, bliver det obligatorisk at give det et navn, og Comparator er dybest set en datatype for kolonnenavne. Hvis du ikke angiver komparatoren, antager det, at det er en standardkomparator.



Cassandra har også en kolonne med superkolonnefamilier. Den bruger en superkolonne internt. Det er en logisk gruppering og et andet niveau for gruppering af kolonner. Så i en brugerkolonnefamilie kan du have to superkolonner, hvor vi kan have brugernes personlige oplysninger og produktoplysninger.

Kolonner

En kolonne er den mindste stigning i data i Cassandra. Den har 3 komponenter:

  • Navn
  • Værdi
  • Tidsstempel - Bruges i konfliktløsning, og tidsstemplet kan ikke redigeres. Det er en intern mekanisme til at se, hvornår disse data eller kolonner blev opdateret.
  • Udløber kolonner - En udløbsdato kan gives til en kolonne for at vide, at kolonnen udløber.
  • Tællersøjler - Tællersøjler er intet andet end at vedligeholde søjlerne, så du kan øge og nedtage disse tællersøjler.

Superkolonner

Superkolonner er gruppering af alle kolonnerne helt afhængigt af et forretningsbehov og logisk gruppering. Det tilføjer et andet niveau af indlejring til den almindelige kolonnefamiliestruktur. De udgør en superkolonnefamiliestruktur.

Det primære tilfælde for superkolonner er at denormalisere flere rækker fra andre kolonnefamilier til en enkelt række, hvilket muliggør materialiseret hentning af visningsdata.

Brug sager

Begrænsninger for superkolonner

En begrænsning er, at alle underkolonner i en superkolonnefamilie skal de-serialiseres for at læse en enkelt underkolonnefamilie. En anden begrænsning er, at vi ikke kan oprette sekundære indekser på underkolonnerne i en superkolonne.

Kolonnedatatyper

Kolonnedatatyper

På billedet ovenfor er der forskellige datatyper. Datatypen for en kolonneværdi kaldes en validator. Og komparator er datatypen for en kolonne. Navnet og adressen bliver et kolonnenavn. Så du kan have en dato i tilfælde af kolonnenavne. Du kan også have tidsseriedata ved at have datoen som et kolonnenavn.

Rækker

Der kan være brede rækker og flere rækker. Der kan være millioner af kolonner og rækker tilgængelige.

Tynde rækker har et lille antal kolonner, der kun har begrænsede rækker.

Komposit nøgle

Den består af et eller flere primære nøglefelter. Antag at navnet på en by er angivet som en rækkenøgle, måske er der en by navngivet i to forskellige stater, så du bliver nødt til at nævne hvilken by og hvilken stat. Dette betyder simpelthen, at nøglen skal angives. I stedet for at have en simpel kolonnenøgle af en type kan du samle flere værdier, også kaldet komponenter af flere typer for at danne en unik kolonnenøgle.

Har du et spørgsmål til os? Nævn dem i kommentarfeltet, så vender vi tilbage til dig.

overbelastning vs tilsidesættelse i java

Relaterede indlæg:

Introduktion til snitches i Cassandra