Apache Cassandra Verbindungsdetails
Einführung
Connector-Version
Diese Dokumentation basiert auf Version 23.0.8803 des Connectors.
Erste Schritte
Cassandra-Versionsunterstützung
Der Connector unterstützt die CQL-Versionen 2.0, 3.0 und 4.0
Herstellen einer Verbindung
Verbinde dich mit Cassandra
Sie können über die Cassandra-APIs eine direkte Verbindung zu Cassandra-Instanzen sowie zu Cosmos DB und DataStax Astra DB herstellen.
Kassandra
Legen Sie Folgendes fest, um eine Verbindung zu einer Cassandra-Instanz herzustellen:
Server
: Setzen Sie dies auf den Host oder die IP-Adresse des Servers, auf dem die Cassandra-Datenbank gehostet wird. Sie können den Port am Ende dieser Eigenschaft oder in angebenPort
.Port
: Legen Sie hier den Port fest, auf dem die Cassandra-Datenbank gehostet wird, wenn Sie den Port nicht als Teil von angegeben habenServer
Verbindungseigenschaft.Database
: Setzen Sie dies auf den Namen des Cassandra-Schlüsselraums, der Ihre Tabellen enthält.ConsistencyLevel
: Legen Sie hier die Anzahl der Replikate fest, von denen Sie eine Antwort erzwingen möchten, bevor Abfragen als erfolgreich gewertet werden.User
: Legen Sie hier den Benutzernamen fest, der für den Zugriff auf Ihre Cassandra-Datenbank verwendet wird.Password
: Legen Sie hier das Passwort fest, das für den Zugriff auf Ihre Cassandra-Datenbank verwendet wird.
Cosmos-Datenbank
Wenn Sie Cosmos DB als Ihren Cassandra-Datenspeicher verwenden, geben Sie zum Verbinden die folgenden Werte an:
Server
: Setzen Sie dies auf den Host-Wert, den FQDN des für Ihr Konto bereitgestellten Servers. Sie können den Port am Ende dieser Eigenschaft oder in angebenPort
.Port
: Legen Sie hier den Port fest, auf dem Ihre Cosmos DB-Instanz gehostet wird, wenn Sie den Port nicht als Teil von angegeben habenServer
Verbindungseigenschaft.Database
: Stellen Sie hier die Datenbank ein, aus der Sie lesen und in die Sie schreiben möchten.ConsistencyLevel
: Legen Sie hier die Anzahl der Replikate fest, von denen Sie eine Antwort erzwingen möchten, bevor Abfragen als erfolgreich gewertet werden.User
: Legen Sie hier Ihren Cosmos DB-Kontonamen fest.Password
: Setzen Sie dies auf den Kontoschlüssel, der mit dem Cosmos DB-Konto verknüpft ist.
DataStax Astra DB
Wenn Sie Astra DB als Ihren Cassandra-Datenspeicher verwenden, geben Sie zum Verbinden die folgenden Werte an:
Server
: Stellen Sie dies auf den Server in Ihrem BASE_ADDRESS-Wert ein. Sie können den Port auch hier oder in angebenPort
.Port
: Stellen Sie hier den Port ein, auf dem Ihre Astra DB-Instance gehostet wird, wenn Sie den Port nicht als Teil von angegeben habenServer
Verbindungseigenschaft.Database
: Stellen Sie hier die Datenbank ein, aus der Sie lesen und in die Sie schreiben möchten.ConsistencyLevel
: Legen Sie hier die Anzahl der Replikate fest, von denen Sie eine Antwort erzwingen möchten, bevor Abfragen als erfolgreich gewertet werden.User
: Legen Sie hier Ihren Astra DB-Benutzernamen fest.Password
: Legen Sie hier das Passwort fest, das mit Ihrem Astra DB-Benutzernamen verknüpft ist.
Sichere Bundle-Verbindung
Sie können jede Verbindung als sicheres Bündel konfigurieren, indem Sie die folgenden Verbindungseigenschaften festlegen:
Server
: Setzen Sie hier Ihren Servernamen.Port
: Setzen Sie dies auf29042
.User
: Stellen Sie dies auf den Atra DB-Benutzer ein.Password
: Setzen Sie dies auf das Astra DB-Benutzerkennwort.SSLClientCert
: Legen Sie hier den Pfad zur Datei identity.jks fest.SSLClientCertType
: Stellen Sie dies einJKSFILE
.SSLClientCertPassword
: Legen Sie hier das Passwort für die Datei identity.jks fest.SSLClientCertSubject
: Setzen Sie dies aufCERTIFICATE SUBJECT INFORMATION
.UseSSL
: Setzen Sie dies auftrue
.
Siehe Inhalt des Secure Connect-Pakets für eine Liste der Dateien, die in einem sicheren Paket enthalten sind.
Authentifizieren gegenüber Cassandra
Der Connector unterstützt die Basisauthentifizierung mit Anmeldeinformationen und die zusätzlichen Authentifizierungsfunktionen von DataStax Enterprise (DSE). In den folgenden Abschnitten werden die Verbindungseigenschaften beschrieben, die Ihre Authentifizierungsmethode möglicherweise erfordert.
Sie müssen festlegen AuthScheme
auf den Wert, der dem für Ihr System konfigurierten Authentifikator entspricht. Sie geben den Authentifikator in der authenticator
Eigentum im cassandra.yaml
Datei. Diese Datei befindet sich normalerweise in /etc/dse/cassandra
oder über den DSE Unified Authenticator
auf DSE Cassandra.
Cookies-basis
Satz AuthScheme
Zu Basic
um sich nur mit Anmeldeinformationen zu authentifizieren.
Legen Sie in der Datei cassandra.yaml Folgendes fest: authenticator
Eigenschaft auf „PasswordAuthenticator“.
DSE
Setzen Sie die AuthScheme
Eigentum an DSE
zur Authentifizierung mit Anmeldeinformationen und dem DSE Unified Authenticator.
Legen Sie in der Datei Folgendes fest: authenticator
Eigenschaft auf „com.datastax.bdp.cassandra.auth.DseAuthenticator“.
Kerberos
Stellen Sie Folgendes auf die Authentifizierung mit Kerberos ein:
AuthScheme
: Setzen Sie dies aufKERBEROS
.KerberosKDC
: Legen Sie hier den Kerberos Key Distribution Center (KDC)-Dienst fest, der zur Authentifizierung des Benutzers verwendet wird.KerberosRealm
: Legen Sie hier den Kerberos-Bereich fest, der zur Authentifizierung des Benutzers verwendet wird.KerberosSPN
: Legen Sie dies auf den Service Principal Name (SPN) für den Kerberos-Domänencontroller fest.
Konfigurieren Sie als Nächstes diese YAML-Dateien wie unten beschrieben:
- Legen Sie in der Datei cassandra.yaml Folgendes fest:
authenticator
Eigenschaft auf „com.datastax.bdp.cassandra.auth.DseAuthenticator“. - Ändern Sie die
authentication_options
Abschnitt in der Datei dse.yaml, der diedefault_schema
Undother_schemas
Eigenschaften als „kerberos“. - Ändern Sie die
kerberos_options
Abschnitt in der Datei dse.yaml, der diekeytab
,service_principle
,http_principle
Undqop
Eigenschaften.
Siehe Verwenden von Kerberos für weitere Einzelheiten zum Festlegen der Verbindungseigenschaften für die Verbindung mit Kerberos.
LDAP
Zur Authentifizierung Folgendes festlegen:
AuthScheme
: Setzen Sie dies aufLDAP
um einen LDAP Benutzer zu authentifizieren.LDAPServer
: Legen Sie hier den Host oder die IP-Adresse des LDAP -Servers fest.LDAPPassword
: Das Passwort des Standard LDAP Benutzers.
Konfigurieren Sie als Nächstes diese YAML-Dateien wie unten beschrieben:
- Legen Sie in der Datei cassandra.yaml die
authenticator
Eigenschaft auf „com.datastax.bdp.cassandra.auth.DseAuthenticator“. - Ändern Sie die
authentication_options
Abschnitt in der Datei dse.yaml, der diedefault_schema
Undother_schemas
Eigenschaften als „ldap“. - Ändern Sie die
ldap_options
Abschnitt in der Datei dse.yaml, der dieserver_host
,server_port
,search_dn
,search_password
,user_search_base
, Unduser_search_filter
Eigenschaften.
Sichere Cassandra-Verbindungen
Sie können festlegen UseSSL
, um SSL/TLS Verschlüsselung auszuhandeln, wenn Sie eine Verbindung herstellen. Standardmäßig versucht der Connector, SSL/TLS auszuhandeln, indem er das Zertifikat des Servers mit dem vertrauenswürdigen Zertifikatspeicher des Systems vergleicht. Um ein anderes Zertifikat anzugeben, siehe SSLServerCert
Eigenschaft für die verfügbaren Formate.
Kerberos verwenden
Kerberos verwenden
Für die Authentifizierung bei Cassandra über Kerberos müssen Sie Authentifizierungseigenschaften definieren und auswählen, wie Kerberos Authentifizierungstickets abrufen soll.
Abrufen von Kerberos-Tickets
Kerberos-Tickets werden verwendet, um die Identität des Anforderers zu authentifizieren. Durch die Verwendung von Tickets anstelle von formellen Logins/Passwörtern entfällt die Notwendigkeit, Passwörter lokal zu speichern oder über ein Netzwerk zu senden. Benutzer werden erneut authentifiziert (Tickets werden aktualisiert), wenn sie sich an ihrem lokalen Computer anmelden oder kinit USER
in der Eingabeaufforderung.
Der Connector bietet drei Möglichkeiten, das erforderliche Kerberos-Ticket abzurufen, je nachdem, ob das KRB5CCNAME
und/oder KerberosKeytabFile
Variablen sind in Ihrer Umfeld vorhanden.
MIT Kerberos-Anmeldeinformations-Cache-Datei
Mit dieser Option können Sie den MIT Kerberos Ticket Manager verwenden oder kinit
Befehl zum Abrufen von Tickets. Mit dieser Option ist es nicht erforderlich, den User
oder Password
Verbindungseigenschaften.
Diese Option erfordert, dass KRB5CCNAME
wurde in Ihrem System erstellt.
So aktivieren Sie den Ticketabruf über MIT Cerberos Credential Cache Files:
- Stellen Sie sicher, dass
KRB5CCNAME
Variable ist in Ihrer Umfeld vorhanden. - Satz
KRB5CCNAME
zu einem Pfad, der auf Ihre Anmeldeinformations-Cachedatei verweist. (Beispiel:C:\krb_cache\krb5cc_0
oder/tmp/krb5cc_0
.) Die Anmeldeinformations-Cachedatei wird erstellt, wenn Sie den MIT Kerberos Ticket Manager zum Generieren Ihres Tickets verwenden. -
So erhalten Sie ein Ticket:
- Öffnen Sie die Anwendung MIT Kerberos Ticket Manager.
- Klicken Sie auf
Get Ticket
. - Geben Sie Ihren Hauptnamen und Ihr Passwort ein.
- Klicken Sie auf
OK
.
Wenn das Ticket erfolgreich erhalten wurde, werden die Ticketinformationen im Kerberos Ticket Manager angezeigt und in der Anmeldeinformations-Cachedatei gespeichert.
Der Connector verwendet die Cachedatei, um das Kerberos-Ticket für die Verbindung mit Cassandra zu erhalten.
Hinweis
Wenn Sie nichts bearbeiten möchten KRB5CCNAME
, Sie können verwenden KerberosTicketCache
Eigenschaft, um den Dateipfad manuell festzulegen. Nachdem dies festgelegt wurde, verwendet der Connector die angegebene Cache-Datei, um das Kerberos-Ticket für die Verbindung mit Cassandra abzurufen.
Keytab-Datei
Wenn in Ihrer Umfeld die KRB5CCNAME
Umfeld, Sie können ein Kerberos-Ticket mithilfe einer Keytab-Datei abrufen.
Um diese Methode zu verwenden, setzen Sie die User
Eigenschaft auf den gewünschten Benutzernamen und legen Sie die KerberosKeytabFile
-Eigenschaft auf einen Dateipfad, der auf die mit dem Benutzer verknüpfte Keytab-Datei verweist.
Benutzer und Passwort
Wenn in Ihrer Umfeld die KRB5CCNAME
Umfeld und die KerberosKeytabFile
-Eigenschaft nicht festgelegt wurde, können Sie ein Ticket mithilfe einer Benutzer- und Passwortkombination abrufen.
Um diese Methode zu verwenden, legen Sie die-Eigenschaft fest User
Und Password
Eigenschaften für die Benutzer-/Passwortkombination, die Sie zur Authentifizierung bei Cassandra verwenden.
Cross-Realm-Authentifizierung aktivieren
Komplexere Kerberos-Umgebungen können eine Cross-Realm-Authentifizierung erfordern, wenn mehrere Realms und KDC-Server verwendet werden. Beispielsweise können sie einen Realm/KDC für die Benutzerauthentifizierung und einen anderen Realm/KDC zum Abrufen des Servicetickets verwenden.
Um diese Art der Cross-Realm-Authentifizierung zu aktivieren, setzen Sie das KerberosRealm
Und KerberosKDC
Eigenschaften auf die Werte, die für die Benutzerauthentifizierung erforderlich sind. Setzen Sie außerdem die KerberosServiceRealm
Und KerberosServiceKDC
Eigenschaften auf die Werte, die zum Erhalt des Servicetickets erforderlich sind.
Optimieren des Datenzugriffs
Optimieren des Datenzugriffs
Mithilfe der folgenden Eigenschaften können Sie eine bessere Kontrolle über die Cassandra API Funktionen und die Strategien erlangen, die der Connector zu deren Anzeige verwendet:
-
AllowFiltering
: Legen Sie diese Eigenschaft fest, damit der Server langsame Suchvorgänge verarbeiten kann. -
UseJsonFormat
: Legen Sie diese Eigenschaft fest, um CQL-Literale statt JSON zu verwenden. -
QueryPassthrough
: Diese Eigenschaft ermöglicht Ihnen die Verwendung nativer CQL-Anweisungen anstelle von SQL. -
RowScanDepth
: Diese Eigenschaft bestimmt die Anzahl der Zeilen, die beim Generieren von Tabellenmetadaten gescannt werden, um Spaltendatentypen zu erkennen.Diese Eigenschaft gilt, wenn Sie mit den dynamischen Schemas arbeiten, die von Automatic Schema Discovery generiert wurden oder wenn Sie verwenden
QueryPassthrough
.
NoSQL-Datenbank
Cassandra ist eine NoSQL-Datenbank, die hohe Leistung, Verfügbarkeit und Skalierbarkeit bietet. Diese Funktionen sind jedoch nicht unbedingt mit einer standardkonformen Abfrage wie SQL-92 inkompatibel. Der Connector modelliert Cassandra-Tabellen in relationale Tabellen und übersetzt SQL-Abfragen in Aufrufe der Cassandra API, dem binären CQL-Protokoll (Cassandra Query Language).
Das Äquivalent einer Tabelle in Cassandra ist eine Spaltenfamilie. Spaltenfamilien enthalten Spalten mit verwandten Daten. Wie andere NoSQL-Datenbanken erlaubt Cassandra komplexe Feldtypen wie Set, List und Map. Eine Spaltenfamilie ist eine verschachtelte Map-Datenstruktur. Diese kann als JSON-Objekt dargestellt werden.
Der Connector bietet zwei Möglichkeiten, Cassandra-Objekte zu modellieren. Die Automatische Schemaerkennung Schema findet automatisch die Datentypen in einem Cassandra-Objekt, indem es eine konfigurierte Anzahl von Zeilen des Objekts scannt. Sie können verwenden RowScanDepth
, FlattenArrays
, Und FlattenObjects
um die relationale Darstellung der Tabellen in Cassandra zu steuern.
Automatische Schemaerkennung
Der Connector leitet automatisch ein relationales Schema ab, indem er eine Reihe von Cassandra-Dokumenten in einer Sammlung überprüft. Sie können die RowScanDepth
Eigenschaft, um die Anzahl der Dokumente zu definieren, die der Connector zu diesem Zweck scannt. Die während des Erkennungsprozesses identifizierten Spalten hängen von der ab FlattenArrays
Und FlattenObjects
Eigenschaften.
Objekte abflachen
Wenn FlattenObjects
gesetzt ist, werden alle verschachtelten Objekte in eine Reihe von Spalten zusammengefasst. Betrachten Sie beispielsweise das folgende Dokument:
{
id: 12,
name: "Lohia Manufacturers Inc.",
address: {street: "Main Street", city: "Chapel Hill", state: "NC"},
offices: ["Chapel Hill", "London", "New York"],
annual_revenue: 35,600,000
}
Dieses Dokument wird durch die folgenden Spalten dargestellt:
Spaltenname | Datentyp | Beispielwert |
---|---|---|
id | Ganzzahl | 12 |
Name | Zeichenfolge | Lohia Manufacturers Inc. |
Adresse.Straße | String | Hauptstraße |
Adresse.Stadt | Zeichenfolge | Chapel Hill |
Adresse.Status | Zeichenfolge | NC |
Büros | String | ["Chapel Hill", "London", "New York"] |
Jahresumsatz | Doppelt | 35.600.000 |
Wenn FlattenObjects
nicht gesetzt ist, werden die Spalten address.street, address.city und address.state nicht aufgeteilt. Die Adressspalte vom Typ string stellt stattdessen das gesamte Objekt dar. Ihr Wert wäre {street: "Main Street", city: "Chapel Hill", state: "NC"}
. Siehe JSON-Funktionen für weitere Einzelheiten zur Arbeit mit JSON-Aggregaten.
Arrays abflachen
Der FlattenArrays
-Eigenschaft kann verwendet werden, um Array-Werte in eigene Spalten zu reduzieren. Dies wird nur für Arrays empfohlen, die voraussichtlich kurz sind, beispielsweise die folgenden Koordinaten:
"coord": [-73.856077, 40.848447 ]
Die FlattenArrays
Eigenschaft kann auf 2 gesetzt werden, um das obige Array wie folgt darzustellen:
Spaltenname | Datentyp | Beispielwert |
---|---|---|
Koordinate.0 | Float | -73.856077 |
Koordinate 1 | Float | 40,848447 |
Andere unbegrenzte Arrays lassen Sie am besten so, wie sie sind, und teilen die Daten bei Bedarf mithilfe von JSON-Funktionen aus.
JSON-Funktionen
Der Connector kann JSON-Strukturen als Spaltenwerte zurückgeben. Der Connector ermöglicht Ihnen die Verwendung von Standard-SQL-Funktionen zum Arbeiten mit diesen JSON-Strukturen. Die Beispiele in diesem Abschnitt verwenden das folgende Array:
[
{ "grade": "A", "score": 2 },
{ "grade": "A", "score": 6 },
{ "grade": "A", "score": 10 },
{ "grade": "A", "score": 9 },
{ "grade": "B", "score": 14 }
]
JSON_EXTRACT
Die Funktion JSON_EXTRACT kann einzelne Werte aus einem JSON-Objekt extrahieren. Die folgende Abfrage gibt die unten gezeigten Werte basierend auf dem JSON-Pfad zurück, der als zweites Argument an die Funktion übergeben wird:
SELECT Name, JSON_EXTRACT(grades,'[0].grade') AS Grade, JSON_EXTRACT(grades,'[0].score') AS Score FROM Students;
Spaltenname | Beispielwert |
---|---|
Grade | EIN |
Score | 2 |
JSON_ANZAHL
Die Funktion JSON_COUNT gibt die Anzahl der Elemente in einem JSON-Array innerhalb eines JSON-Objekts zurück. Die folgende Abfrage gibt die Anzahl der Elemente zurück, die durch den JSON-Pfad angegeben werden, der als zweites Argument an die Funktion übergeben wird:
SELECT Name, JSON_COUNT(grades,'[x]') AS NumberOfGrades FROM Students;
Spaltenname | Beispielwert |
---|---|
NumberOfGrades | 5 |
JSON_SUM
Die Funktion JSON_SUM gibt die Summe der numerischen Werte eines JSON-Arrays innerhalb eines JSON-Objekts zurück. Die folgende Abfrage gibt die Summe der Werte zurück, die durch den JSON-Pfad angegeben werden, der als zweites Argument an die Funktion übergeben wird:
SELECT Name, JSON_SUM(score,'[x].score') AS TotalScore FROM Students;
Spaltenname | Beispielwert |
---|---|
TotalScore | 41 |
JSON_MIN
Die Funktion JSON_MIN gibt den niedrigsten numerischen Wert eines JSON-Arrays innerhalb eines JSON-Objekts zurück. Die folgende Abfrage gibt den Mindestwert zurück, der durch den JSON-Pfad angegeben wird, der als zweites Argument an die Funktion übergeben wird:
SELECT Name, JSON_MIN(score,'[x].score') AS LowestScore FROM Students;
Spaltenname | Beispielwert |
---|---|
LowestScore | 2 |
JSON_MAX
Die Funktion JSON_MAX gibt den höchsten numerischen Wert eines JSON-Arrays innerhalb eines JSON-Objekts zurück. Die folgende Abfrage gibt den Maximalwert zurück, der durch den JSON-Pfad angegeben wird, der als zweites Argument an die Funktion übergeben wird:
SELECT Name, JSON_MAX(score,'[x].score') AS HighestScore FROM Students;
Spaltenname | Beispielwert |
---|---|
HighestScore | 14 |
JSON
Mit der JSON-Funktion kann die gesamte Tabelle als JSON-Zeichenfolge abgerufen werden. Sehen Sie sich als Beispiel die folgende Abfrage und ihr Ergebnis an:
SELECT JSON(*) FROM Customers;
Die Abfrage Abfrage gibt die gesamte Tabelle wie gezeigt zurück.
{ "id": 12, "name": "Lohia Manufacturers Inc.", "address": { "street": "Main Street", "city": "Chapel Hill", "state": "NC"}, "offices":`[ "Chapel Hill", "London", "New York" ], `"annual_revenue": 35,600,000 }
Datentypzuordnung
Datentypzuordnungen
Der Connector ordnet Typen aus der Datenquelle dem entsprechenden im Schema verfügbaren Datentyp zu. Die folgende Tabelle dokumentiert diese Zuordnungen.
Beachten Sie, dass Zeichenfolgenspalten je nach Länge unterschiedlichen Datentypen zugeordnet werden können.
Cassandra | Schema |
---|---|
ascii | Zeichenfolge |
bigint | lang |
blob | binär |
boolean | |
counter | lang |
date | Datum |
decimal | Dezimal |
double | schweben |
float | schweben |
inet | Zeichenfolge |
int | int |
list | Zeichenfolge |
map | Zeichenfolge |
set | Zeichenfolge |
smallint | int |
text | Zeichenfolge |
time | Zeit |
timestamp | Datum/Uhrzeit |
timeuuid | Zeichenfolge |
tinyint | int |
tuple | Zeichenfolge |
udt | Zeichenfolge |
uuid | Zeichenfolge |
varchar | Zeichenfolge |
varint | Zeichenfolge |
Systemtabellen
Sie können die in diesem Abschnitt beschriebenen Systemtabellen Abfrage, um auf Schema, Informationen zur Datenquellenfunktionalität und Statistiken zu Operation Charge.
Schematabellen
Die folgenden Tabellen geben Datenbankmetadaten für Cassandra zurück:
- sys_catalogs: Listet die verfügbaren Datenbanken auf.
- sys_schemas: Listet die verfügbaren Schemata auf.
- sys_tables: Listet die verfügbaren Tabellen und Ansichten auf.
- sys_tablecolumns: Beschreibt die Spalten der verfügbaren Tabellen und Ansichten.
- sys_procedures: Beschreibt die verfügbaren gespeicherten Prozeduren.
- sys_procedureparameters: Beschreibt Parameter gespeicherter Prozeduren.
- sys_keycolumns: Beschreibt die Primär- und Fremdschlüssel.
- sys_indexes: Beschreibt die verfügbaren Indizes.
Datenquellentabellen
Die folgenden Tabellen enthalten Informationen dazu, wie eine Verbindung zur Datenquelle hergestellt und diese Abfrage wird:
- sys_connection_props: Gibt Informationen zu den verfügbaren Verbindungseigenschaften zurück.
- sys_sqlinfo: Beschreibt die SELECT-Abfragen, die der Connector an die Datenquelle auslagern kann.
Abfrageinformationstabellen
Die folgende Tabelle gibt Abfrage für Datenänderungsabfragen zurück, einschließlich Charge:
- Systemidentität: Gibt Informationen zu Charge oder einzelnen Updates zurück.
Sys_catalogs
Listet die verfügbaren Datenbanken auf.
Die folgende Abfrage ruft alle durch die Verbindungszeichenfolge ermittelten Datenbanken ab:
SELECT * FROM sys_catalogs
Spalten
Name | Typ | Beschreibung |
---|---|---|
CatalogName | String | Der Datenbankname. |
Sys_schemas
Listet die verfügbaren Schemas auf.
Die folgende Abfrage ruft alle verfügbaren Schemata ab:
SELECT * FROM sys_schemas
Spalten
Name | Typ | Beschreibung |
---|---|---|
CatalogName | String | Der Datenbankname. |
SchemaName | String | Der Schema. |
Sys_tables
Listet die verfügbaren Tabellen auf.
Die folgende Abfrage ruft die verfügbaren Tabellen und Ansichten ab:
SELECT * FROM sys_tables
Spalten
Name | Typ | Beschreibung |
---|---|---|
CatalogName | String | Die Datenbank, die die Tabelle oder Ansicht enthält. |
SchemaName | String | Das Schema, das die Tabelle oder Ansicht enthält. |
TableName | String | Der Name der Tabelle oder Ansicht. |
TableType | String | Der Tabellentyp (Tabelle oder Ansicht). |
Description | String | Eine Beschreibung der Tabelle oder Ansicht. |
IsUpdateable | Boolean | Ob die Tabelle aktualisiert werden kann. |
Sys_tablecolumns
Beschreibt die Spalten der verfügbaren Tabellen und Ansichten.
Die folgende Abfrage gibt die Spalten und Datentypen für die Tabelle ""."Sample".Products zurück:
SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Products' AND CatalogName='' AND SchemaName='Sample'
Spalten
Name | Typ | Beschreibung |
---|---|---|
CatalogName | String | Der Name der Datenbank, die die Tabelle oder Ansicht enthält. |
SchemaName | String | Das Schema, das die Tabelle oder Ansicht enthält. |
TableName | String | Der Name der Tabelle oder Ansicht, die die Spalte enthält. |
ColumnName | String | Der Spaltenname. |
DataTypeName | String | Der Name des Datentyps. |
DataType | Int32 | Eine Ganzzahl, die den Datentyp angibt. Dieser Wert wird zur Laufzeit basierend auf der Umfeld bestimmt. |
Length | Int32 | Die Speichergröße der Spalte. |
DisplaySize | Int32 | Die normale Maximalbreite der angegebenen Spalte in Zeichen. |
NumericPrecision | Int32 | Die maximale Anzahl von Ziffern in numerischen Daten. Die Spaltenlänge in Zeichen für Zeichen- und Datums-/Uhrzeitdaten. |
NumericScale | Int32 | Die Spaltenskala oder Anzahl der Ziffern rechts vom Dezimalpunkt. |
IsNullable | Boolean | Ob die Spalte Null enthalten kann. |
Description | String | Eine kurze Beschreibung der Spalte. |
Ordinal | Int32 | Die Sequenznummer der Spalte. |
IsAutoIncrement | String | Ob der Spaltenwert in festen Schritten zugewiesen wird. |
IsGeneratedColumn | String | Ob die Spalte generiert wird. |
IsHidden | Boolean | Ob die Spalte ausgeblendet ist. |
IsArray | Boolean | Ob die Spalte ein Array ist. |
IsReadOnly | Boolean | Ob die Spalte schreibgeschützt ist. |
IsKey | Boolean | Gibt an, ob ein von sys_tablecolumns zurückgegebenes Feld der Primärschlüssel der Tabelle ist. |
Sys_procedures
Listet die verfügbaren gespeicherten Prozeduren auf.
Die folgende Abfrage ruft die verfügbaren gespeicherten Prozeduren ab:
SELECT * FROM sys_procedures
Spalten
Name | Typ | Beschreibung |
---|---|---|
CatalogName | String | Die Datenbank, die die gespeicherte Prozedur enthält. |
SchemaName | String | Das Schema, das die gespeicherte Prozedur enthält. |
ProcedureName | String | Der Name der gespeicherten Prozedur. |
Description | String | Eine Beschreibung der gespeicherten Prozedur. |
ProcedureType | String | Der Typ der Prozedur, z. B. PROZEDUR oder FUNKTION. |
Sys_procedureparameters
Beschreibt Parameter gespeicherter Prozeduren.
Die folgende Abfrage gibt Informationen zu allen Eingabeparametern für die gespeicherte Prozedur SelectEntries zurück:
SELECT * FROM sys_procedureparameters WHERE ProcedureName='SelectEntries' AND Direction=1 OR Direction=2
Spalten
Name | Typ | Beschreibung |
---|---|---|
CatalogName | String | Der Name der Datenbank, die die gespeicherte Prozedur enthält. |
SchemaName | String | Der Name des Schema, das die gespeicherte Prozedur enthält. |
ProcedureName | String | Der Name der gespeicherten Prozedur, die den Parameter enthält. |
ColumnName | String | Der Name des gespeicherten Prozedurparameters. |
Direction | Int32 | Eine Ganzzahl, die dem Typ des Parameters entspricht: Eingabe (1), Eingabe/Ausgabe (2) oder Ausgabe (4). Parameter vom Typ Eingabe/Ausgabe können sowohl Eingabe- als auch Ausgabeparameter sein. |
DataTypeName | String | Der Name des Datentyps. |
DataType | Int32 | Eine Ganzzahl, die den Datentyp angibt. Dieser Wert wird zur Laufzeit basierend auf der Umfeld bestimmt. |
Length | Int32 | Die Anzahl der für Zeichendaten zulässigen Zeichen. Die Anzahl der für numerische Daten zulässigen Ziffern. |
NumericPrecision | Int32 | Die maximale Genauigkeit für numerische Daten. Die Spaltenlänge in Zeichen für Zeichen- und Datums-/Uhrzeitdaten. |
NumericScale | Int32 | Die Anzahl der Ziffern rechts vom Dezimalkomma in numerischen Daten. |
IsNullable | Boolean | Ob der Parameter Null enthalten kann. |
IsRequired | Boolean | Ob der Parameter zur Ausführung der Prozedur erforderlich ist. |
IsArray | Boolean | Ob der Parameter ein Array ist. |
Description | String | Die Beschreibung des Parameters. |
Ordinal | Int32 | Der Index des Parameters. |
Sys_keycolumns
Beschreibt die Primär- und Fremdschlüssel.
Die folgende Abfrage ruft den Primärschlüssel für die Tabelle ""."Sample".Products ab:
SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Products' AND CatalogName='' AND SchemaName='Sample'
Spalten
Name | Typ | Beschreibung |
---|---|---|
CatalogName | String | Der Name der Datenbank, die den Schlüssel enthält. |
SchemaName | String | Der Name des Schema, das den Schlüssel enthält. |
TableName | String | Der Name der Tabelle, die den Schlüssel enthält. |
ColumnName | String | Der Name der Schlüsselspalte. |
IsKey | Boolean | Ob die Spalte ein Primärschlüssel in der Tabelle ist, auf die im Feld „TableName“ verwiesen wird. |
IsForeignKey | Boolean | Ob die Spalte ein Fremdschlüssel ist, auf den im Feld TableName verwiesen wird. |
PrimaryKeyName | String | Der Name des Primärschlüssels. |
ForeignKeyName | String | Der Name des Fremdschlüssels. |
ReferencedCatalogName | String | Die Datenbank, die den Primärschlüssel enthält. |
ReferencedSchemaName | String | Das Schema, das den Primärschlüssel enthält. |
ReferencedTableName | String | Die Tabelle, die den Primärschlüssel enthält. |
ReferencedColumnName | String | Der Spaltenname des Primärschlüssels. |
Sys_foreignkeys
Beschreibt die Fremdschlüssel.
Die folgende Abfrage ruft alle Fremdschlüssel ab, die auf andere Tabellen verweisen:
SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
Spalten
Name | Typ | Beschreibung |
---|---|---|
CatalogName | String | Der Name der Datenbank, die den Schlüssel enthält. |
SchemaName | String | Der Name des Schema, das den Schlüssel enthält. |
TableName | String | Der Name der Tabelle, die den Schlüssel enthält. |
ColumnName | String | Der Name der Schlüsselspalte. |
PrimaryKeyName | String | Der Name des Primärschlüssels. |
ForeignKeyName | String | Der Name des Fremdschlüssels. |
ReferencedCatalogName | String | Die Datenbank, die den Primärschlüssel enthält. |
ReferencedSchemaName | String | Das Schema, das den Primärschlüssel enthält. |
ReferencedTableName | String | Die Tabelle, die den Primärschlüssel enthält. |
ReferencedColumnName | String | Der Spaltenname des Primärschlüssels. |
ForeignKeyType | String | Gibt an, ob der Fremdschlüssel ein Importschlüssel (zeigt auf andere Tabellen) oder ein Exportschlüssel (referenziert von anderen Tabellen) ist. |
Sys_primarykeys
Beschreibt die Primärschlüssel.
Die folgende Abfrage ruft die Primärschlüssel aus allen Tabellen und Ansichten ab:
SELECT * FROM sys_primarykeys
Spalten
Name | Typ | Beschreibung |
---|---|---|
CatalogName | String | Der Name der Datenbank, die den Schlüssel enthält. |
SchemaName | String | Der Name des Schema, das den Schlüssel enthält. |
TableName | String | Der Name der Tabelle, die den Schlüssel enthält. |
ColumnName | String | Der Name der Schlüsselspalte. |
KeySeq | String | Die Sequenznummer des Primärschlüssels. |
KeyName | String | Der Name des Primärschlüssels. |
Sys_indexes
Beschreibt die verfügbaren Indizes. Durch das Filtern nach Indizes können Sie selektivere Abfragen mit schnelleren Abfrage schreiben.
Die folgende Abfrage ruft alle Indizes ab, die keine Primärschlüssel sind:
SELECT * FROM sys_indexes WHERE IsPrimary='false'
Spalten
Name | Typ | Beschreibung |
---|---|---|
CatalogName | String | Der Name der Datenbank, die den Index enthält. |
SchemaName | String | Der Name des Schema, das den Index enthält. |
TableName | String | Der Name der Tabelle, die den Index enthält. |
IndexName | String | Der Indexname. |
ColumnName | String | Der Name der mit dem Index verknüpften Spalte. |
IsUnique | Boolean | Wahr, wenn der Index eindeutig ist. Andernfalls falsch. |
IsPrimary | Boolean | Wahr, wenn der Index ein Primärschlüssel ist. Andernfalls falsch. |
Type | Int16 | Ein ganzzahliger Wert, der dem Indextyp entspricht: Statistik (0), gruppiert (1), gehasht (2) oder Sonstiges (3). |
SortOrder | String | Die Sortierreihenfolge: A für aufsteigend oder D für absteigend. |
OrdinalPosition | Int16 | Die Sequenznummer der Spalte im Index. |
Sys_connection_props
Gibt Informationen zu den verfügbaren Verbindungseigenschaften und den in der Verbindungszeichenfolge festgelegten Eigenschaften zurück.
Bei der Abfrage dieser Tabelle sollte die Konfigurationsverbindungszeichenfolge verwendet werden:
jdbc:cdata:cassandra:config:
Mit dieser Verbindungszeichenfolge können Sie diese Tabelle ohne eine gültige Verbindung Abfrage.
Die folgende Abfrage ruft alle Verbindungseigenschaften ab, die in der Verbindungszeichenfolge festgelegt oder über einen Standardwert gesetzt wurden:
SELECT * FROM sys_connection_props WHERE Value <> ''
Spalten
Name | Typ | Beschreibung |
---|---|---|
Name | String | Der Name der Verbindungseigenschaft. |
ShortDescription | String | Eine kurze Beschreibung. |
Type | String | Der Datentyp der Verbindungseigenschaft. |
Default | String | Der Standardwert, sofern nicht explizit einer festgelegt wurde. |
Values | String | Eine durch Kommas getrennte Liste möglicher Werte. Wenn ein anderer Wert angegeben wird, wird ein Validierungsfehler ausgegeben. |
Value | String | Der von Ihnen festgelegte Wert oder ein vorkonfigurierter Standard. |
Required | Boolean | Ob für die Immobilie eine Anschlusspflicht besteht. |
Category | String | Die Kategorie der Verbindungseigenschaft. |
IsSessionProperty | String | Ob die Eigenschaft eine Sitzungseigenschaft ist, die zum Speichern von Informationen zur aktuellen Verbindung verwendet wird. |
Sensitivity | String | Die Vertraulichkeitsstufe der Eigenschaft. Diese gibt Aufschluss darüber, ob die Eigenschaft in Protokollierungs- und Authentifizierungsformularen verschleiert wird. |
PropertyName | String | Eine verkürzte Form des Verbindungseigenschaftsnamens in Camel-Case-Schreibweise. |
Ordinal | Int32 | Der Index des Parameters. |
CatOrdinal | Int32 | Der Index der Parameterkategorie. |
Hierarchy | String | Zeigt zugehörige abhängige Eigenschaften an, die zusammen mit dieser festgelegt werden müssen. |
Visible | Boolean | Informiert, ob die Eigenschaft in der Verbindungs-Benutzeroberfläche sichtbar ist. |
ETC | String | Diverse sonstige Informationen zum Objekt. |
Sys_sqlinfo
Beschreibt die SELECT- Abfrage, die der Connector an die Datenquelle auslagern kann.
Entdecken Sie die SELECT-Funktionen der Datenquelle
Nachfolgend sehen Sie einen Beispieldatensatz mit SQL-Funktionen. Einige Aspekte der SELECT-Funktionalität werden in einer durch Kommas getrennten Liste zurückgegeben, sofern sie unterstützt werden. Andernfalls enthält die Spalte NO.
Name | Beschreibung | Mögliche Werte |
---|---|---|
AGGREGATE_FUNCTIONS | Unterstützte Aggregatfunktionen. | AVG , COUNT , MAX , MIN , SUM , DISTINCT |
COUNT | Ob die COUNT-Funktion unterstützt wird. | YES , NO |
IDENTIFIER_QUOTE_OPEN_CHAR | Das öffnende Zeichen, das zum Escapen eines Bezeichners verwendet wird. | [ |
IDENTIFIER_QUOTE_CLOSE_CHAR | Das abschließende Zeichen, das zum Escapen eines Bezeichners verwendet wird. | ] |
SUPPORTED_OPERATORS | Eine Liste unterstützter SQL-Operatoren. | = , > , < , >= , <= , <> , != , LIKE , NOT LIKE , IN , NOT IN , IS NULL , IS NOT NULL , AND , OR |
GROUP_BY | Ob GROUP BY unterstützt wird und wenn ja, in welchem Umfang. | NO , NO_RELATION , EQUALS_SELECT , SQL_GB_COLLATE |
STRING_FUNCTIONS | Unterstützte String-Funktionen. | LENGTH , CHAR , LOCATE , REPLACE , SUBSTRING , RTRIM , LTRIM , RIGHT , LEFT , UCASE , SPACE , SOUNDEX , LCASE , CONCAT , ASCII , REPEAT , OCTET , BIT , POSITION , INSERT , TRIM , UPPER , REGEXP , LOWER , DIFFERENCE , CHARACTER , SUBSTR , STR , REVERSE , PLAN , UUIDTOSTR , TRANSLATE , TRAILING , TO , STUFF , STRTOUUID , STRING , SPLIT , SORTKEY , SIMILAR , REPLICATE , PATINDEX , LPAD , LEN , LEADING , KEY , INSTR , INSERTSTR , HTML , GRAPHICAL , CONVERT , COLLATION , CHARINDEX , BYTE |
NUMERIC_FUNCTIONS | Unterstützte numerische Funktionen. | ABS , ACOS , ASIN , ATAN , ATAN2 , CEILING , COS , COT , EXP , FLOOR , LOG , MOD , SIGN , SIN , SQRT , TAN , PI , RAND , DEGREES , LOG10 , POWER , RADIANS , ROUND , TRUNCATE |
TIMEDATE_FUNCTIONS | Unterstützte Datums-/Uhrzeitfunktionen. | NOW , CURDATE , DAYOFMONTH , DAYOFWEEK , DAYOFYEAR , MONTH , QUARTER , WEEK , YEAR , CURTIME , HOUR , MINUTE , SECOND , TIMESTAMPADD , TIMESTAMPDIFF , DAYNAME , MONTHNAME , CURRENT_DATE , CURRENT_TIME , CURRENT_TIMESTAMP , EXTRACT |
REPLICATION_SKIP_TABLES | Zeigt an, dass während der Replikation Tabellen übersprungen wurden. | |
REPLICATION_TIMECHECK_COLUMNS | Ein Zeichenfolgenarray mit einer Liste von Spalten, die (in der angegebenen Reihenfolge) zur Überprüfung verwendet werden, ob sie während der Replikation als geänderte Spalte verwendet werden sollen. | |
IDENTIFIER_PATTERN | Zeichenfolgenwert, der angibt, welche Zeichenfolge für einen Bezeichner gültig ist. | |
SUPPORT_TRANSACTION | Gibt an, ob der Anbieter Transaktionen wie Commit und Rollback unterstützt. | YES , NO |
DIALECT | Gibt den zu verwendenden SQL-Dialekt an. | |
KEY_PROPERTIES | Gibt die Eigenschaften an, die die einheitliche Datenbank identifizieren. | |
SUPPORTS_MULTIPLE_SCHEMAS | Gibt an, ob für den Anbieter mehrere Schemas vorhanden sein können. | YES , NO |
SUPPORTS_MULTIPLE_CATALOGS | Gibt an, ob für den Anbieter mehrere Kataloge vorhanden sein können. | YES , NO |
DATASYNCVERSION | Die für den Zugriff auf diesen Treiber erforderliche Data Sync-Version. | Standard , Starter , Professional , Enterprise |
DATASYNCCATEGORY | Die Kategorie „Datensynchronisierung“ dieses Treiber. | Source , Destination , Cloud Destination |
SUPPORTSENHANCEDSQL | Ob erweiterte SQL-Funktionen über das hinaus, was die API bietet, unterstützt werden. | TRUE , FALSE |
SUPPORTS_BATCH_OPERATIONS | Ob Charge Operationen unterstützt werden. | YES , NO |
SQL_CAP | Alle unterstützten SQL-Funktionen für diesen Treiber. | SELECT , INSERT , DELETE , UPDATE , TRANSACTIONS , ORDERBY , OAUTH , ASSIGNEDID , LIMIT , LIKE , BULKINSERT , COUNT , BULKDELETE , BULKUPDATE , GROUPBY , HAVING , AGGS , OFFSET , REPLICATE , COUNTDISTINCT , JOINS , DROP , CREATE , DISTINCT , INNERJOINS , SUBQUERIES , ALTER , MULTIPLESCHEMAS , GROUPBYNORELATION , OUTERJOINS , UNIONALL , UNION , UPSERT , GETDELETED , CROSSJOINS , GROUPBYCOLLATE , MULTIPLECATS , FULLOUTERJOIN , MERGE , JSONEXTRACT , BULKUPSERT , SUM , SUBQUERIESFULL , MIN , MAX , JOINSFULL , XMLEXTRACT , AVG , MULTISTATEMENTS , FOREIGNKEYS , CASE , LEFTJOINS , COMMAJOINS , WITH , LITERALS , RENAME , NESTEDTABLES , EXECUTE , BATCH , BASIC , INDEX |
PREFERRED_CACHE_OPTIONS | Ein Zeichenfolgenwert gibt die bevorzugten Cacheoptionen an. | |
ENABLE_EF_ADVANCED_QUERY | Gibt an, ob der Treiber erweiterte Abfragen aus dem Entity Framework direkt unterstützt. Wenn nicht, werden die Abfragen clientseitig verarbeitet. | YES , NO |
PSEUDO_COLUMNS | Ein Zeichenfolgenarray, das die verfügbaren Pseudospalten angibt. | |
MERGE_ALWAYS | Wenn der Wert „true“ ist, wird der Merge-Modus in der Datensynchronisierung zwangsweise ausgeführt. | TRUE , FALSE |
REPLICATION_MIN_DATE_QUERY | Eine Abfrage zum Zurückgeben des Startdatums und der Startzeit der Replikation. | |
REPLICATION_MIN_FUNCTION | Ermöglicht einem Anbieter, den Formelnamen anzugeben, der zum Ausführen eines serverseitigen Minimums verwendet werden soll. | |
REPLICATION_START_DATE | Ermöglicht einem Anbieter, ein Replikationsstartdatum anzugeben. | |
REPLICATION_MAX_DATE_QUERY | Eine Abfrage zum Zurückgeben des Enddatums und der Endzeit der Replikation. | |
REPLICATION_MAX_FUNCTION | Ermöglicht einem Anbieter, den Formelnamen anzugeben, der zur Ausführung eines serverseitigen Max. verwendet werden soll. | |
IGNORE_INTERVALS_ON_INITIAL_REPLICATE | Eine Liste von Tabellen, bei denen das Aufteilen der Replikation in Blöcke bei der ersten Replikation übersprungen wird. | |
CHECKCACHE_USE_PARENTID | Gibt an, ob die CheckCache-Anweisung für die übergeordnete Schlüsselspalte ausgeführt werden soll. | TRUE , FALSE |
CREATE_SCHEMA_PROCEDURES | Gibt gespeicherte Prozeduren an, die zum Generieren von Schema verwendet werden können. |
Die folgende Abfrage ruft die Operatoren ab, die in der WHERE-Klausel verwendet werden können:
SELECT * FROM sys_sqlinfo WHERE Name = 'SUPPORTED_OPERATORS'
Beachten Sie, dass einzelne Tabellen unterschiedliche Einschränkungen oder Anforderungen an die WHERE-Klausel haben können; siehe NoSQL-Datenbank Abschnitt für weitere Informationen.
Spalten
Name | Typ | Beschreibung |
---|---|---|
NAME | String | Eine Komponente der SQL-Syntax oder eine Funktion, die auf dem Server verarbeitet werden kann. |
VALUE | String | Details zum unterstützten SQL bzw. zur SQL-Syntax. |
Systemidentität
Gibt Informationen zu versuchten Änderungen zurück.
Die folgende Abfrage ruft die IDs der geänderten Zeilen in einer Operation Charge:
SELECT * FROM sys_identity
Spalten
Name | Typ | Beschreibung |
---|---|---|
Id | String | Die von einer Operation zurückgegebene, von der Datenbank generierte ID. |
Batch | String | Eine Kennung für den Charge. 1 für einen einzelnen Operation. |
Operation | String | Das Ergebnis der Operation im Charge: EINGEFÜGT, AKTUALISIERT oder GELÖSCHT. |
Message | String | SUCCESS oder eine Fehlermeldung, wenn das Update im Charge fehlgeschlagen ist. |
Wichtige Hinweise
Konfigurationsdateien und ihre Pfade
- Alle Verweise auf das Hinzufügen von Konfigurationsdateien und deren Pfaden beziehen sich auf Dateien und Speicherorte auf dem Jitterbit-Agenten, auf dem der Connector installiert ist. Diese Pfade sind je nach Agent und Operationssystem entsprechend anzupassen. Wenn mehrere Agenten in einer Agentengruppe verwendet werden, werden auf jedem Agenten identische Dateien benötigt.
Erweiterte Funktionen
In diesem Abschnitt wird eine Auswahl erweiterter Funktionen des Cassandra-Connectors beschrieben.
Benutzerdefinierte Ansichten
Der Connector ermöglicht Ihnen die Definition virtueller Tabellen, sogenannter benutzerdefinierter Ansichten, deren Inhalt durch eine vorkonfigurierte Abfrage bestimmt wird. Diese Ansichten sind nützlich, wenn Sie die an die Treiber gesendeten Abfragen nicht direkt steuern können. Siehe Benutzerdefinierte Ansichten für einen Überblick über das Erstellen und Konfigurieren benutzerdefinierter Ansichten.
SSL-Konfiguration
Verwenden Sie SSL-Konfiguration, um anzupassen, wie der Connector TLS/SSL-Zertifikatsverhandlungen handhabt. Sie können aus verschiedenen Zertifikatsformaten wählen; siehe SSLServerCert
-Eigenschaft unter „Verbindungszeichenfolgenoptionen“ für weitere Informationen.
Proxy
So konfigurieren Sie den Connector mit privaten Agent-Proxy-Einstellungen, wählen Sie die Use Proxy Settings
Kontrollkästchen auf dem Verbindungskonfigurationsbildschirm.
Abfrageverarbeitung
Der Connector verlagert die Verarbeitung der SELECT-Anweisung so weit wie möglich auf Cassandra und verarbeitet den Rest der Abfrage dann im Speicher (clientseitig).
Benutzerdefinierte Ansichten
Mit dem Jitterbit Connector für Cassandra können Sie eine virtuelle Tabelle definieren, deren Inhalt durch eine vorkonfigurierte Abfrage bestimmt wird. Diese werden als benutzerdefinierte Ansichten bezeichnet und sind in Situationen nützlich, in denen Sie die an den Treiber gesendete Abfrage nicht direkt steuern können, z. B. wenn Sie den Treiber von Jitterbit verwenden. Die benutzerdefinierten Ansichten können verwendet werden, um Prädikate zu definieren, die immer angewendet werden. Wenn Sie in der Abfrage an die Ansicht zusätzliche Prädikate angeben, werden diese mit der bereits als Teil der Ansicht definierten Abfrage kombiniert.
Es gibt zwei Möglichkeiten, benutzerdefinierte Ansichten zu erstellen:
- Erstellen Sie eine Konfigurationsdatei im JSON-Format, die die gewünschten Ansichten definiert.
- DDL-Anweisungen.
Definieren von Ansichten mithilfe einer Konfigurationsdatei
Benutzerdefinierte Ansichten werden in einer JSON-formatierten Konfigurationsdatei namens UserDefinedViews.json
. Der Connector erkennt die in dieser Datei angegebenen Ansichten automatisch.
Sie können auch mehrere Ansichtsdefinitionen haben und diese mit steuern UserDefinedViews
Verbindungseigenschaft. Wenn Sie diese Eigenschaft verwenden, werden vom Connector nur die angegebenen Ansichten angezeigt.
Diese Konfigurationsdatei für benutzerdefinierte Ansichten ist wie folgt formatiert:
- Jedes Stammelement definiert den Namen einer Ansicht.
- Jedes Stammelement enthält ein untergeordnetes Element namens
query
, das die benutzerdefinierte SQL- Abfrage für die Ansicht enthält.
Zum Beispiel:
{
"MyView": {
"query": "SELECT * FROM \"\".\"Sample\".Products WHERE MyColumn = 'value'"
},
"MyView2": {
"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
}
}
Verwenden Sie die UserDefinedViews
Verbindungseigenschaft zur Angabe des Speicherorts Ihrer JSON-Konfigurationsdatei. Beispiel:
"UserDefinedViews", "C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json"
Definieren von Ansichten mit DDL-Anweisungen
Der Connector kann das Schema auch über DDL-Anweisungen wie CREATE LOCAL VIEW, ALTER LOCAL VIEW und DROP LOCAL VIEW erstellen und ändern.
Erstellen einer Ansicht
Um eine neue Ansicht mit DDL-Anweisungen zu erstellen, geben Sie den Ansichtsnamen und die Abfrage wie folgt an:
CREATE LOCAL VIEW`[MeinAnsichtsname] `AS SELECT * FROM Customers LIMIT 20;
Wenn keine JSON-Datei vorhanden ist, erstellt der obige Code eine. Die Ansicht wird dann in der JSON-Konfigurationsdatei erstellt und ist nun erkennbar. Der Speicherort der JSON-Datei wird durch angegeben UserDefinedViews
Verbindungseigenschaft.
Ändern einer Ansicht
Um eine vorhandene Ansicht zu ändern, geben Sie den Namen der vorhandenen Ansicht zusammen mit der neuen Abfrage an, die Sie stattdessen verwenden möchten:
ALTER LOCAL VIEW`[MeinAnsichtsname] `AS SELECT * FROM Customers WHERE TimeModified > '3/1/2020';
Die Ansicht wird dann in der JSON-Konfigurationsdatei aktualisiert.
Löschen einer Ansicht
Um eine vorhandene Ansicht zu löschen, geben Sie den Namen eines vorhandenen Schema neben der neuen Abfrage an, die Sie stattdessen verwenden möchten.
DROP LOCAL VIEW [MyViewName]
Dadurch wird die Ansicht aus der JSON-Konfigurationsdatei entfernt. Sie kann nicht mehr abgefragt werden.
Schema für benutzerdefinierte Ansichten
Benutzerdefinierte Ansichten werden im angezeigt UserViews
Schema standardmäßig. Dies geschieht, um zu vermeiden, dass der Name der Ansicht mit einer tatsächlichen Entität im Datenmodell kollidiert. Sie können den Namen des für UserViews verwendeten Schema ändern, indem Sie festlegen UserViewsSchemaName
Eigentum.
Arbeiten mit benutzerdefinierten Ansichten
Beispielsweise eine SQL-Anweisung mit einer benutzerdefinierten Ansicht namens UserViews.RCustomers
listet nur Kunden in Raleigh auf:
SELECT * FROM Customers WHERE City = 'Raleigh';
Ein Beispiel für eine Abfrage an den Treiber:
SELECT * FROM UserViews.RCustomers WHERE Status = 'Active';
Daraus ergibt sich die effektive Abfrage an die Quelle:
SELECT * FROM Customers WHERE City = 'Raleigh' AND Status = 'Active';
Dies ist ein sehr einfaches Beispiel für eine Abfrage an eine benutzerdefinierte Ansicht, die tatsächlich eine Kombination aus der Abfrage und der Ansichtsdefinition ist. Es ist möglich, diese Abfragen in viel komplexeren Mustern zusammenzustellen. Alle SQL-Operationen sind in beiden Abfragen zulässig und werden bei Bedarf kombiniert.
SSL-Konfiguration
Anpassen der SSL-Konfiguration
Standardmäßig versucht der Connector, SSL/TLS auszuhandeln, indem er das Zertifikat des Servers mit dem vertrauenswürdigen Zertifikatspeicher des Systems vergleicht.
Um ein anderes Zertifikat anzugeben, siehe SSLServerCert
Eigenschaft für die verfügbaren Formate, um dies zu tun.
Client-SSL-Zertifikate
Der Cassandra-Connector unterstützt auch das Festlegen von Client-Zertifikaten. Legen Sie Folgendes fest, um eine Verbindung mithilfe eines Client-Zertifikats herzustellen.
SSLClientCert
: Der Name des Zertifikatspeichers für das Client-Zertifikat.SSLClientCertType
: Der Typ des Schlüsselspeichers, der das TLS/SSL-Clientzertifikat enthält.SSLClientCertPassword
: Das Passwort für das TLS/SSL-Client-Zertifikat.SSLClientCertSubject
: Der Betreff des TLS/SSL-Client-Zertifikats.
Erweiterte Konfigurationseigenschaften
Die erweiterten Konfigurationseigenschaften sind die verschiedenen Optionen, die zum Herstellen einer Verbindung verwendet werden können. Dieser Abschnitt enthält eine vollständige Liste der Optionen, die Sie konfigurieren können. Klicken Sie auf die Links, um weitere Einzelheiten zu erfahren.
Eigenschaft | Beschreibung |
---|---|
AuthScheme | Das zur Authentifizierung verwendete Schema. Akzeptierte Einträge sind Basic, DSE, Kerberos und LDAP. |
Server | Der Host oder die IP-Adresse des Servers, auf dem die Cassandra-Datenbank gehostet wird. |
Port | Der Port für die Cassandra-Datenbank. |
LDAPServer | Der Host oder die IP-Adresse des LDAP Servers. |
User | Das zur Authentifizierung verwendete Cassandra-Benutzerkonto. |
Password | Das zur Authentifizierung des Benutzers verwendete Kennwort. |
LDAPPort | Der Port für den LDAP -Server. |
Database | Der Name des Cassandra-Schlüsselraums. |
DefaultLDAPUser | Der Standard LDAP Benutzer, der für die Verbindung und Kommunikation mit dem Server verwendet wird. Er muss festgelegt werden, wenn der LDAP -Server keine anonyme Bindung zulässt. |
LDAPPassword | Das Passwort des Standard LDAP Benutzers. Es muss festgelegt werden, wenn der LDAP Server keine anonyme Bindung zulässt. |
SearchBase | Die Suchbasis für Ihren LDAP-Server, die zum Nachschlagen von Benutzern verwendet wird. |
SearchFilter | Der Suchfilter zum Nachschlagen von Benutzernamen in LDAP. Die Standardeinstellung ist (uid=). Bei Verwendung von Active Directory stellen Sie den Filter auf (sAMAccountName=) ein. |
UseSSL | Dieses Feld legt fest, ob SSL aktiviert ist. |
Eigenschaft | Beschreibung |
---|---|
KerberosKDC | Der Kerberos Key Distribution Center (KDC)-Dienst, der zur Authentifizierung des Benutzers verwendet wird. |
KerberosRealm | Der Kerberos-Bereich, der zur Authentifizierung des Benutzers verwendet wird. |
KerberosSPN | Der Service Principal Name (SPN) für den Kerberos-Domänencontroller. |
KerberosKeytabFile | Die Keytab-Datei, die Ihre Paare aus Kerberos-Prinzipalen und verschlüsselten Schlüsseln enthält. |
KerberosServiceRealm | Der Kerberos-Bereich des Dienstes. |
KerberosServiceKDC | Das Kerberos-KDC des Dienstes. |
KerberosTicketCache | Der vollständige Dateipfad zu einer Cachedatei für MIT Kerberos-Anmeldeinformationen. |
Eigenschaft | Beschreibung |
---|---|
SSLClientCert | Der TLS/SSL-Client-Zertifikatspeicher für die SSL-Client-Authentifizierung (bidirektionales SSL). |
SSLClientCertType | Der Typ des Schlüsselspeichers, der das TLS/SSL-Client-Zertifikat enthält. |
SSLClientCertPassword | Das Passwort für das TLS/SSL-Client-Zertifikat. |
SSLClientCertSubject | Der Betreff des TLS/SSL-Client-Zertifikats. |
SSLServerCert | Das vom Server zu akzeptierende Zertifikat bei einer Verbindung per TLS/SSL. |
Eigenschaft | Beschreibung |
---|---|
SSHAuthMode | Die beim Aufbau eines SSH-Tunnels zum Dienst verwendete Authentifizierungsmethode. |
SSHClientCert | Ein Zertifikat, das zur Authentifizierung des SSH-Benutzers verwendet werden soll. |
SSHClientCertPassword | Das Passwort des SSHClientCert-Schlüssels, falls vorhanden. |
SSHClientCertSubject | Der Betreff des SSH-Client-Zertifikats. |
SSHClientCertType | Der Typ des privaten SSHClientCert-Schlüssels. |
SSHServer | Der SSH-Server. |
SSHPort | Der SSH- Port. |
SSHUser | Der SSH-Benutzer. |
SSHPassword | Das SSH-Passwort. |
SSHServerFingerprint | Der Fingerabdruck des SSH-Servers. |
UseSSH | Ob die Cassandra-Verbindung über SSH getunnelt werden soll. Verwenden Sie SSH. |
Eigenschaft | Beschreibung |
---|---|
Location | Ein Pfad zum Verzeichnis, das die Schema enthält, die Tabellen, Ansichten und gespeicherte Prozeduren definieren. |
BrowsableSchemas | Diese Eigenschaft beschränkt die gemeldeten Schemata auf eine Teilmenge der verfügbaren Schemata. Beispiel: BrowsableSchemas=SchemaA, SchemaB, SchemaC. |
Tables | Diese Eigenschaft beschränkt die gemeldeten Tabellen auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Tabellen=TabelleA, TabelleB, TabelleC. |
Views | Beschränkt die gemeldeten Ansichten auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Ansichten=AnsichtA, AnsichtB, AnsichtC. |
Eigenschaft | Beschreibung |
---|---|
AggregationsSupported | Ob Aggregationen im Cassandra-Server unterstützt werden sollen oder nicht. Beachten Sie, dass Sie in Abfragen an den Anbieter einfache Anführungszeichen verwenden müssen, um Zeichenfolgen zu definieren. |
AllowFiltering | Wenn wahr, werden Abfragen mit langsamer Leistung auf dem Server verarbeitet. |
CaseSensitivity | Aktivieren Sie die Groß-/Kleinschreibung beim Senden von CQL an den Server. Wenn der Wert auf „True“ gesetzt ist, werden die Bezeichner im CQL in doppelte Anführungszeichen eingeschlossen. |
ConsistencyLevel | Die Konsistenzstufe legt fest, wie viele Replikate der Daten, mit denen Sie interagieren, antworten müssen, damit die Abfrage als erfolgreich gewertet wird. |
FlattenArrays | Standardmäßig werden verschachtelte Arrays als JSON-Strings zurückgegeben. Mit der Eigenschaft FlattenArrays können die Elemente verschachtelter Arrays in eigene Spalten umgewandelt werden. Legen Sie FlattenArrays auf die Anzahl der Elemente fest, die Sie aus verschachtelten Arrays zurückgeben möchten. |
FlattenObjects | Setzen Sie FlattenObjects auf true, um Objekteigenschaften in eigene Spalten zu reduzieren. Andernfalls werden in Arrays verschachtelte Objekte als JSON-Strings zurückgegeben. |
MaxRows | Begrenzt die Anzahl der zurückgegebenen Zeilen, wenn in der Abfrage keine Aggregation oder GROUP BY verwendet wird. Dies hat Vorrang vor LIMIT-Klauseln. |
NullToUnset | Verwenden Sie bei der Durchführung von INSERT-Vorgängen in CQL Abfrage „unset“ statt „NULL“. |
Other | Diese versteckten Eigenschaften werden nur in bestimmten Anwendungsfällen verwendet. |
Pagesize | Die maximale Anzahl der Ergebnisse, die pro Seite von Cassandra zurückgegeben werden sollen. |
PseudoColumns | Diese Eigenschaft gibt an, ob Pseudospalten als Spalten in die Tabelle aufgenommen werden sollen oder nicht. |
QueryPassthrough | Diese Option übergibt die Abfrage unverändert an den Cassandra-Server. |
RowScanDepth | Die maximale Anzahl der zu scannenden Zeilen, um nach den in einer Tabelle verfügbaren Spalten zu suchen. |
Timeout | Der Wert in Sekunden, bis der Timeout-Fehler auftritt und der Operation abgebrochen wird. |
UseJsonFormat | Ob die JSON-Kodierung für CQL-Datentypen übermittelt und zurückgegeben werden soll. |
UserDefinedViews | Ein Dateipfad, der auf die JSON-Konfigurationsdatei verweist, die Ihre benutzerdefinierten Ansichten enthält. |
VarintToString | Ordnen Sie Cassandra VARINT einem String-Wert zu. |
Authentifizierung
Dieser Abschnitt enthält eine vollständige Liste der Authentifizierungseigenschaften, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
AuthScheme | Das zur Authentifizierung verwendete Schema. Akzeptierte Einträge sind Basic, DSE, Kerberos und LDAP. |
Server | Der Host oder die IP-Adresse des Servers, auf dem die Cassandra-Datenbank gehostet wird. |
Port | Der Port für die Cassandra-Datenbank. |
LDAPServer | Der Host oder die IP-Adresse des LDAP Servers. |
User | Das zur Authentifizierung verwendete Cassandra-Benutzerkonto. |
Password | Das zur Authentifizierung des Benutzers verwendete Kennwort. |
LDAPPort | Der Port für den LDAP -Server. |
Database | Der Name des Cassandra-Schlüsselraums. |
DefaultLDAPUser | Der Standard LDAP Benutzer, der für die Verbindung und Kommunikation mit dem Server verwendet wird. Er muss festgelegt werden, wenn der LDAP -Server keine anonyme Bindung zulässt. |
LDAPPassword | Das Passwort des Standard LDAP Benutzers. Es muss festgelegt werden, wenn der LDAP Server keine anonyme Bindung zulässt. |
SearchBase | Die Suchbasis für Ihren LDAP-Server, die zum Nachschlagen von Benutzern verwendet wird. |
SearchFilter | Der Suchfilter zum Nachschlagen von Benutzernamen in LDAP. Die Standardeinstellung ist (uid=). Bei Verwendung von Active Directory stellen Sie den Filter auf (sAMAccountName=) ein. |
UseSSL | Dieses Feld legt fest, ob SSL aktiviert ist. |
AuthScheme
Das für die Authentifizierung verwendete Schema. Akzeptierte Einträge sind Basic, DSE, Kerberos und LDAP.
Mögliche Werte
Basic
, DSE
, Kerberos
, LDAP
Datentyp
string
Standardwert
Basic
Hinweise
Legen Sie diese Eigenschaft fest, um sich bei Open-Source- oder DataStax Enterprise (DSE) Cassandra-Instanzen zu authentifizieren.
Zusammen mit Passwort und Benutzer, wird dieses Feld zur Authentifizierung gegenüber dem Server verwendet. Basic ist die Standardoption. Verwenden Sie die folgenden Optionen, um Ihr Authentifizierungsschema auszuwählen:
- Einfach: Legen Sie dies so fest, dass die Authentifizierung mit Anmeldeinformationen und der integrierten Authentifizierung von Cassandra erfolgt.
- DSE: Stellen Sie dies so ein, dass die Authentifizierung mit Anmeldeinformationen und dem DSE Unified Authenticator erfolgt.
- Kerberos: Legen Sie diese Option fest, um Kerberos zur Authentifizierung zu verwenden.
- LDAP: Legen Sie diese Option fest, um LDAP zur Authentifizierung zu verwenden.
Anleitungen zur Verwendung der einzelnen Authentifizierungsmethoden finden Sie im Abschnitt „Erste Schritte“.
Server
Der Host oder die IP-Adresse des Servers, auf dem die Cassandra-Datenbank gehostet wird.
Datentyp
string
Standardwert
localhost
Hinweise
Der Host oder die IP-Adresse des Servers, auf dem die Cassandra-Datenbank gehostet wird. Um eine Verbindung zu einem verteilten System herzustellen, können Sie festlegen Server
in eine durch Kommas getrennte Liste von Servern und Ports, getrennt durch Doppelpunkte. Sie müssen auch ConsistencyLevel festlegen.
Beachten Sie, dass Sie alle Server angeben müssen, die für die von Ihnen gewählte Konsistenzstufe erforderlich sind.
Port
Der Port für die Cassandra-Datenbank.
Datentyp
string
Standardwert
9042
Hinweise
Der Port für die Cassandra-Datenbank.
LDAPServer
Der Host oder die IP-Adresse des LDAP Servers.
Datentyp
string
Standardwert
""
Hinweise
Der Host oder die IP-Adresse des LDAP Servers.
Benutzer
Das zur Authentifizierung verwendete Cassandra-Benutzerkonto.
Datentyp
string
Standardwert
""
Hinweise
Zusammen mit Passwort, dieses Feld wird zur Authentifizierung gegenüber dem Cassandra-Server verwendet.
Passwort
Das zur Authentifizierung des Benutzers verwendete Passwort.
Datentyp
string
Standardwert
""
Hinweise
Der Benutzer Und Password
werden zusammen zur Authentifizierung beim Server verwendet.
LDAP-Port
Der Port für den LDAP Server.
Datentyp
string
Standardwert
389
Hinweise
Der Port für den LDAP Server.
Datenbank
Der Name des Cassandra-Schlüsselraums.
Datentyp
string
Standardwert
""
Hinweise
Der Name des Cassandra-Schlüsselraums, der die Tabellen enthält.
Standard-LDAP-Benutzer
Der Standard LDAP Benutzer, der für die Verbindung mit dem Server und die Kommunikation mit diesem verwendet wird. Er muss festgelegt werden, wenn der LDAP -Server keine anonyme Bindung zulässt.
Datentyp
string
Standardwert
""
Hinweise
Geben Sie den Standard LDAP Benutzer an, falls der LDAP -Server keine anonyme Anmeldung zulässt.
LDAPPasswort
Das Passwort des Standard LDAP Benutzers. Es muss festgelegt werden, wenn der LDAP Server keine anonyme Bindung zulässt.
Datentyp
string
Standardwert
""
Hinweise
Geben Sie das Kennwort des Standard LDAP Benutzers an.
SucheBase
Die Suchbasis für Ihren LDAP-Server, die zum Nachschlagen von Benutzern verwendet wird.
Datentyp
string
Standardwert
""
Hinweise
Die Suchbasis für Ihren LDAP-Server, die zum Nachschlagen von Benutzern verwendet wird.
SucheFilter
Der Suchfilter zum Nachschlagen von Benutzernamen in LDAP. Die Standardeinstellung ist (uid=). Bei Verwendung von Active Directory stellen Sie den Filter auf (sAMAccountName=) ein.
Datentyp
string
Standardwert
uid=
Hinweise
Der Suchfilter zum Nachschlagen von Benutzernamen in LDAP. Die Standardeinstellung ist (uid=).
Verwenden Sie SSL
Dieses Feld legt fest, ob SSL aktiviert ist.
Datentyp
bool
Standardwert
false
Hinweise
Dieses Feld legt fest, ob der Connector versucht, TLS/SSL-Verbindungen mit dem Server auszuhandeln. Standardmäßig prüft der Connector das Zertifikat des Servers anhand des vertrauenswürdigen Zertifikatspeichers des Systems. Um ein anderes Zertifikat anzugeben, legen Sie SSLServerCert fest.
Kerberos
Dieser Abschnitt enthält eine vollständige Liste der Kerberos-Eigenschaften, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
KerberosKDC | Der Kerberos Key Distribution Center (KDC)-Dienst, der zur Authentifizierung des Benutzers verwendet wird. |
KerberosRealm | Der Kerberos-Bereich, der zur Authentifizierung des Benutzers verwendet wird. |
KerberosSPN | Der Service Principal Name (SPN) für den Kerberos-Domänencontroller. |
KerberosKeytabFile | Die Keytab-Datei, die Ihre Paare aus Kerberos-Prinzipalen und verschlüsselten Schlüsseln enthält. |
KerberosServiceRealm | Der Kerberos-Bereich des Dienstes. |
KerberosServiceKDC | Das Kerberos-KDC des Dienstes. |
KerberosTicketCache | Der vollständige Dateipfad zu einer Cachedatei für MIT Kerberos-Anmeldeinformationen. |
KerberosKDC
Der Kerberos Key Distribution Center (KDC)-Dienst, der zur Authentifizierung des Benutzers verwendet wird.
Datentyp
string
Standardwert
""
Hinweise
Die Kerberos-Eigenschaften werden bei Verwendung von SPNEGO oder Windows Authentifizierung verwendet. Der Connector fordert Sitzungstickets und temporäre Sitzungsschlüssel vom Kerberos-KDC-Dienst an. Der Kerberos-KDC-Dienst befindet sich üblicherweise am selben Standort wie der Domänencontroller.
Wenn Kerberos KDC nicht angegeben ist, versucht der Connector, diese Eigenschaften automatisch an den folgenden Standorten zu erkennen:
KRB5 Config File (krb5.ini/krb5.conf)
: Wenn die Umfeld KRB5_CONFIG gesetzt ist und die Datei existiert, ruft der Connector den KDC aus der angegebenen Datei ab. Andernfalls versucht er, basierend auf dem Operationssystem vom Standard-MIT-Speicherort zu lesen:C:\ProgramData\MIT\Kerberos5\krb5.ini
(Windows) oder/etc/krb5.conf
(Linux).Java System Properties
: Verwenden der Systemeigenschaftenjava.security.krb5.realm
Undjava.security.krb5.kdc
.Domain Name and Host
: Wenn Kerberos Realm und Kerberos KDC nicht von einem anderen Standort abgeleitet werden konnten, leitet der Connector sie vom konfigurierten Domänennamen und Host ab.
Notiz
Die Windows Authentifizierung wird nur in JRE 1.6 und höher unterstützt.
KerberosRealm
Der Kerberos-Bereich, der zur Authentifizierung des Benutzers verwendet wird.
Datentyp
string
Standardwert
""
Hinweise
Die Kerberos-Eigenschaften werden bei Verwendung von SPNEGO oder Windows-Authentifizierung verwendet. Der Kerberos-Bereich wird verwendet, um den Benutzer mit dem Kerberos Key Distribution Service (KDC) zu authentifizieren. Der Kerberos-Bereich kann von einem Administrator als beliebige Zeichenfolge konfiguriert werden, basiert jedoch üblicherweise auf dem Domänennamen.
Wenn kein Kerberos-Bereich angegeben ist, versucht der Connector, diese Eigenschaften automatisch an den folgenden Standorten zu erkennen:
KRB5 Config File (krb5.ini/krb5.conf)
: Wenn die Umfeld KRB5_CONFIG gesetzt ist und die Datei existiert, erhält der Connector den Standardbereich aus der angegebenen Datei. Andernfalls versucht er, basierend auf dem Operationssystem vom MIT-Standardspeicherort zu lesen:C:\ProgramData\MIT\Kerberos5\krb5.ini
(Windows) oder/etc/krb5.conf
(Linux)Java System Properties
: Verwenden der Systemeigenschaftenjava.security.krb5.realm
Undjava.security.krb5.kdc
.Domain Name and Host
: Wenn der Kerberos-Realm und der Kerberos-KDC nicht von einem anderen Standort abgeleitet werden konnten, leitet der Connector sie vom benutzerkonfigurierten Domänennamen und Host ab. Dies kann in einigen Windows Umgebungen funktionieren.
Hinweis
Kerberos-basierte Authentifizierung wird nur in JRE 1.6 und höher unterstützt.
KerberosSPN
Der Service Principal Name (SPN) für den Kerberos-Domänencontroller.
Datentyp
string
Standardwert
""
Hinweise
Wenn der SPN auf dem Kerberos-Domänencontroller nicht mit der URL übereinstimmt, bei der Sie sich authentifizieren, verwenden Sie diese Eigenschaft, um den SPN festzulegen.
KerberosKeytabFile
Die Keytab-Datei, die Ihre Paare aus Kerberos-Prinzipalen und verschlüsselten Schlüsseln enthält.
Datentyp
string
Standardwert
""
Hinweise
Die Keytab-Datei, die Ihre Paare aus Kerberos-Prinzipalen und verschlüsselten Schlüsseln enthält.
KerberosServiceRealm
Der Kerberos-Bereich des Dienstes.
Datentyp
string
Standardwert
""
Hinweise
Der KerberosServiceRealm
ist die Angabe des Service-Kerberos-Realms bei Verwendung einer Cross-Realm-Kerberos-Authentifizierung.
In den meisten Fällen werden ein einzelner Realm und eine KDC-Maschine zur Durchführung der Kerberos-Authentifizierung verwendet und diese Eigenschaft ist nicht erforderlich.
Diese Eigenschaft ist für komplexe Setups verfügbar, bei denen ein anderer Realm und eine andere KDC-Maschine zum Abrufen eines Authentifizierungstickets (AS-Anforderung) und eines Servicetickets (TGS-Anforderung) verwendet werden.
KerberosServiceKDC
Der Kerberos-KDC des Dienstes.
Datentyp
string
Standardwert
""
Hinweise
Der KerberosServiceKDC
wird verwendet, um den Dienst Kerberos KDC anzugeben, wenn eine bereichsübergreifende Kerberos-Authentifizierung verwendet wird.
In den meisten Fällen werden ein einzelner Bereich und eine KDC-Maschine verwendet, um die Kerberos-Authentifizierung durchzuführen, und diese Eigenschaft ist nicht erforderlich.
Diese Eigenschaft ist für komplexe Setups verfügbar, bei denen ein anderer Bereich und eine andere KDC-Maschine verwendet werden, um ein Authentifizierungsticket (AS-Anforderung) und ein Dienstticket (TGS-Anforderung) zu erhalten.
KerberosTicketCache
Der vollständige Dateipfad zu einer MIT Kerberos-Anmeldeinformations-Cachedatei.
Datentyp
string
Standardwert
""
Hinweise
Diese Eigenschaft kann festgelegt werden, wenn Sie eine Anmeldeinformations-Cachedatei verwenden möchten, die mit dem MIT Kerberos Ticket Manager oder dem Befehl kinit erstellt wurde.
SSL
Dieser Abschnitt enthält eine vollständige Liste der SSL-Eigenschaften, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
SSLClientCert | Der TLS/SSL-Client-Zertifikatspeicher für die SSL-Client-Authentifizierung (bidirektionales SSL). |
SSLClientCertType | Der Typ des Schlüsselspeichers, der das TLS/SSL-Client-Zertifikat enthält. |
SSLClientCertPassword | Das Passwort für das TLS/SSL-Client-Zertifikat. |
SSLClientCertSubject | Der Betreff des TLS/SSL-Client-Zertifikats. |
SSLServerCert | Das vom Server zu akzeptierende Zertifikat bei einer Verbindung per TLS/SSL. |
SSLClientCert
Der TLS/SSL-Client-Zertifikatspeicher für die SSL-Client-Authentifizierung (bidirektionales SSL).
Datentyp
string
Standardwert
""
Hinweise
Der Name des Zertifikatspeichers für das Client-Zertifikat.
Der SSLClientCertType Feld gibt den Typ des durch angegebenen Zertifikatspeichers an SSLClientCert
. Wenn der Store kennwortgeschützt ist, geben Sie das Kennwort in SSLClientCertPassword an.
SSLClientCert
wird in Verbindung mit SSLClientCertSubject verwendet, um Client-Zertifikate anzugeben. Wenn SSLClientCert
hat einen Wert und SSLClientCertSubject gesetzt ist, wird eine Suche nach einem Zertifikat eingeleitet. Siehe SSLClientCertSubject für weitere Informationen.
Die Bezeichnungen der Zertifikatsspeicher sind plattformabhängig.
Nachfolgend sind die Bezeichnungen der gebräuchlichsten Benutzer- und Maschinen-Zertifikatspeicher in Windows aufgeführt:
Eigenschaft | Beschreibung |
---|---|
MY | Ein Zertifikatsspeicher, der persönliche Zertifikate mit den zugehörigen privaten Schlüsseln enthält. |
CA | Zertifikate der Zertifizierungsstelle. |
ROOT | Stammzertifikate. |
SPC | Zertifikate von Softwareherstellern. |
In Java ist der Zertifikatsspeicher normalerweise eine Datei, die Zertifikate und optionale private Schlüssel enthält.
Wenn der Zertifikatsspeichertyp PFXFile ist, muss diese Eigenschaft auf den Namen der Datei gesetzt werden. Wenn der Typ PFXBlob ist, muss die Eigenschaft auf den binären Inhalt einer PFX-Datei gesetzt werden (z. B. PKCS12-Zertifikatsspeicher).
SSLClientCertType
Der Typ des Schlüsselspeichers, der das TLS/SSL-Clientzertifikat enthält.
Mögliche Werte
USER
, MACHINE
, PFXFILE
, PFXBLOB
, JKSFILE
, JKSBLOB
, PEMKEY_FILE
, PEMKEY_BLOB
, PUBLIC_KEY_FILE
, PUBLIC_KEY_BLOB
, SSHPUBLIC_KEY_FILE
, SSHPUBLIC_KEY_BLOB
, P7BFILE
, PPKFILE
, XMLFILE
, XMLBLOB
Datentyp
string
Standardwert
USER
Hinweise
Diese Eigenschaft kann einen der folgenden Werte annehmen:
Eigenschaft | Beschreibung |
---|---|
USER - default | Unter Windows gibt dies an, dass es sich bei dem Zertifikatspeicher um einen Zertifikatspeicher handelt, der dem aktuellen Benutzer gehört. Beachten Sie, dass dieser Speichertyp in Java nicht verfügbar ist. |
MACHINE | Unter Windows gibt dies an, dass es sich bei dem Zertifikatspeicher um einen Maschinenspeicher handelt. Beachten Sie, dass dieser Speichertyp in Java nicht verfügbar ist. |
PFXFILE | Der Zertifikatsspeicher ist der Name einer PFX-Datei (PKCS12), die Zertifikate enthält. |
PFXBLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (Base-64-codiert), die einen Zertifikatsspeicher im PFX-Format (PKCS12) darstellt. |
JKSFILE | Der Zertifikatsspeicher ist der Name einer Java Key Store (JKS)-Datei, die Zertifikate enthält. Beachten Sie, dass dieser Speichertyp nur in Java verfügbar ist. |
JKSBLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (base-64-codiert), die einen Zertifikatsspeicher im JKS-Format darstellt. Beachten Sie, dass dieser Speichertyp nur in Java verfügbar ist. |
PEMKEY_FILE | Der Zertifikatsspeicher ist der Name einer PEM-codierten Datei, die einen privaten Schlüssel und ein optionales Zertifikat enthält. |
PEMKEY_BLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (base64-codiert), die einen privaten Schlüssel und ein optionales Zertifikat enthält. |
PUBLIC_KEY_FILE | Der Zertifikatsspeicher ist der Name einer Datei, die ein PEM- oder DER-codiertes öffentliches Schlüsselzertifikat enthält. |
PUBLIC_KEY_BLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (Base-64-codiert), die ein PEM- oder DER-codiertes öffentliches Schlüsselzertifikat enthält. |
SSHPUBLIC_KEY_FILE | Der Zertifikatsspeicher ist der Name einer Datei, die einen öffentlichen Schlüssel im SSH-Stil enthält. |
SSHPUBLIC_KEY_BLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (Base-64-codiert), die einen öffentlichen Schlüssel im SSH-Stil enthält. |
P7BFILE | Der Zertifikatsspeicher ist der Name einer PKCS7-Datei, die Zertifikate enthält. |
PPKFILE | Der Zertifikatsspeicher ist der Name einer Datei, die einen privaten PuTTY-Schlüssel (PPK) enthält. |
XMLFILE | Der Zertifikatsspeicher ist der Name einer Datei, die ein Zertifikat im XML-Format enthält. |
XMLBLOB | Der Zertifikatsspeicher ist eine Zeichenfolge, die ein Zertifikat im XML-Format enthält. |
SSLClientCertPassword
Das Passwort für das TLS/SSL-Client-Zertifikat.
Datentyp
string
Standardwert
""
Hinweise
Wenn der Zertifikatspeicher von einem Typ ist, der ein Passwort erfordert, wird diese Eigenschaft verwendet, um dieses Passwort zum Öffnen des Zertifikatspeichers anzugeben.
SSLClientCertSubject
Der Betreff des TLS/SSL-Client-Zertifikats.
Datentyp
string
Standardwert
*
Hinweise
Beim Laden eines Zertifikats wird der Betreff verwendet, um das Zertifikat im Speicher zu lokalisieren.
Wenn keine genaue Übereinstimmung gefunden wird, wird der Speicher nach Betreffs durchsucht, die den Wert der Eigenschaft enthalten. Wenn immer noch keine Übereinstimmung gefunden wird, wird die Eigenschaft auf eine leere Zeichenfolge gesetzt und kein Zertifikat ausgewählt.
Der spezielle Wert „*“ wählt das erste Zertifikat im Zertifikatspeicher aus.
Der Betreff des Zertifikats ist eine durch Kommas getrennte Liste von Distinguished Name-Feldern und-Werten. Beispiel: „CN=www.server.com, OU=test, C=US, E=support@company.com“. Die allgemeinen Felder und ihre Bedeutungen werden unten angezeigt.
Feld | Bedeutung |
---|---|
CN | Allgemeiner Name. Dies ist normalerweise ein Host wie www.server.com. |
O | Organisation |
OU | Organisationseinheit |
L | Ort |
S | Staat |
C | Land |
E | Email Adresse |
Wenn ein Feldwert ein Komma enthält, muss es in Anführungszeichen gesetzt werden.
SSLServerCert
Das vom Server zu akzeptierende Zertifikat bei einer Verbindung per TLS/SSL.
Datentyp
string
Standardwert
""
Hinweise
Bei Verwendung einer TLS/SSL-Verbindung kann diese Eigenschaft verwendet werden, um das vom Server zu akzeptierende TLS/SSL-Zertifikat anzugeben. Jedes andere Zertifikat, dem der Computer nicht vertraut, wird abgelehnt.
Diese Eigenschaft kann folgende Formen annehmen:
Beschreibung | Beispiel |
---|---|
Ein vollständiges PEM-Zertifikat (Beispiel der Kürze halber gekürzt) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
Ein Pfad zu einer lokalen Datei, die das Zertifikat enthält | C:\\cert.cer |
Der öffentliche Schlüssel (Beispiel der Kürze halber gekürzt) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
Der MD5-Fingerabdruck (Hex-Werte können auch durch Leerzeichen oder Doppelpunkte getrennt sein) | ecadbdda5a1529c58a1e9e09828d70e4 |
Der SHA1-Fingerabdruck (Hex-Werte können auch durch Leerzeichen oder Doppelpunkte getrennt sein) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
Wenn nicht angegeben, wird jedes vom Computer vertrauenswürdige Zertifikat akzeptiert.
Zertifikate werden vom Computer basierend auf dem Trust Store des Systems als vertrauenswürdig validiert. Der verwendete Trust Store ist der für das System angegebene Wert „javax.net.ssl.trustStore“. Wenn für diese Eigenschaft kein Wert angegeben ist, wird der Standard-Trust Store von Java verwendet (z. B. JAVA_HOME\lib\security\cacerts).
Verwenden Sie „*“, um anzugeben, dass alle Zertifikate akzeptiert werden. Beachten Sie, dass dies aus Sicherheitsgründen nicht empfohlen wird.
SSH
Dieser Abschnitt enthält eine vollständige Liste der SSH-Eigenschaften, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
SSHAuthMode | Die beim Aufbau eines SSH-Tunnels zum Dienst verwendete Authentifizierungsmethode. |
SSHClientCert | Ein Zertifikat, das zur Authentifizierung des SSH-Benutzers verwendet werden soll. |
SSHClientCertPassword | Das Passwort des SSHClientCert-Schlüssels, falls vorhanden. |
SSHClientCertSubject | Der Betreff des SSH-Client-Zertifikats. |
SSHClientCertType | Der Typ des privaten SSHClientCert-Schlüssels. |
SSHServer | Der SSH-Server. |
SSHPort | Der SSH- Port. |
SSHUser | Der SSH-Benutzer. |
SSHPassword | Das SSH-Passwort. |
SSHServerFingerprint | Der Fingerabdruck des SSH-Servers. |
UseSSH | Ob die Cassandra-Verbindung über SSH getunnelt werden soll. Verwenden Sie SSH. |
SSHAuthMode
Die Authentifizierungsmethode, die beim Aufbau eines SSH-Tunnels zum Dienst verwendet wird.
Mögliche Werte
None
, Password
, Public_Key
Datentyp
string
Standardwert
Password
Hinweise
- Keine: Es wird keine Authentifizierung durchgeführt. Der aktuelle Benutzer-Wert wird ignoriert und die Verbindung wird als anonym angemeldet.
- Passwort: Der Connector verwendet die Werte von Benutzer und Passwort, um den Benutzer zu authentifizieren.
- Public_Key: Der Connector verwendet die Werte von Benutzer und SSHClientCert, um den Benutzer zu authentifizieren. SSHClientCert muss ein privater Schlüssel verfügbar sein, damit diese Authentifizierungsmethode erfolgreich ist.
SSHClientCert
Ein Zertifikat, das zur Authentifizierung des SSH-Benutzers verwendet werden soll.
Datentyp
string
Standardwert
""
Hinweise
SSHClientCert
muss einen gültigen privaten Schlüssel enthalten, um die Authentifizierung mit öffentlichem Schlüssel zu verwenden. Ein öffentlicher Schlüssel ist optional. Wenn keiner enthalten ist, generiert der Connector ihn aus dem privaten Schlüssel. Der Connector sendet den öffentlichen Schlüssel an den Server und die Verbindung wird zugelassen, wenn der Benutzer den öffentlichen Schlüssel autorisiert hat.
Der SSHClientCertType Feld gibt den Typ des durch angegebenen Schlüsselspeichers an SSHClientCert
. Wenn der Store kennwortgeschützt ist, geben Sie das Kennwort in SSHClientCertPassword an.
Einige Arten von Schlüsselspeichern sind Container, die mehrere Schlüssel enthalten können. Standardmäßig wählt der Connector den ersten Schlüssel im Speicher aus, Sie können jedoch mit SSHClientCertSubject einen bestimmten Schlüssel angeben.
SSHClientCertPassword
Das Passwort des SSHClientCert-Schlüssels, falls vorhanden.
Datentyp
string
Standardwert
""
Hinweise
Diese Eigenschaft wird nur bei der Authentifizierung gegenüber SFTP-Servern mit SSHAuthMode verwendet auf PublicKey und SSHClientCert gesetzt auf einen privaten Schlüssel gesetzt.
SSHClientCertSubject
Der Betreff des SSH-Client-Zertifikats.
Datentyp
string
Standardwert
*
Hinweise
Beim Laden eines Zertifikats wird der Betreff verwendet, um das Zertifikat im Speicher zu lokalisieren.
Wenn keine genaue Übereinstimmung gefunden wird, wird der Speicher nach Betreffs durchsucht, die den Wert der Eigenschaft enthalten.
Wenn immer noch keine Übereinstimmung gefunden wird, wird die Eigenschaft auf eine leere Zeichenfolge gesetzt und kein Zertifikat ausgewählt.
Der spezielle Wert „*“ wählt das erste Zertifikat im Zertifikatspeicher aus.
Der Betreff des Zertifikats ist eine durch Kommas getrennte Liste von Distinguished Name-Feldern und-Werten. Zum Beispiel „CN=www.server.com, OU=test, C=US, E=example@jbexample.com“. Allgemeine Felder und ihre Bedeutungen werden unten angezeigt.
Feld | Bedeutung |
---|---|
CN | Allgemeiner Name. Dies ist normalerweise ein Host wie www.server.com. |
O | Organisation |
OU | Organisationseinheit |
L | Ort |
S | Staat |
C | Land |
E | Email Adresse |
Wenn ein Feldwert ein Komma enthält, muss es in Anführungszeichen gesetzt werden.
SSHClientCertType
Der Typ des privaten SSHClientCert-Schlüssels.
Mögliche Werte
USER
, MACHINE
, PFXFILE
, PFXBLOB
, JKSFILE
, JKSBLOB
, PEMKEY_FILE
, PEMKEY_BLOB
, PPKFILE
, PPKBLOB
, XMLFILE
, XMLBLOB
Datentyp
string
Standardwert
PEMKEY_FILE
Hinweise
Diese Eigenschaft kann einen der folgenden Werte annehmen:
Typen | Beschreibung | Zulässige Blob-Werte |
---|---|---|
MASCHINE/BENUTZER | Auf dieser Plattform nicht verfügbar. | Blob-Werte werden nicht unterstützt. |
JKSFILE/JKSBLOB | Eine Java Schlüsselspeicher Datei. Muss sowohl ein Zertifikat als auch einen privaten Schlüssel enthalten. Nur in Java verfügbar. | Nur base64 |
PFXFILE/PFXBLOB | Eine Datei im PKCS12-Format (.pfx). Muss sowohl ein Zertifikat als auch einen privaten Schlüssel enthalten. | nur base64 |
PEMKEY_FILE/PEMKEY_BLOB | Eine Datei im PEM-Format. Muss einen privaten RSA-, DSA- oder OPENSSH-Schlüssel enthalten. Kann optional ein Zertifikat enthalten, das zum privaten Schlüssel passt. | Base64 oder einfacher Text. Zeilenumbrüche können durch Leerzeichen ersetzt werden, wenn der Blob als Text bereitgestellt wird. |
PPKFILE/PPKBLOB | Ein privater Schlüssel im PuTTY-Format, erstellt mit puttygen Werkzeug. | nur Base64 |
XMLFILE/XMLBLOB | Ein XML-Schlüssel im von der .NET RSA-Klasse generierten Format: RSA.ToXmlString(true) . | Base64 oder einfacher Text. |
SSH-Server
Der SSH-Server.
Datentyp
string
Standardwert
""
Hinweise
Der SSH-Server.
SSH-Port
Der SSH- Port.
Datentyp
string
Standardwert
22
Hinweise
Der SSH- Port.
SSHBenutzer
Der SSH-Benutzer.
Datentyp
string
Standardwert
""
Hinweise
Der SSH-Benutzer.
SSH-Passwort
Das SSH-Passwort.
Datentyp
string
Standardwert
""
Hinweise
Das SSH-Passwort.
SSHServerFingerprint
Der SSH-Server-Fingerabdruck.
Datentyp
string
Standardwert
""
Hinweise
Der SSH-Server-Fingerabdruck.
Verwenden Sie SSH
Gibt an, ob die Cassandra-Verbindung über SSH getunnelt werden soll. Verwenden Sie SSH.
Datentyp
bool
Standardwert
false
Hinweise
Standardmäßig versucht der Connector, eine direkte Verbindung zu Cassandra herzustellen. Wenn diese Option aktiviert ist, stellt der Connector stattdessen eine SSH-Verbindung mit dem SSHServer her und tunneln Sie die Verbindung zu Cassandra durch diesen.
Schema
Dieser Abschnitt enthält eine vollständige Liste der Schema, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
Location | Ein Pfad zum Verzeichnis, das die Schema enthält, die Tabellen, Ansichten und gespeicherte Prozeduren definieren. |
BrowsableSchemas | Diese Eigenschaft beschränkt die gemeldeten Schemata auf eine Teilmenge der verfügbaren Schemata. Beispiel: BrowsableSchemas=SchemaA, SchemaB, SchemaC. |
Tables | Diese Eigenschaft beschränkt die gemeldeten Tabellen auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Tabellen=TabelleA, TabelleB, TabelleC. |
Views | Beschränkt die gemeldeten Ansichten auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Ansichten=AnsichtA, AnsichtB, AnsichtC. |
Standort
Ein Pfad zum Verzeichnis, das die Schema enthält, die Tabellen, Ansichten und gespeicherte Prozeduren definieren.
Datentyp
string
Standardwert
%APPDATA%\Cassandra Data Provider\Schema
Hinweise
Der Pfad zu einem Verzeichnis, das die Schema für den Connector enthält (.rsd-Dateien für Tabellen und Ansichten, .rsb-Dateien für gespeicherte Prozeduren). Der Ordnerspeicherort kann ein relativer Pfad vom Speicherort der ausführbaren Datei sein. Der Location
-Eigenschaft wird nur benötigt, wenn Sie Definitionen anpassen möchten (z. B. einen Spaltennamen ändern, eine Spalte ignorieren usw.) oder das Datenmodell mit neuen Tabellen, Ansichten oder gespeicherten Prozeduren erweitern möchten.
Wenn nichts angegeben wird, ist der Standardspeicherort „%APPDATA%\Cassandra Data Provider\Schema“ mit %APPDATA%
wird auf das Konfigurationsverzeichnis des Benutzers eingestellt:
Plattform | %APPDATA% |
---|---|
Windows | Der Wert der Umfeld APPDATA |
Mac | ~/Bibliothek/Anwendungsunterstützung |
Linux | ~/.config |
DurchsuchbareSchemas
Diese Eigenschaft beschränkt die gemeldeten Schemata auf eine Teilmenge der verfügbaren Schemata. Beispiel: BrowsableSchemas=SchemaA,SchemaB,SchemaC.
Datentyp
string
Standardwert
""
Hinweise
Das Auflisten der Schemata aus Datenbanken kann aufwändig sein. Die Bereitstellung einer Liste von Schemata in der Verbindungszeichenfolge verbessert die Leistung.
Tabellen
Diese Eigenschaft beschränkt die gemeldeten Tabellen auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Tabellen=TabelleA,TabelleB,TabelleC.
Datentyp
string
Standardwert
""
Hinweise
Das Auflisten der Tabellen aus einigen Datenbanken kann teuer sein. Die Bereitstellung einer Liste von Tabellen in der Verbindungszeichenfolge verbessert die Leistung des Connectors.
Diese Eigenschaft kann auch als Alternative zum automatischen Auflisten von Ansichten verwendet werden, wenn Sie bereits wissen, mit welchen Sie arbeiten möchten, und es sonst zu viele wären.
Geben Sie die gewünschten Tabellen in einer durch Kommas getrennten Liste an. Jede Tabelle sollte ein gültiger SQL-Bezeichner sein, wobei alle Sonderzeichen mit eckigen Klammern, Anführungszeichen oder Backticks maskiert werden. Beispiel: Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.
Beachten Sie, dass Sie beim Herstellen einer Verbindung zu einer Datenquelle mit mehreren Schemata oder Katalogen den vollqualifizierten Namen der Tabelle in dieser Eigenschaft angeben müssen, wie im letzten Beispiel hier, um Mehrdeutigkeiten zwischen Tabellen zu vermeiden, die in mehreren Katalogen oder Schemata vorhanden sind.
Ansichten
Beschränkt die gemeldeten Ansichten auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Ansichten=AnsichtA,AnsichtB,AnsichtC.
Datentyp
string
Standardwert
""
Hinweise
Das Auflisten der Ansichten aus einigen Datenbanken kann teuer sein. Die Bereitstellung einer Liste von Ansichten in der Verbindungszeichenfolge verbessert die Leistung des Connectors.
Diese Eigenschaft kann auch als Alternative zum automatischen Auflisten von Ansichten verwendet werden, wenn Sie bereits wissen, mit welchen Sie arbeiten möchten, und es sonst zu viele wären.
Geben Sie die gewünschten Ansichten in einer durch Kommas getrennten Liste an. Jede Ansicht sollte ein gültiger SQL-Bezeichner sein, wobei alle Sonderzeichen mit eckigen Klammern, Anführungszeichen oder Backticks maskiert werden. Beispiel: Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.
Beachten Sie, dass Sie beim Herstellen einer Verbindung zu einer Datenquelle mit mehreren Schemata oder Katalogen den vollqualifizierten Namen der Tabelle in dieser Eigenschaft angeben müssen, wie im letzten Beispiel hier, um Mehrdeutigkeiten zwischen Tabellen zu vermeiden, die in mehreren Katalogen oder Schemata vorhanden sind.
Verschiedenes
Dieser Abschnitt enthält eine vollständige Liste verschiedener Eigenschaften, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
AggregationsSupported | Ob Aggregationen im Cassandra-Server unterstützt werden sollen oder nicht. Beachten Sie, dass Sie in Abfragen an den Anbieter einfache Anführungszeichen verwenden müssen, um Zeichenfolgen zu definieren. |
AllowFiltering | Wenn wahr, werden Abfragen mit langsamer Leistung auf dem Server verarbeitet. |
CaseSensitivity | Aktivieren Sie die Groß-/Kleinschreibung beim Senden von CQL an den Server. Wenn der Wert auf „True“ gesetzt ist, werden die Bezeichner im CQL in doppelte Anführungszeichen eingeschlossen. |
ConsistencyLevel | Die Konsistenzstufe legt fest, wie viele Replikate der Daten, mit denen Sie interagieren, antworten müssen, damit die Abfrage als erfolgreich gewertet wird. |
FlattenArrays | Standardmäßig werden verschachtelte Arrays als JSON-Strings zurückgegeben. Mit der Eigenschaft FlattenArrays können die Elemente verschachtelter Arrays in eigene Spalten umgewandelt werden. Legen Sie FlattenArrays auf die Anzahl der Elemente fest, die Sie aus verschachtelten Arrays zurückgeben möchten. |
FlattenObjects | Setzen Sie FlattenObjects auf true, um Objekteigenschaften in eigene Spalten zu reduzieren. Andernfalls werden in Arrays verschachtelte Objekte als JSON-Strings zurückgegeben. |
MaxRows | Begrenzt die Anzahl der zurückgegebenen Zeilen, wenn in der Abfrage keine Aggregation oder GROUP BY verwendet wird. Dies hat Vorrang vor LIMIT-Klauseln. |
NullToUnset | Verwenden Sie bei der Durchführung von INSERT-Vorgängen in CQL Abfrage „unset“ statt „NULL“. |
Other | Diese versteckten Eigenschaften werden nur in bestimmten Anwendungsfällen verwendet. |
Pagesize | Die maximale Anzahl der Ergebnisse, die pro Seite von Cassandra zurückgegeben werden sollen. |
PseudoColumns | Diese Eigenschaft gibt an, ob Pseudospalten als Spalten in die Tabelle aufgenommen werden sollen oder nicht. |
QueryPassthrough | Diese Option übergibt die Abfrage unverändert an den Cassandra-Server. |
RowScanDepth | Die maximale Anzahl der zu scannenden Zeilen, um nach den in einer Tabelle verfügbaren Spalten zu suchen. |
Timeout | Der Wert in Sekunden, bis der Timeout-Fehler auftritt und der Operation abgebrochen wird. |
UseJsonFormat | Ob die JSON-Kodierung für CQL-Datentypen übermittelt und zurückgegeben werden soll. |
UserDefinedViews | Ein Dateipfad, der auf die JSON-Konfigurationsdatei verweist, die Ihre benutzerdefinierten Ansichten enthält. |
VarintToString | Ordnen Sie Cassandra VARINT einem String-Wert zu. |
Unterstützte Aggregationen
Ob Aggregationen im Cassandra-Server unterstützt werden sollen oder nicht. Beachten Sie, dass Sie in Abfragen an den Anbieter einfache Anführungszeichen verwenden müssen, um Zeichenfolgen zu definieren.
Datentyp
bool
Standardwert
true
Hinweise
Filtern zulassen
Wenn wahr, werden langsame Abfragen auf dem Server verarbeitet.
Datentyp
bool
Standardwert
false
Hinweise
Cassandra erlaubt standardmäßig keine Filterung für Abfragen, bei denen Leistungsprobleme vorhergesagt werden. Diese Abfragen umfassen die Filterung einer Spalte, die nicht der Primärschlüssel ist.
Sie können das Standardverhalten außer Kraft setzen und sich darauf verlassen, dass der Server diese Abfragen verarbeitet, indem Sie festlegen AllowFiltering
auf wahr.
Groß-/Kleinschreibung
Aktivieren Sie die Groß-/Kleinschreibung beim Senden von CQL an den Server. Wenn diese Option auf „True“ gesetzt ist, werden die Bezeichner im CQL in doppelte Anführungszeichen eingeschlossen.
Datentyp
bool
Standardwert
true
Hinweise
Standardmäßig berücksichtigt SQL die Groß- und Kleinschreibung nicht. Cassandra unterstützt jedoch die Groß- und Kleinschreibung von Tabellen- und Spaltennamen. Wenn Sie diese Eigenschaft auf True setzen, können Sie Tabellen und Spalten basierend auf ihren groß- und kleinschreibungssensitiven Namen abrufen.
Konsistenzstufe
Die Konsistenzstufe bestimmt, wie viele Replikate der Daten, mit denen Sie interagieren, antworten müssen, damit die Abfrage als erfolgreich gewertet wird.
Mögliche Werte
ONE
, TWO
, THREE
, QUORUM
, ALL
, LOCAL_QUORUM
, EACH_QUORUM
, SERIAL
, LOCAL_SERIAL
, LOCAL_ONE
, ANY
Datentyp
string
Standardwert
ONE
Hinweise
Die Konsistenzstufe bestimmt, wie viele Replikate der Daten, mit denen Sie interagieren, antworten müssen, damit die Abfrage als erfolgreich angesehen wird. Sie müssen die entsprechenden Replikate im Server angeben Eigentum.
Nachfolgend sind die möglichen Werte aufgeführt:
- ANY: Mindestens eine Replik muss bei einem Operation Erfolg melden. Diese Eigenschaft garantiert, dass ein Schreibvorgang nie fehlschlägt. Diese Konsistenzstufe bietet die niedrigste Konsistenz und höchste Verfügbarkeit.
- ALLE: Alle Replikate müssen antworten. Diese Eigenschaft bietet die höchste Konsistenz und die niedrigste Verfügbarkeit.
- EINS: Mindestens ein Replikat muss antworten. Dies ist die Standardeinstellung und für die meisten Benutzer geeignet, die normalerweise keine hohe Konsistenz benötigen.
- ZWEI: Mindestens zwei Replikate müssen antworten.
- DREI: Mindestens drei Replikate müssen antworten.
- QUORUM: Ein Quorum von Knoten muss antworten. Die QUORUM-Eigenschaften bieten hohe Konsistenz mit einer gewissen Fehlertoleranz.
- EACH_QUORUM: Ein Quorum von Knoten muss antworten, wobei für jedes Rechenzentrum ein Quorum berechnet wird. Diese Einstellung sorgt für Konsistenz in jedem Rechenzentrum.
- SERIAL: Ein Quorum von Replikaten führt einen Konsensalgorithmus aus, um einfache Transaktionen zu ermöglichen.
- LOCAL_ONE: Mindestens eine Replik im lokalen Rechenzentrum muss antworten.
- LOCAL_SERIAL: Der Konsensalgorithmus wird für das lokale Rechenzentrum berechnet.
- LOCAL_QUORUM: Ein Quorum von Knoten muss antworten, wobei das Quorum für das lokale Rechenzentrum berechnet wird.
Arrays abflachen
Standardmäßig werden verschachtelte Arrays als JSON-Strings zurückgegeben. Mit der Eigenschaft FlattenArrays können die Elemente verschachtelter Arrays in eigene Spalten umgewandelt werden. Legen Sie FlattenArrays auf die Anzahl der Elemente fest, die Sie aus verschachtelten Arrays zurückgeben möchten.
Datentyp
string
Standardwert
""
Hinweise
Standardmäßig werden verschachtelte Arrays als JSON-Strings zurückgegeben. Das FlattenArrays
-Eigenschaft kann verwendet werden, um die Elemente verschachtelter Arrays in eigene Spalten zu reduzieren. Dies wird nur für Arrays empfohlen, die voraussichtlich kurz sind.
Set FlattenArrays
zur Anzahl der Elemente, die Sie aus verschachtelten Arrays zurückgeben möchten. Die angegebenen Elemente werden als Spalten zurückgegeben. Der nullbasierte Index wird an den Spaltennamen angehängt. Andere Elemente werden ignoriert.
Sie können beispielsweise eine beliebige Anzahl von Elementen aus einem Array von Zeichenfolgen zurückgeben:
["FLOW-MATIC","LISP","COBOL"]
Wenn FlattenArrays
auf 1 gesetzt ist, wird das vorhergehende Array in die folgende Tabelle abgeflacht:
Spaltenname | Spaltenwert |
---|---|
languages_0 | FLOW-MATIC |
Objekte abflachen
Setzen Sie FlattenObjects auf true, um Objekteigenschaften in eigene Spalten zu reduzieren. Andernfalls werden in Arrays verschachtelte Objekte als JSON-Strings zurückgegeben.
Datentyp
bool
Standardwert
false
Hinweise
Satz FlattenObjects
auf true, um Objekteigenschaften in eigene Spalten zu reduzieren. Andernfalls werden in Arrays verschachtelte Objekte als JSON-Zeichenfolgen zurückgegeben. Der Eigenschaftsname wird mit einem Unterstrich an den Objektnamen angehängt, um den Spaltennamen zu generieren.
Sie können beispielsweise die folgenden verschachtelten Objekte zum Zeitpunkt der Verbindung reduzieren:
[
{ "grade": "A", "score": 2 },
{ "grade": "A", "score": 6 },
{ "grade": "A", "score": 10 },
{ "grade": "A", "score": 9 },
{ "grade": "B", "score": 14 }
]
Wenn FlattenObjects
ist auf true gesetzt und FlattenArrays auf 1 gesetzt ist, wird das vorhergehende Array in die folgende Tabelle abgeflacht:
Spaltenname | Spaltenwert |
---|---|
grades_0\_grade | EIN |
grades_0\_score | 2 |
MaxRows
Begrenzt die Anzahl der zurückgegebenen Zeilen, wenn in der Abfrage keine Aggregation oder GROUP BY verwendet wird. Dies hat Vorrang vor LIMIT-Klauseln.
Datentyp
int
Standardwert
-1
Hinweise
Begrenzt die Anzahl der zurückgegebenen Zeilen, wenn in der Abfrage keine Aggregation oder GROUP BY verwendet wird. Dies hat Vorrang vor LIMIT-Klauseln.
NullToUnset
Verwenden Sie beim Ausführen von INSERT-Vorgängen in CQL Abfrage „unset“ statt „NULL“.
Datentyp
bool
Standardwert
false
Hinweise
In Cassandra 2.2 und höher kann beim Ausführen einer INSERT- Abfrage ein Parameterwert auf „nicht gesetzt“ gesetzt werden. Cassandra berücksichtigt nicht gesetzte Feldwerte nicht, wodurch Tombstones vermieden werden.
Wenn NULL-Werte eingefügt werden, können die Tombstone-Schwellenwerte erreicht werden, was dazu führt, dass beim Abfragen der Daten eine Ausnahme ausgelöst wird. Wenn Sie diese Eigenschaft auf „true“ setzen und nicht festgelegte Werte übermitteln, wird die Erstellung dieser Tombstones verhindert.
Hinweis: Diese Option ist nur bei INSERT-Vorgängen verfügbar, da Cassandra das Ändern vorhandener Werte in „Aufheben“ nicht unterstützt.
Andere
Diese versteckten Eigenschaften werden nur in bestimmten Anwendungsfällen verwendet.
Datentyp
string
Standardwert
""
Hinweise
Die unten aufgeführten Eigenschaften sind für bestimmte Anwendungsfälle verfügbar. Für normale Anwendungsfälle und Funktionen von Treiber sollten diese Eigenschaften nicht erforderlich sein.
Geben Sie mehrere Eigenschaften in einer durch Semikolon getrennten Liste an.
Integration und Formatierung
Eigenschaft | Beschreibung |
---|---|
DefaultColumnSize | Legt die Standardlänge von Zeichenfolgefeldern fest, wenn die Datenquelle keine Spaltenlänge in den Metadaten bereitstellt. Der Standardwert ist 2000. |
ConvertDateTimeToGMT | Bestimmt, ob Datums-/Uhrzeitwerte in GMT statt in die lokale Zeit des Computers konvertiert werden sollen. |
RecordToFile=filename | Protokolliert den zugrunde liegenden Socket-Datenübertragungsvorgang in die angegebene Datei. |
Seitengröße
Die maximale Anzahl von Ergebnissen, die pro Seite von Cassandra zurückgegeben werden sollen.
Datentyp
int
Standardwert
5000
Hinweise
Der Pagesize
-Eigenschaft beeinflusst die maximale Anzahl von Ergebnissen, die pro Seite von Cassandra zurückgegeben werden. Das Festlegen eines höheren Wertes kann zu einer besseren Leistung führen, allerdings auf Kosten des zusätzlichen Speichers, der pro verbrauchter Seite zugewiesen wird.
Pseudospalten
Diese Eigenschaft gibt an, ob Pseudospalten als Spalten in die Tabelle aufgenommen werden sollen oder nicht.
Datentyp
string
Standardwert
""
Hinweise
Diese Einstellung ist besonders hilfreich im Entity Framework, da Sie dort keinen Wert für eine Pseudospalte festlegen können, es sei denn, es handelt sich um eine Tabellenspalte. Der Wert dieser Verbindungseinstellung hat das Format „Tabelle1=Spalte1, Tabelle1=Spalte2, Tabelle2=Spalte3“. Sie können das Zeichen „*“ verwenden, um alle Tabellen und alle Spalten einzuschließen, z. B. „*=*“.
QueryPassthrough
Diese Option übergibt die Abfrage unverändert an den Cassandra-Server.
Datentyp
bool
Standardwert
false
Hinweise
Wenn dies eingestellt ist, werden Abfragen direkt an Cassandra weitergeleitet.
Zeilenscantiefe
Die maximale Anzahl zu scannender Zeilen, um nach den in einer Tabelle verfügbaren Spalten zu suchen.
Datentyp
int
Standardwert
100
Hinweise
Die Spalten in einer Tabelle müssen durch das Scannen der Tabellenzeilen ermittelt werden. Dieser Wert bestimmt die maximale Anzahl der zu scannenden Zeilen.
Das Festlegen eines hohen Wertes kann die Leistung beeinträchtigen. Das Festlegen eines niedrigen Wertes kann dazu führen, dass der Datentyp nicht richtig ermittelt wird, insbesondere wenn Nulldaten vorhanden sind.
Zeitüberschreitung
Der Wert in Sekunden, bis der Timeout-Fehler auftritt und der Operation abgebrochen wird.
Datentyp
int
Standardwert
60
Hinweise
Wenn Timeout
= 0, Operationen werden nicht abgebrochen. Die Operationen werden ausgeführt, bis sie erfolgreich abgeschlossen sind oder bis ein Fehler auftritt.
Wenn Timeout
abläuft und der Operation noch nicht abgeschlossen ist, löst der Connector eine Ausnahme aus.
UseJsonFormat
Gibt an, ob die JSON-Kodierung für CQL-Datentypen übermittelt und zurückgegeben werden soll.
Datentyp
bool
Standardwert
true
Hinweise
Cassandra 2.2 hat eine CQL-Erweiterung eingeführt, mit der Sie CQL-Datentypen JSON-kodieren können. Standardmäßig verwenden Sie die JSON-Syntax zur Datenmanipulation und SELECT-Anweisungen geben JSON über den Connector zurück. Setzen Sie diese Eigenschaft auf „false“, um CQL-Literale zur Interaktion mit Cassandra-Daten zu verwenden.
Die Syntax für CQL-Literale unterscheidet sich in mehreren Punkten von JSON. Zum Beispiel:
- CQL-Zeichenfolgen werden in einfachen Anführungszeichen definiert, während JSON-Zeichenfolgen in doppelten Anführungszeichen definiert werden.
- CQL-Sets, Tupel und Listen werden als Arrays JSON-kodiert.
- Benutzerdefinierte Typen und CQL
uuid
Typen werden als Objekte JSON-kodiert.
Weitere Informationen zur JSON-Kodierung von Datentypen in Ihrer Version von Cassandra finden Sie in der CQL-Dokumentation. Unten finden Sie ein Beispiel für eine SQL-Anweisung mit JSON und CQL.
Format | Syntax |
---|---|
CQL | |
Parameter | |
Benutzer-ID | Frodo |
Emails | {'f@baggins.com', 'baggins@gmail.com'} |
JSON | |
Parameter | |
Benutzer-ID | Frodo |
Emails | ["f@baggins.com", "baggins@gmail.com"]) |
Beachten Sie, dass Sie bei Abfragen an den Connector einfache Anführungszeichen verwenden müssen, um Zeichenfolgen zu definieren.
BenutzerdefinierteAnsichten
Ein Dateipfad, der auf die JSON-Konfigurationsdatei verweist, die Ihre benutzerdefinierten Ansichten enthält.
Datentyp
string
Standardwert
""
Hinweise
Benutzerdefinierte Ansichten werden in einer JSON-formatierten Konfigurationsdatei namens UserDefinedViews.json
. Der Connector erkennt die in dieser Datei angegebenen Ansichten automatisch.
Sie können auch mehrere Ansichtsdefinitionen haben und diese mit steuern UserDefinedViews
Verbindungseigenschaft. Wenn Sie diese Eigenschaft verwenden, werden vom Connector nur die angegebenen Ansichten angezeigt.
Diese Konfigurationsdatei für benutzerdefinierte Ansichten ist wie folgt formatiert:
- Jedes Stammelement definiert den Namen einer Ansicht.
- Jedes Stammelement enthält ein untergeordnetes Element namens
query
, das die benutzerdefinierte SQL- Abfrage für die Ansicht enthält.
Zum Beispiel:
{
"MyView": {
"query": "SELECT * FROM \"\".\"Sample\".Products WHERE MyColumn = 'value'"
},
"MyView2": {
"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
}
}
Verwenden Sie die UserDefinedViews
Verbindungseigenschaft, um den Speicherort Ihrer JSON-Konfigurationsdatei anzugeben. Beispiel:
"UserDefinedViews", C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json
Beachten Sie, dass der angegebene Pfad nicht in Anführungszeichen steht.
VarintToString
Cassandra VARINT einem String-Wert zuordnen.
Datentyp
bool
Standardwert
true
Hinweise
Cassandra VARINT einem String-Wert zuordnen.