Cassandra Tabelinäide: loo, muuda, kukuta ja kärbi tabelit

Süntaks Cassandra päringukeel (CQL) sarnaneb keelega SQL keel.

Kuidas luua tabelit Cassandra

Veeru perekond sisse Cassandra on sarnane RDBMS-i tabeliga. Veergude perekonda kasutatakse andmete salvestamiseks.

Veeruperekonna loomiseks kasutatakse käsku "Loo tabel". Cassandra.

Süntaks

Create table KeyspaceName.TableName
(
ColumnName DataType,
ColumnName DataType,
ColumnName DataType
.
.
.
Primary key(ColumnName)
) with PropertyName=PropertyValue;

1. Esmane võti: On kahte tüüpi esmane võti.

  • Üks esmane võti: Üksik primaarvõti määratakse järgmise süntaksiga.

Süntaks

Primary key (ColumnName)

Ühes primaarvõtmes on ainult üks veerg. Seda veergu nimetatakse ka partitsioonivõtmeks. Andmed jaotatakse selle veeru alusel. Andmed jaotatakse partitsioonivõtme alusel erinevatesse sõlmedesse.

2. Liitesine võti: Liit primaarvõti määratakse järgmise süntaksiga.

Süntaks

Primary key(ColumnName1,ColumnName2 . . .)

Ülaltoodud süntaksis on veeruNimi1 partitsioonivõti ja veeruNimi2 on Clustervõti. Andmed jaotatakse veeruNimi1 alusel ja andmed rühmitatakse veeruNimi2 alusel. Clustering on protsess, mis sorteerib andmed partitsioonis.

3. Kombineeritud jaotusvõti: Liitpartitsioonivõti on määratud järgmise süntaksiga.

Süntaks

Primary Key((ColumnName1,ColumnName2),ColumnName3...))

Ülaltoodud süntaksis on veerunimi1 ja veerunimi2 liitpartitsioonivõti. Andmed jaotatakse mõlema veeru VeeruNimi1 ja VeeruNimi2 alusel ning andmed rühmitatakse veeru Nimi3 alusel. Kui teil on ühes partitsioonis liiga palju andmeid. Seejärel kasutatakse liitpartitsioonivõtit. Liitpartitsioneerimisvõtit kasutatakse andmete jaoks mitme partitsiooni loomiseks.

  • Koos klausliga

"Klausiga" kasutatakse määratletud tabeli mis tahes atribuudi ja selle väärtuse määramiseks. Näiteks kui soovite kokku suruda Cassandra tabeli andmed. Tihendusomaduse saate määrata, määrates jaotises „Klausiga” tihendusalgoritmi atribuudi väärtuse.

Näide

Siin käivitatakse käsk Loo tabel, mis loob võtmeruumis 'Ülikool' tabeli nime 'Õpilane'.

Cassandra Loo tabel

Pärast käsu 'Loo tabel' edukat täitmist luuakse võtmeruumis 'Ülikool' tabel 'Õpilane' veergudega RollNo, Name ja dept. RollNo on esmane võti. RollNo on ka partitsioonivõti. Kõik andmed asuvad ühes partitsioonis.

Cassandra Muuda tabelit

Käsku 'Muuda tabelit' kasutatakse veeru eemaldamiseks, uue veeru lisamiseks, veeru nime muutmiseks, veeru tüübi muutmiseks ja tabeli atribuutide muutmiseks.

Süntaks

Järgmine on käsu 'Alter Table' süntaks.

Alter table KeyspaceName.TableName  +
Alter ColumnName TYPE ColumnDataype |
Add ColumnName ColumnDataType |
Drop ColumnName |
Rename ColumnName To NewColumnName |
With propertyName=PropertyValue

Näide

Siin on hetktõmmis käsust „Muuda tabelit”, mis lisab tabelisse Õpilane uue veeru.

Cassandra Muuda tabelit

Pärast käsu 'Alter Table' edukat täitmist lisatakse tabelisse Student uus veerg 'Semester' andmetüübiga 'int'.

Siin on ekraanipilt, mis näitab uuendatud õpilaste tabelit.

Cassandra Muuda tabelit

Cassandra Drop tabel

Käsk 'Drop table' tühistab määratud tabeli, mis sisaldab kõiki võtmeruumi andmeid. Enne laua maha laskmist, Cassandra teeb varukoopiana hetktõmmise andmetest, mitte skeemist.

Süntaks

Drop Table KeyspaceName.TableName

Näide

Siin on hetktõmmis käivitatud käsust "Drop Table", mis eemaldab tabeli Student võtmeruumist "Ülikool".

Cassandra Drop tabel

Pärast käsu 'Drop Table' edukat täitmist eemaldatakse tabel Student ülikooli võtmeruumist.

Siin on hetktõmmis, mis näitab tõrketeadet, mille tagastas Cassandra kui prooviti pääseda juurde õpilase tabelile, mida pole olemas.

Cassandra Drop tabel

Cassandra Kärbi tabel

Käsk "Truncate table" eemaldab määratud tabelist kõik andmed. Enne andmete kärpimist Cassandra võtab andmetest hetktõmmise varukoopiana.

Süntaks

Truncate KeyspaceName.TableName

Näide

Tabelis on kolm rekordit Õpilane. Need on tabelis olevad rekordid.

Cassandra Kärbi tabel

Siin on hetktõmmis käivitatud käsust „Truncate table”, mis eemaldab tabelist Student kõik andmed.

Cassandra Kärbi tabel

Pärast käsu 'Truncate Table' edukat täitmist eemaldatakse tabelist Student kõik andmed.

Siin on hetktõmmis andmebaasi olekust, kus tabelis Student pole kirjeid.

Cassandra Kärbi tabel