Inleiding tot Column Family met Cassandra



Deze blog belicht het belang van column family met Cassandra

Column familie

Een kolomfamilie is vergelijkbaar met een tabel in RDBMS of Relational Database Management System en is een logische indeling die vergelijkbare gegevens koppelt. Kortom, in vergelijkbare gegevens heb je de neiging om een ​​soort gegevens op te slaan die van vergelijkbare onderwerpen zijn.

Bestellingsgegevens worden bijvoorbeeld opgeslagen in een familie met één kolom, zodat u een bestellings-ID als rijsleutel kunt hebben, evenals verschillende kolommen, zoals het soort product dat als onderdeel van die bestelling is gebracht om te worden opgeslagen in de specifieke bestelfamilie . Om enkele voorbeelden te geven: een gebruikerskolomfamilie bestaat uit een gebruikers-ID als sleutel. Daarom is het vrij om een ​​ID te kiezen en de kolommen kunnen ‘name = Kunal’ zijn. En de kolomwaarden zijn Kunal en Bangalore. Er is een tweede kolomfamilie genaamd Cricketer-kolomfamilie waarmee cricketspelerstatistieken in één kolomfamilie kunnen worden opgeslagen. U kunt bijvoorbeeld Sachin Tendulkar in de ene kolom hebben en het aantal eeuwen in een andere. Daarom kan er een willekeurig aantal kolommen zijn.





Soorten kolommen

Column Family is niets anders dan een tabel die analoog is aan een tabel in een RDBMS-wereld. Er zijn bepaalde soorten, namelijk

Statische kolom Family - Statische kolomfamilie is waar de namen en gegevenstypen worden gedefinieerd. Dus wanneer de kolomfamilie wordt gemaakt, is de optie om de kolomnaam en gegevenstypen een naam te geven beschikbaar. Het wordt statisch genoemd omdat de kolommen statisch blijven en het aantal beschikbare kolommen bekend is.



Dynamische kolomfamilie - Een dynamische kolomfamilie daarentegen definieert de kolomnamen niet vooraf en Cassandra's mogelijkheid om willekeurige applicatie- en kolomnamen te gebruiken om gegevens op te slaan, is beschikbaar. Dus dynamisch helpt op een bepaalde manier omdat in ongestructureerde gegevens, de dynamische kolomfamilie meestal helpt bij het zorgen voor nieuwe velden die later mogelijk zijn toegevoegd.

Als u een statische kolomfamilie heeft en u wilt een dynamische kolomfamilie aan uw code toevoegen terwijl u de gegevens laadt, kan deze op elk moment aan een statische kolomfamilie worden toegevoegd. Cassandra geeft de vrijheid om kolomnamen te kiezen.

Verschil met RDBMS

Cassandra-kolomfamilie is schemavrij en is veel schaalbaar. Cassandra-kolomfamilie heeft twee attributen: naam en vergelijker. Dus als je een Cassandra-kolomfamilie hebt, wordt het verplicht om deze een naam te geven en Comparator is in feite een gegevenstype voor kolomnamen. Als u de comparator niet specificeert, wordt ervan uitgegaan dat het een standaardvergelijker is.



Cassandra heeft ook een kolom met superkolommenfamilies. Het zal intern een superkolom gebruiken. Het is een logische groepering en een ander niveau van groepering van kolommen. In een gebruikerskolomfamilie kunt u dus twee superkolommen hebben waarin we de persoonlijke gegevens van gebruikers en productinformatie kunnen hebben.

Kolommen

Een kolom is de kleinste toename van gegevens in Cassandra. Het heeft 3 componenten:

  • Naam
  • Waarde
  • Tijdstempel - Wordt gebruikt bij het oplossen van conflicten en de tijdstempel kan niet worden bewerkt. Het is een intern mechanisme om te zien wanneer deze gegevens of kolom zijn bijgewerkt.
  • Aflopende kolommen - Aan een kolom kan een vervaldatum worden gegeven om te weten dat de kolom vervalt.
  • Teller kolommen - Tellerkolommen zijn niets anders dan het onderhouden van de kolommen, zodat u die tellerkolommen kunt verhogen en verlagen.

Super kolommen

Super Columns is het groeperen van alle kolommen, afhankelijk van een zakelijke behoefte en logische groepering. Het voegt een ander niveau van nesten toe aan de reguliere kolommamiliestructuur. Ze bestaan ​​uit een familiestructuur met superkolommen.

hoe u een object-array in java maakt

Het belangrijkste geval voor superkolommen is om meerdere rijen van andere kolomfamilies te denormaliseren tot een enkele rij, waardoor gematerialiseerde weergavegegevens kunnen worden opgehaald.

Gebruik cases

Beperkingen van Super Columns

Een beperking is dat alle subkolommen van een superkolomfamilie gedeserialiseerd moeten worden om een ​​enkele subkolomfamilie te kunnen lezen. Een andere beperking is dat we geen secundaire indexen kunnen maken op de subkolommen van een superkolom.

Kolom Gegevenstypen

Kolomgegevenstypen

type transformatie in informatica

In de bovenstaande afbeelding zijn er verschillende gegevenstypen. Het gegevenstype voor een kolomwaarde wordt een validator genoemd. En comparator is het gegevenstype voor een kolom. De naam en het adres worden een kolomnaam. U kunt dus een datum hebben in het geval van kolomnamen. U kunt ook tijdreeksgegevens hebben door de datum als kolomnaam te gebruiken.

Rijen

Er kunnen brede rijen en meerdere rijen zijn. Er kunnen miljoenen kolommen en rijen beschikbaar zijn.

Magere rijen hebben een klein aantal kolommen met de optie om slechts beperkte rijen te hebben.

Samengestelde sleutel

Het bestaat uit een of meer primaire sleutelvelden. Stel dat de naam van een stad is ingesteld als een rijtoets, dan kan een stad in twee verschillende staten worden genoemd, dus u zult moeten vermelden welke stad en welke staat. Dit betekent simpelweg dat de sleutel moet worden vermeld. In plaats van een eenvoudige kolomsleutel van één type te hebben, kunt u verschillende waarden, ook wel componenten van verschillende typen genoemd, samenvoegen tot één unieke kolomsleutel.

Heeft u een vraag voor ons? Noem ze in het opmerkingengedeelte en we nemen contact met u op.

Gerelateerde berichten:

Inleiding tot Snitches in Cassandra