Apache Cassandra Grundkurs

Listen und Sets

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Lassen Sie sich Schritt für Schritt zeigen, wie Sie in Cassandra Listen und Sets einsetzen können, um eine Vielzahl von Werten innerhalb einer einzigen Zelle Ihrer Tabelle speichern zu können.
08:19

Transkript

In diesem Video sehen Sie, wie Sie mit Hilfe von Listen und Sets eine Menge von Objekten innerhalb einer Zelle speichern können. Dazu gehen wir wieder in die CQL-Shell und benutzen den Keyspace "use training". Wir erstellen zunächst eine Tabelle mit dem Namen: "produkte" und diese bekommt folgende Spalten: einmal eine "id int". Das wird unser Primärschlüssel. Anschließend eine Spalte: "name text". und einmal: Produkt "features". Das ist ein "set", also eine Menge mit dem Datentyp: "text". Wir bilden also Produkte mit einer ID, einem Namen und einer Feature-Menge ab. Lassen Sie uns den ersten Datensatz einfügen: "INSERT INTO produkte", und zwar alle drei Spalten: "id, name, features" mit den Werten: "VALUES (1)" für die ID. Unser Produkt soll ein "TV" sein, und wir initialisieren mit einer leeren Feature-Menge. Sehen wir uns einmal an, was wir gerade eingefügt haben. "SELECT * FROM produkte;". Und wir sehen: "id: 1","name: TV" und "features: null". Jetzt wollen wir einmal das erste Feature einsetzen. "UPDATE produkte SET features =" und das ist die Syntax, um ein neues Element in den Set einzufügen, nämlich eine geschweifte Klammer auf und wir wollen das Feature: "Full HD" einfügen. Und zwar an der Stelle, an der die "id = 1;". Sehen wir uns das einmal an, und wir haben auch schon im Feature-Set unser erstes textuelles Feature. Das Gleiche können wir noch mal mit einem weiteren Feature machen. Nehmen wir diesmal nicht "Full HD" sondern ein "Mattes Display" für unseren Fernseher. Wie ist das Ganze jetzt gespeichert? Wurde einfach hinten drangehängt. "Mattes Display" ist hinter "Full HD". Jetzt machen wir das noch mal mit einem anderen Feature, nämlich "50 Zoll". Noch mal einfügen, und "50 Zoll" wurde an den Anfang des Sets bewegt. Das liegt daran, dass wir beim Set nicht über die Reihenfolge der Objekte entscheiden können. Ein Set ist eine an sich ungeordnete Menge, aber Cassandra nimmt sich heraus, diese Menge in einer geordneten Form an uns zurück zu geben. Lassen Sie uns jetzt einmal ein Feature entfernen. Sagen wir mal, wir nehmen "Full HD" wieder raus. Das geht ganz einfach. Wir müssen nur das plus in ein minus umwandeln, und wir schauen, ob das Ganze funktioniert hat. Tatsächlich, "Full HD" wurde aus dem Set entfernt. Wenn wir jetzt noch das Set einmal leeren möchten, also alle Features von diesem "TV" entfernen, das machen wir einfach mit einer leeren, geschweiften Klammer, dann haben wir auch schon die komplette Syntax zum Benutzen von Sets erforscht. Eine weitere, ähnliche, aber nicht ganz gleiche Datenstruktur ist die Liste. Diese unterscheidet sich zur Menge dahin gehend, dass sie auch Duplikate enthalten kann und außerdem über eine Reihenfolge verfügt. Wenn wir jetzt also einmal das Schema unserer Tabelle ändern: "ALTER TABLE produkte", und jetzt eine Spalte hinzufügen, die nennen wir mal "Kommentare". Personen können also Kommentare zu unseren Produkten hinterlassen. Das ist jetzt eine Liste vom Typ: "text". Dann können wir uns jetzt einmal die leere Liste ansehen. Sie wird auch mit "NULL" initialisiert. Kommentare steht auf "NULL". Und lassen Sie uns jetzt einmal den ersten Kommentar hinzufügen. "UPDATE produkte SET kommentare = kommentare + [ ]". Jetzt verwenden wir die eckigen Klammern und schreiben mal dazu, dass das Ganze ein "Super Fernseher!" ist, und zwar möchten wir den Datensatz mit der "id = 1;" verändern. Sehen wir uns das einmal an, und wir haben genau eine Liste hier mit eckigen Klammern. Wenn wir jetzt einen weiteren Kommentar hinzufügen möchten, können wir wieder diese Zeile verwenden. Jemand anders sagt, dass dieser Fernseher "Ausserordentlich!" ist. Betrachten wir das noch einmal mit einem "SELECT" und wir sehen "Ausserordentlich" wurde an die Liste hinten angefügt. Das Spiel können wir aber auch im wahrsten Sinne des Wortes einmal umdrehen. Dadurch, dass die Liste eine Reihenfolge hat können wir hier einfach die Reihenfolge im Update-Statement ändern. Und wir sehen, wir haben einerseits Duplikate drin, und konnten andererseits die Reihenfolge beeinflussen. Was wir nun mit einer Liste auch machen können, ist, wir können mit Hilfe eines Index-Operators auf einzelne Elemente zugreifen. Jetzt wollen wir einmal den "Super Fernseher" ersetzen durch eine nicht so gute Bewertung. Dazu nehmen wir aus den Kommentaren das Element an der Position "1", also das zweite Element und schreiben "Geht so". Und zwar wieder an der "WHERE id = 1;". Sehen wir uns das einmal an. "Super Fernseher" wurde ersetzt durch "Geht so". Wenn wir jetzt der Meinung sind, wir möchten die Kommentare mit "Ausserordentlich" wieder entfernen, ist das auch kein Problem. Wir können ähnlich wie beim Set wieder die minus-Syntax anwenden und können also sagen: "UPDATE produkte SET kommentare = kommentare - [ 'Ausserordentlich!']" Wieder an der Stelle: "WHERE id = 1;" Und wir sehen, beide Versionen von "Ausserordentlich" beziehungsweise beide Einträge wurden auf einmal gelöscht. Wenn wir die Liste wieder komplett leeren wollen, haben wir das auch sehr schnell erledigt. Hier ist auch wieder eine sehr ähnliche Syntax zum Set vorzufinden. Wir nehmen nämlich die leeren Klammern. Also: "UPDATE produkte SET kommentare = [ ] WHERE id = 1;" Und auch hier, die Kommentare wurden wieder geleert. Und wir können unsere Tabelle wieder aufräumen. "DROP TABLE produkte". Sie haben gesehen, dass Sie mit Hilfe von Sets eine ungeordnete Menge duplikatfreier Objekte in eine Zelle packen können. Diese Menge wird sortiert zurückgegeben. Sie wissen nun, dass Ihnen Listen die Möglichkeit bieten Objekte sortiert abzulegen, und Sie haben gelernt, wie Sie auf beide Datentypen zugreifen können.

Apache Cassandra Grundkurs

Lernen Sie, wie Sie Apache Cassandra als hoch verfügbare und skalierbare Datenbank einsetzen können.

2 Std. 11 min (26 Videos)
Derzeit sind keine Feedbacks vorhanden...
Exklusiv für Abo-Kunden
Erscheinungsdatum:24.02.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!