Na týchto cvičeniach budeme pracovať so stĺpcovou databázou Cassandra. Je dostupná zo školskej siete:

  • adresa servera: nosql.gursky.sk
  • bez hesla

Môžete tiež použiť vlastnú databázu ak si ju rozbeháte cez docker:

docker pull cassanda:latest
docker run --name my_cassandra -p 9042:9042 -d cassandra:latest

Spustenie sqlsh:

docker exec -it my_cassandra cqlsh

Budeme využívať rovnaký zdroj dát z úložiska https://gitlab.science.upjs.sk/nosql-2024/nosql-datasource. Budeme používať knižnicu spring-data-cassandra.

Zadania:

  1. Pomocou CqlTemplate vytvorte testovaciu tabuľku, vložte riadky, získajte ich a odstráňte tabuľku. Vyskúšajte si metódy execute a query.
  2. Zrealizujte tie isté operácie s využitím CreateTableSpecification, BoundStatement, BatchStatement, a DropTableSpecification.
  3. Vytvorte repozitár triedy SimpleStudent pomocou CrudRepository. Otestujte jeho základnú funkcionalitu a potom rozšírte možnosti repozitára o vyhľadávanie podľa priezviska, alebo ďalších parametrov entity.
  4. Vytvorte repozitár triedy Student pomocou CrudRepository (študent má uložené aj štúdium a študijný program). Otestujte jeho základnú funkcionalitu a potom rozšírte možnosti repozitára o získania iba mien a priezvisk (projekcia) na základe akademického titulu.
  5. Bonusová úloha: Vráťte študentov na základe skratky študijného programu. Pozrite si k tomu možnosti pre indexovanie kolekcií na https://cassandra.apache.org/doc/latest/cassandra/reference/cql-commands/create-index.html