Mit Apache Cassandra verbinden

Konzept-Informationen

ACCESSDATA-Befehl

Apache Cassandra ist ein NoSQL-Datenbank-Verwaltungssystem. Verwenden Sie den Apache-Cassandra-Datenkonnektor, um die Cassandra-Daten Ihrer Organisation zu importieren.

Hinweis

Analytics bietet Cassandra als optionalen Konnektor an. Falls er in Ihrem Fenster „Datenzugriff“ nicht verfügbar ist, wurde er während der Installation wahrscheinlich nicht ausgewählt. Weitere Informationen finden Sie unter Optionale Analytics-Datenkonnektoren und Python Engine installieren.

Vorbereitungen

Für eine Verbindung mit Cassandra müssen Sie die folgenden Informationen einholen:

  • Hostname oder IP-Adresse des Datenbankservers
  • korrekter Verbindungsport
  • Ihren Benutzernamen und Ihr Kennwort, falls Sie eine Authentifizierung nutzen

Hilfe für die Zusammenstellung der Verbindungsvoraussetzungen erhalten Sie vom Cassandra-Administrator Ihrer Organisation. Falls Ihr Administrator Ihnen nicht weiterhelfen kann, sollten Sie oder Ihr Administrator den Cassandra-Support kontaktieren.

Eine Cassandra-Verbindung erstellen

  1. Wählen Sie aus dem Analytics-Hauptmenü Importieren > Datenbank und Anwendung.
  2. Auf der Registerkarte Neue Verbindungen im Abschnitt ACL-Konnektoren wählen Sie Cassandra.

    Tipp

    Sie können die Liste verfügbarer Konnektoren filtern, indem Sie in das Feld Verbindungen filtern eine Suchzeichenfolge eingeben. Die Konnektoren sind alphabetisch aufgelistet.

  3. Im Bereich Datenverbindungseinstellungen rufen Sie die Verbindungseinstellungen auf und klicken unten innerhalb des Bereichs auf Speichern und verbinden.

    Sie können den standardmäßigen Verbindungsnamen akzeptieren oder einen neuen Namen eingeben.

Die Verbindung für Cassandra wird in der Registerkarte Bestehende Verbindungen gespeichert. In Zukunft können Sie sich über die gespeicherte Verbindung erneut mit Cassandra verbinden.

Sobald die Verbindung hergestellt ist, wird das Fenster „Datenzugriff“ im Stagingbereich geöffnet und Sie können den Datenimport beginnen. Hilfe für den Datenimport aus Cassandra finden Sie unter Mit dem Fenster „Datenzugriff“ arbeiten.

Verbindungseinstellungen

Grundlegende Einstellungen

Einstellung Beschreibung Beispiel
Host

Die IP-Adresse oder der Hostname des Cassandra-Servers.

 

Port Der TCP-Port für die Cassandra-Datenbank. 9042
Standard-Keyspace Der Standard-Keyspace (das Schema), mit dem eine Verbindung in Cassandra hergestellt werden soll.  
Authentifizierungsmechanismus

Der für die Verbindung mit Cassandra zu verwendende Authentifizierungsmechanismus. Die verfügbaren Optionen lauten:

  • Keine Authentifizierung
  • Benutzername und Kennwort
Keine Authentifizierung
Benutzername Der Benutzername für den Zugriff auf den Cassandra-Server.  
Kennwort Das Kennwort für den angegebenen Benutzernamen.  

Erweiterte Einstellungen

Einstellung Beschreibung Beispiel
Abfragemodus

Legt fest, welcher Abfragemodus beim Senden von Abfragen an Cassandra verwendet werden soll. Verfügbare Optionen sind:

  • SQL – Verwendet SQL_QUERY_MODE und führt alle Abfragen in SQL durch.
  • CQL – Verwendet CQL_QUERY_MODE und führt alle Abfragen in CQL durch.
  • SQL mit CQL-Fallback – Verwendet SQL_WITH_CQL_FALLBACK_QUERY_MODE und führt alle Abfragen standardmäßig in SQL durch. Falls eine Abfrage scheitert, führt der Treiber die Abfrage in CQL durch.
SQL mit CQL-Fallback
Anpassbare Konsistenz Das spezifische Cassandra-Replikat oder die Anzahl von Cassandra-Replikaten, die eine Abfrage ausführen müssen, damit die Abfrage als erfolgreich gilt. ONE
Lastenausgleichrichtlinie Gibt die zu verwendende Lastenausgleichrichtlinie an.  
Länge binärer Spalte Die Standardspaltenlänge, die für BLOB-Spalten zu melden ist. 4000
Länge von Zeichenfolgenspalte Die Standardspaltenlänge, die für ASCII-, TEXT- und VARCHAR-Spalten zu melden ist. 4000
Namentrennzeichen in virtueller Tabelle Das Trennzeichen zur Benennung einer virtuellen Tabelle, die aus einer Sammlung erstellt wurde.
Der Name einer virtuellen Tabelle besteht aus dem Namen der Originaltabelle, dann dem Trennzeichen und dann dem Namen der Sammlung.
_vt_
Tokenfähigkeit aktivieren Gibt an, ob eine tokenfähige Richtlinie zu verwenden ist, um den Lastenausgleich und die Latenz zu verbessern.  
Wartezeit-Fähigkeit aktivieren Legt fest, ob der Treiber einen latenzbewussten Algorithmus verwenden muss, um die Auslastung zu verteilen und dabei Knoten mit langsamerer Performance zu meiden.  
Einfügen von Nullwerten aktivieren Gibt an, ob der Treiber alle NULL-Werte wie festgelegt in INSERT-Anweisungen einfügen muss.  
Groß-/Kleinschreibung aktivieren

Legt fest, ob der Treiber zwischen Groß- und Kleinbuchstaben in Schema-, Tabellen- und Spaltennamen unterscheidet.

Wenn diese Option aktiviert ist, müssen alle Schemas, Tabellen und Spalten in doppelten Anführungszeichen (") umschlossen sein.

 
SQL_WVARCHAR für Zeichenfolge-Datentyp verwenden Gibt an, ob SQL_WVARCHAR für Text- und Varchar-Typen zu verwenden ist.  
Auslagern aktivieren Legt fest, ob große Ergebnismengen in Seiten aufzuteilen sind.  
Zeilen pro Seite Falls die Option Auslagern aktivieren verwendet wird, geben Sie mit der Option „Zeilen pro Seite“ die maximal auf einer Seite darzustellende Zeilenanzahl an. 10000
SSL-Optionen

Gibt an, wie der Treiber SSL für Verbindungen mit dem Cassandra-Server verwendet. Verfügbare Optionen sind:

  • Kein SSL – Der Treiber verwendet kein SSL.
  • Unidirektionale Server-Überprüfung – Wenn die Option Überprüfung von Server-Hostname aktivieren verwendet wird, verifiziert der Client den Cassandra-Server mit SSL. Andernfalls verbindet sich der Treiber über SSL mit dem Cassandra-Server, aber der Client und der Server verifizieren sich nicht gegenseitig.

  • Bidirektionale Server- und Client-Überprüfung – Wenn die Option Überprüfung von Server-Hostname aktivieren verwendet wird, verifizieren sich der Client und der Cassandra-Server gegenseitig mit SSL. Andernfalls verbindet sich der Treiber über SSL mit dem Cassandra-Server, aber der Client und der Server verifizieren sich nicht gegenseitig.

Kein SSL
Überprüfung von Server-Hostname aktivieren Legt fest, ob der Treiber vorschreibt, dass der Hostname des Servers mit dem Hostnamen im SSL-Zertifikat übereinstimmen muss.  
Ssltrustedcertspath Der vollständige Pfad der .pem-Datei, die das Zertifikat zur Verifizierung des Servers enthält.  
Clientseitiges Zertifikat Der vollständige Pfad der .pem-Datei, die das Zertifikat zur Verifizierung des Clients enthält.  
Clientseitiger privater Schlüssel Der vollständige Pfad der Datei, die den privaten Schlüssel zur Verifizierung des Clients enthält.  
Kennwort für Schlüsseldatei Das Kennwort für die private Schlüsseldatei, die im Feld „Clientseitiger privater Schlüssel“ festgelegt wurde.  

Cassandra abfragen

Ein Vorteil des Apache-Cassandra-Entwurfs besteht in der Möglichkeit, denormalisierte Daten in weniger Tabellen zu speichern. Durch die Verwendung verschachtelter Datenstrukturen wie Mengen, Listen und Strukturen können Transaktionen vereinfacht werden. Analytics unterstützt jedoch keinen Zugriff auf diese Datentypen. Indem die Daten innerhalb solcher Sammlungen (Mengen, Listen und Strukturen) in virtuellen Tabellen erneut normalisiert werden, ermöglicht der Konnektor den Benutzern eine direkte Interaktion mit den Daten, während diese weiterhin in ihrer denormalisierten Form in Cassandra gespeichert sind.

Wenn eine Tabelle Sammlungsspalten enthält, erstellt der Konnektor bei der ersten Abfrage der Tabelle die folgenden virtuellen Tabellen:

  • eine „Basistabelle“, welche dieselben Daten wie die echte Tabelle mit Ausnahme der Sammlungsspalten enthält.
  • Eine virtuelle Tabelle für jede Sammlungsspalte, welche die verschachtelten Daten erweitert.

Virtuelle Tabellen beziehen sich auf die Daten der echten Tabelle und ermöglichen dem Konnektor einen Zugriff auf die denormalisierten Daten. Durch eine Abfrage der virtuellen Tabellen können Sie auf Inhalte der Cassandra-Sammlungen über ODBC zugreifen.

Die Basistabelle und die virtuellen Tabellen erscheinen in der Liste der innerhalb der Datenbank bestehenden Tabellen als zusätzliche Tabellen. Die Basistabelle hat denselben Namen wie die echte, durch sie repräsentierte Tabelle. Virtuelle Tabellen, die Sammlungen repräsentieren, werden mit dem Namen der echten Tabelle, einem Trennzeichen (standardmäßig _vt_) und dem Namen der Spalte benannt.

Beispiel

Beispieltabelle ist eine Cassandra-Datenbanktabelle, die eine primäre ganzzahlige Schlüsselspalte namens pk_int, eine Listenspalte, eine Strukturspalte und eine Mengenspalte (namens Zeichenfolgenmenge) enthält.

Quelltabelle mit Sammlungen

pk_int Liste Struktur Zeichenfolgenmenge
1 ["1","2","3"] {"S1" : "a", "S2" : "b"} {"a", "b", "c"}
3 ["100","101","102","105"] {"S1" : "t"} {"a","e"}

Der Konnektor erstellt mehrere virtuelle Tabellen, um diese einzelne Tabelle zu repräsentieren. Die erste virtuelle Tabelle ist die Basistabelle:

Basistabelle

pk_int
1
3

Die Basistabelle enthält dieselben Daten wie die ursprüngliche Datenbanktabelle mit Ausnahme der Sammlungen. Diese werden in der Basistabelle übersprungen und in anderen virtuellen Tabellen erweitert.

Die folgenden Tabellen zeigen die virtuellen Tabellen, in denen die Daten der Spalten Liste, Struktur und Zeichenfolgenmenge erneut normalisiert werden:

Liste

pk_int Liste#index Liste#value
1 0 1
1 1 2
1 2 3
3 0 100
3 1 101
3 2 102
3 3 105

Struktur

pk_int Struktur#key Struktur#value
1 S1 a
1 S2 b
3 S1 t

Zeichenfolgenmenge

pk_int Zeichenfolgenmenge#value
1 a
1 b
1 c
3 a
3 e

Die Fremdschlüsselspalten in den virtuellen Tabellen verweisen auf die Primärschlüsselspalten in der echten Tabelle und deuten an, welcher Zeile der echten Tabelle die Zeile der virtuellen Tabelle entspricht. Die Spalten, deren Namen mit #index oder #key enden, geben die Position der Daten innerhalb der ursprünglichen Liste oder Struktur an. Die Spalten, deren Namen mit #value enden, beinhalten die erweiterten Daten aus der Sammlung.

Updates von Datenkonnektoren

Wenn Sie Analytics, oder den Robots-Agent aktualisieren, sollten Sie Ihre Skripts für Datenimporte mit einem der Analytics-Datenkonnektoren (Befehl ACCESSDATA) testen.

Es besteht die Möglichkeit, dass Änderungen eines Drittanbieters von Datenquellen oder eines Herstellers von ODBC-Treibern Aktualisierungen eines oder mehrerer Datenkonnektoren erfordert. Über Skripts hergestellte Datenverbindungen müssen unter Umständen aktualisiert werden, um nach wie vor ordnungsgemäß zu arbeiten.

  • Import erneut durchführen Die einfachste Möglichkeit, eine Verbindung zu aktualisieren, ist die manuelle Durchführung eines Imports mit dem Fenster „Datenzugriff“ der aktualisierten Version von Analytics. Kopieren Sie den Befehl ACCESSDATA aus dem Protokoll, und verwenden Sie ihn zur Aktualisierung Ihres Skripts.

    Hinweis

    Bevor Sie sich mit einer Datenquelle verbinden und den Import erneut ausführen, löschen Sie den Cache des Konnektors, um bestehende Tabellennamen zu entfernen.

    In der Registerkarte Bestehende Verbindungen des Fensters „Datenzugriff“ wählen Sie  > Cache löschen.

  • Feldspezifikationen aktualisieren Unter Umständen müssen Sie auch Feldspezifikationen im Skriptkörper aktualisieren, um die Änderungen des Tabellenschemas in der Datenquelle oder dem ODBC-Treiber anzupassen. Mögliche Änderungen beinhalten Feldnamen, Datentypen von Feldern sowie Feld- und Datensatzlängen.
  • Ergebnisse von Filtern überprüfen Sie sollten auch Ergebnisse von Filtern überprüfen, die Sie im Rahmen des Datenimports nutzen. Stellen Sie sicher, dass der Importfilter Datensätze ordnungsgemäß ein- und ausschließt.

Änderungen des Apache-Cassandra-Datenkonnektors

Spezifische Änderungen des Apache-Cassandra-Datenkonnektors sind im Folgenden aufgelistet.

Analytics-Version Änderung

14.2

Der Konnektor unterstützt keine Verbindungen zu Apache Cassandra 2.0 mehr.

Verbindungen können mit Apache Cassandra 2.1, 2.2 und 3.0 aufgenommen werden.