Apache Cassandra Batch

Apache Cassandra Batch

Batchbehandling er en veldig viktig funksjon når du jobber med databaser. Ikke bare gir de utviklerne en måte å utføre en serie instruksjoner fra et enkelt manus, men de gir også atomisitet på målklyngen.

I dette innlegget vil vi dekke det grunnleggende om å jobbe med batchbehandling i Apache Cassandra. Dette lar deg kombinere en serie spørsmål i en enkelt utførelseskontekst.

La oss dykke inn.

Cassandra Batch Processing Syntax

Følgende viser syntaks for batcherklæringen i Cassandra:

Begynn [(ulogget | teller)] batch
[Bruke tidsstempel [Epoch_MicroseConds]]
dml_statement [ved bruk av tidsstempel [epoch_microseconds]];
[DML_Statement [Bruker tidsstempel [Epoch_MicroseConds]] [;…]]
Bruke batch;

Du kan bruke et innlegg, oppdatering eller slette utsagn i en batchklausul.

Den uloggede uttalelsen definerer om batch er logget eller ikke. En logget batch sikrer maksimal atomisitet ved å sikre at alle uttalelsene i batch blir utført med hell. Hvis noen av uttalelsene i en logget batch mislykkes, vil hele partiet ikke utføre.

Bruk av tidsstempeluttalelser brukes til å angi skrivetid for transaksjonene som utføres av instruksjonene i batch. Du kan la klyngen tilordne en enkelt tidsstempel på alle transaksjoner som er utført av batch, eller du kan spesifisere uttalelsene du ønsker å bruke tidsstempel.

Et eksempel er som vist:

Begynn batch ved hjelp av tidsstempel [Epoch_MicroseConds]
uttalelse_1;
..
Statement_n;
Bruke batch;

I forrige eksempel oppretter Cassandra en tidsstempel for alle transaksjonene som er gjort av de spesifiserte uttalelsene i batch.

Et annet eksempel er som vist:

Begynn batch
uttalelse_1;
Statement_2 ved hjelp av tidsstempel [Epoch_MicroseConds];
Statement_n;
Bruke batch;

I dette tilfellet bruker Cassandra bare tidsstemplene for transaksjonene som er gjort av uttalelsen_2.

Eksempel:

Følgende eksempel illustrerer hvordan du bruker en batch -setning ved hjelp av en Sett inn DML -setning:

Cassandra@CQLSH: Testing> Lag tabellbrukere (
... id int,
... Brukernavn Tekst,
... primærnøkkel (ID));

Når vi har tabelloppsettet, kan vi kjøre en batchinnsats som følger:

cassandra@cqlsh: testing> begynn batch ved hjelp av tidsstempel 1664050149 sett inn i brukere (ID, brukernavn) verdier (1, 'brukernavn1'); sett inn i brukere (ID, brukernavn) verdier (2, 'brukername2'); bruke batch;

Spørringen skal utføre en batchinnsats i den spesifiserte tabellen. Siden vi setter tidsstemplet på alle utsagnene, bør spørringen sikre at alle postene deler en lignende tidsstempel.

Konklusjon

I denne artikkelen dekket vi det grunnleggende om å jobbe med batchmodus i Apache Cassandra. Det er godt å huske på at det er en grunnleggende tutorial. Det er mye mer å vurdere når du jobber med batchbehandling som enkelt- og flere partisjoner, måltastaturer, ytelsesimplikasjon, asynkrone utsagn og mer. Vi anbefaler å sjekke dokumentasjonen for en detaljert informasjon.