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
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:
- 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.
- Zrealizujte tie isté operácie s využitím CreateTableSpecification, BoundStatement, BatchStatement, a DropTableSpecification.
- 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.
- 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.
- 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
Nahrávky (kvôli zlomenej nohe):