Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Apache Cassandra Grundkurs

Tupel

Testen Sie unsere 2015 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Lernen Sie, wie Sie mit einem Tupel mehrere zusammenhängende Informationen in einer Datenstruktur speichern können. Außerdem erklärt Ihnen Andreas Gerö, was das Schlüsselwort "frozen" im Kontext geschachtelter Datentypen bedeutet.
04:35

Transkript

Manchmal bietet es sich an, mehrere Werte an einer Stelle zu gruppieren. Sehen Sie, wie Sie mithilfe von Tupeln genau dies in Cassandra erreichen können. Dazu gehen wir in die CQL-Shell und benutzen den Keyspace "´training". Wir erstellen uns eine Tabelle namens "produkte", mit folgenden Spalten: einerseits die ID als Integer und als PRIMARY KEY andererseits der Name in Textform, also der Produktname in Textform. Was wir nun tun möchten, ist die Preise dieses Produktes in verschiedenen Ländern in einer Map abzubilden. Dabei soll der Schlüssel in Textform das Land representieren, also z. B. Deutschland, und im Wert möchten wir ein Tupel haben, mit verschiedenen Werten, und zwar den Nettopreis, den Mehrwertsteuersatz und dem Bruttopreis. Dafür können wir die Datenstruktur "Ttple" benutzen. Für alle diese drei Zahlen können wir einen "float" benutzen; "float, float, float", da es sich hier um Kommazahlen handelt. An dieser Stelle gibt es aber noch eine Besonderheit zu beachten, und zwar müssen wir das Schlüsselwort "frozen", bzw. so wie das Ganze hier aussieht, den Datentyp "frozen" um das Tupel herumwickeln. Woran liegt das? Komplexe, geschachtelte Datentypen werden in Cassandra intern eingefroren, das heißt, sie werden sozusagen am Stück gespeichert als "blob", also als binäres Objekt. Entsprechend können einzelne Teile eines eingefrorenen Datentyps nicht geändert werden, sondern das gesamte Objekt muss neu abgeschickt werden. Für unsere Tabelle bedeutet das im ersten Schritt nichts Bestimmtes. Wir müssen erstmal nur wissen, dass komplexe Datentypen, die geschachtelt sind, mit "frozen" umwickelt werden müssen. Also können wir die Tabelle erstellen und wir können unseren ersten Datensatz einfügen: "INSERT INTO produkte", mit folgenden Spalten: "id", "name" und "preise". Hier möchten wir folgende Werte einfügen: die "id" soll die 1 sein, das Produkt soll "TV" heißen und wir möchten gleich den ersten Preis einfügen. Also der Datentyp von "Preise" ist eine "map", im Schlüssel steht "text"; wir haben gesagt, das ist die Schreibweise für das entsprechende Land, für das der Preis gilt. und im Wert der "map" steht nun ein Tupel. Das wird mit einer runden Klammer geschrieben, und an dieser Stelle müssen wir "frozen" gar nicht beachten. Der Nettopreis für unseren Fernseher beträgt in Deutschland 199 Euro und 99 Cent, wir haben einen Mehrwertsteuersatz von 19% und damit ergibt sich ein Bruttopreis von 237 Euro und 99 Cent. Das schicken wir einmal ab und sehen uns das Ganze mit einem SELECT-Statement an. Und wir sehen, es wurde genau so gespeichert, wie erwartet: Wir haben einen Fernseher, der in Deutschland 199,99 Netto kostet, Brutto 237,99. Jetzt möchten wir den Preis für ein weiteres Land hinzufügen. Hier können wir auf die Schreibweise für "maps" zurückgreifen, um einen neuen Key anzulegen; wir möchten den Preis für Spanien festlegen, und auch hier können wir das Tupel direkt setzen, ohne weiter auf "frozen" achten zu müssen. 205 Euro 79 soll der Fernseher in Spanien netto kosten, dort haben wir einen Mehrwertsteuersatz von 21% und das macht 249 Euro brutto. Diese Änderung möchten wir durchführen an der Stelle, wo die "id" gleich 1 ist. Sehen wir uns das Ganze noch mit einem SELECT an: Und die Updates sind auch wie erwartet gelaufen. Jetzt können wir unsere Tabelle wieder aufräumen, "DROP TABLE produkte". Sie haben gesehen, wie Sie mit Tupeln mehrere Werte gruppieren können und haben gelernt, dass Cassandra komplexe, geschachtelte Datentypen intern einfriert. Sie wissen für die Zukunft, dass sich die Entwickler von Cassandra vorbehalten, solche Werte nicht mehr einfrieren zu müssen.

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!