Apache Cassandra Grundkurs

Erste Schritte mit Apache Cassandra

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Führen Sie die ersten Schritte in Cassandra durch und machen Sie dabei sich mit den wichtigsten Strukturen, dem Keyspace und der Tabelle, vertraut. Zusätzlich wenden Sie grundlegende Operationen wie INSERT, UPDATE und DELETE auf Ihre erste Tabelle an.
09:15

Transkript

In diesem Video möchte Ich Ihnen einige grundlegende Strukturen wie Tabellen und Keyspaces vorstellen und mit dem Einfügen, Ändern und Löschen von Daten experimentieren. Dazu habe ich eine neue Eingabeaufforderung geöffnet und starte das Programm "cqlsh". "cqlsh" steht dabei für Cassandra Query Language Shell. "cqlsh" ist das Kommandozeileninterface für Cassandra. In dieser Anwendung kann man Abfragen in CQL schreiben und diese an eine Cassandra Note setzen. Einmal "Enter" startet die Anwendung und schon sind wir in der Shell. Sie sehen hier gleich einige Informationen. Wir haben uns mit der Note auf dem Localhost, die wir vorher gestartet haben, verbunden. Das sehen wir an dieser Stelle: Verbindung mit "127.0.0.1". Und wir sehen, wir benutzen die CQL-Shell (cqlsh) in Version 5.0.1. Die Cassandra Installation, die wir gerade heruntergeladen haben, ist in Version 3.9. CQL, also die Sprache, die wir verwenden, benutzen wir in der "spec 3.4.2" und wir haben auch das "Native protocol v4" (Version 4) da. Der "HELP"-Befehl gibt uns einen kleinen Überblick über verschiedene Möglichkeiten, die wir in der CQL-Shell haben. Im oberen Bereich dieser Ansicht sehen wir einige Befehle, die uns die Shell im Speziellen zur Verfügung stellt und im unteren Bereich sehen wir Hilfethemen zu Befehlen, die über die CQL-Sprache selber bereitgestellt werden. Lassen Sie uns doch gleich mal mit einigen CQL-Befehlen durchstarten. Zunächst müssen wir einen Keyspace erstellen. Dieser ähnelt ungefähr dem Tablespace bei den lationalen Datenbanken. Ein Keyspace kann mehrere Tabellen enthalten. Beginnen wir mit dem Befehl: "CREATE KEYSPACE". Den nennen wir mal "training" und wir müssen zusätzlich noch einen Parameter angeben, der nennt sich "replication". Hier nehmen wir mal die einfachste Konfiguration, die möglich ist und ignorieren sie weitestgehend für den Anfang. Das wäre hier die "SimpleStrategy" mit einem "replication-factor" von "1". Sie sehen also schon, dass ich bereits bei der Erstellung eines Keyspace dazu gezwungen werde, mir Gedanken darüber zu machen, wie ich später meine Daten replizieren möchte, beziehungsweise für Ausfallsicherheit sorgen möchte. Mit dem Befehl "DESCRIBE KEYSPACES" kann ich mir anzeigen lassen, welche Keyspaces überhaupt schon vorhanden sind. Wir sehen gleich an erster Stelle unser neu erstellter Keyspace "training". Wir sehen aber auch einige Systemkeyspaces. Das heißt also, Cassandra speichert seine eigene Konfiguration teilweise in ganz normalen Tabellen, wie auch wir unsere Daten. Wir können uns mit "DECRIBE" aber auch den "KEYSPACE training", den wir gerade selber erstellt haben, beschreiben lassen. Und wir sehen den Befehl, den wir gerade verwendet haben, um unseren Keyspace zu erstellen. Cassandra hat standardmäßig auch noch eine Option angefügt: "durable_rights = true". Das sagt aus, dass Schreibvorgänge später zusätzlich in einem Commit-Log protokolliert werden, das dann verwendet werden kann, falls eine Note abstürzt. Jetzt können wir auch schon eine Tabelle erstellen mit dem Befehl "CREATE TABLE", wir nennen die Tabelle mal "personen" und in Klammern müssen wir angeben, welche Spalten wir hier haben. Beginnen wir mal einfach mit einer Spalte "id" vom Typ "text" und das ist dann auch unser "PRIMARY KEY". Und zusätzlich mit einer Spalte "name", auch vom Typ "text". Einmal Enter. Und wir sehen auch schon den ersten Fehler: "No keyspace has been specified". Cassandra weiß also nicht, zu welchem Keyspace diese Tabelle gehört. Wir haben jetzt zwei Möglichkeiten. Entweder wir sagen einmal "USE keyspace", also "USE training" in unserem Fall oder wir erstellen die Tabelle explizit mit dem Namen des Keyspace. Wir entscheiden uns einmal für die erste Variante. Wir schreiben "USE training". Jetzt hat sich auch schon das Prompt vor dem Cursor geändert und die Pfeiltaste nach oben bringt uns den "CREATE TABLE"-Befehl zurück. Den wenden wir nun noch einmal an. Und diesmal keine Fehlermeldung. Jetzt können wir noch einmal "DESCRIBE KEYSPACE" verwenden. Und wir sehen jetzt den "CREATE TABLE"-Befehl, den wir gerade angewandt haben und zusätzlich noch weitere Einstellungen, die Cassandra per Defaultwert gesetzt hat. Jetzt können wir auf der Tabelle arbeiten. Lassen Sie uns einmal einen ersten Datensatz eingeben: "INSERT INTO training.personen". Anschließend: "(id, name)". Das müssen wir deswegen bei jedem Insert so machen, weil man grundsätzlich nicht für alle Spalten, die existieren, einen Wert vergeben muss und anschließend die Values. Das heißt, wir sehen hier, für die ID wird der Wert "dj90" vergeben und für den Namen "Dieter". Einmal ausführen. Und jetzt können wir uns das Ganze auch schon ansehen: "SELECT * FROM training.personen". Und da haben wir den Dieter mit der ID "dj90". Fügen wir noch eine weitere Person ein. "INSERT INTO personen", den keyspace müssen wir nicht mehr angeben, da wir ihn vorher "USE" benutzt haben. Wieder die Spalten "(id, name)". Und die "VALUES" diesmal "ab70" und den Namen "Annabelle". Und schauen wir uns das Ganze noch einmal an. Hier ist die Annabelle jetzt auch in der Tabelle. Um ein Update zu machen, verwenden wir "UPDATE personen SET", wir wollen den Namen ändern, also schreiben wir "SET name". Der Dieter soll jetzt "Dirk" heißen. Und wir brauchen noch eine "WHERE"-Klausel, in der wir spezifizieren, welchen Dieter wir meinen. Das ist nämlich der "dj90". Und fertig. Noch ein "select *" und wir sehen, Dieter wurde in Dirk umbenannt. Nehmen wir mal an, dass wir den Dieter nochmal neu einfügen wollen. Scrollen ein bisschen zurück in der "history" mit der Pfeiltaste nach Oben, bis wir beim "INSERT INTO training.personen" mit den Values "dj90" und "Dieter" gekommen sind. Wir führen das Statement einmal aus. Und nochmal ein "select *" auf die Tabelle. Und wir sehen aber, Dieter wurde tatsächlich nicht neu eingefügt, sondern hat Dirk überschrieben. Das liegt daran, dass das INSERT-Statement eigentlich ein "UPSERT" ist, das heißt wenn der Datensatz mit dem Primärschlüssel noch nicht vorhanden ist, dann wird eingefügt, wenn aber ein Datensatz mit dem Primärschlüssel schon vorhanden ist, dann wird aktualisiert. Jetzt wollen wir die Annabelle wieder löschen. Das Ganze können wir mit dem Befehl "DELETE FROM personen". Und zwar "WHERE id = ab70". Und noch ein "select" zeigt uns, Annabelle wurde tatsächlich gelöscht. Jetzt wollen wir aber die ganze Tabelle löschen. Dazu können wir "DROP TABLE" verwenden. "DROP TABLE personen". Und wenn wir uns jetzt noch einmal den Keyspace ansehen wollen, benutzen wir wieder "DECRIBE KEYSPACE". Und wir sehen, die Tabelle ist nicht mehr vorhanden. In diesem Video haben wir gemeinsam Cassandra und alle nötigen Abhängigkeiten installiert. Wir haben außerdem eine erste Note gestartet und die CQL-Shell näher kennengelernt. Sie haben die grundlegenden Schritte gesehen, um einen Keyspace und eine Tabelle anzulegen, sowie Daten einzufügen, zu ändern und zu löschen.

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!