Data Virtualization unterstützt die folgenden relationalen und nichtrelationalen Datenquellen auf " IBM Cloud Pak® for Data as a Service.
Sie können keine Verbindung zu einer Datenquelle als Verbindung zu einer vorhandenen Plattformverbindung herstellen, wenn die Plattformverbindung Cloudintegration, Secure Gatewayoder Satellite Linkverwendet. Diese Funktionen werden von der Data Virtualization nicht unterstützt, wenn Sie sich mit Plattformverbindungen verbinden. Es wird eine Fehlernachricht ähnlich der folgenden angezeigt:Cannot reach the network destination of the data source. Sie können die Datenquelle mithilfe von Cloud-Integration, Secure Gateway oder Satellite Link einrichten und den Hostnamen oder IP-Endpunkt direkt als neue Verbindung an die Data Virtualization übermitteln.
- Größenbegrenzungen
- Data Virtualization unterstützt die Virtualisierung von Tabellen mit einer Zeilengröße von bis zu 1 MB und bis zu 2048 Spalten in einer Tabelle. Die Anzahl der Spalten, die die Data Virtualization in der Vorschau anzeigen kann, hängt jedoch von vielen Faktoren ab, z. B. von den Datentypen der Spalten. Derzeit ist die Vorschau auf 200 Spalten begrenzt.
- Kommentarattribute
- Wenn virtuelle Tabellen erstellt werden, berücksichtigt die Data Virtualization keine Kommentarattribute, die Datenquellenobjekten zugewiesen wurden. Diese Einschränkung gilt für alle Datenquellen.
- Datentypen
- Einige Datentypen in Ihrer Datenquelle werden von der Data Virtualization möglicherweise nicht unterstützt. Diese Einschränkungen sind in den folgenden Tabellen dokumentiert. Data Virtualization kann auch einige Datentypen in Ihrer Datenquelle auf alternative Datentypen abbilden. Diese Zuordnungen basieren auf zugrunde liegenden Db2® Big SQL -Zuordnungen. Weitere Informationen finden Sie unter Datentypen in Db2 Big SQL.
IBM Datenquellen
In der folgenden Tabelle sind die IBM® aufgeführt, mit denen Sie von Data Virtualization aus eine Verbindung herstellen können.
Connector | Einschränkungen | Weitere Informationen |
---|---|---|
IBM Cloud® Databases for MongoDB | IBM Cloud Databases for MongoDB ist als Betaversion verfügbar. Die folgenden ' MongoDB -Datentypen werden von der Data Virtualization unterstützt: INT32, INT64, DOUBLE, STRING, BOOLEAN, DATE und BINARY. |
|
IBM Cloud Databases for MySQL | ||
IBM Cloud Databases für PostgreSQL | Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
|
IBM Cloud Object Storage | Diese Verbindung muss bei der Data Virtualization besonders berücksichtigt werden. Siehe Verbindung zu IBM Cloud Object Storage in der Data Virtualization. Einschränkungen finden Sie unter Datenquellen in Objektspeichern unter Data Virtualization. |
|
IBM Data Virtualization Manager for z/OS® | Sie können keine Verbindung zu Data Virtualization Manager for z/OS herstellen, wenn die Verbindung die Cloudintegration, Secure Gatewayoder Satellite Linkverwendet. Diese Funktionen werden von der Data Virtualization nicht unterstützt. Es wird eine Fehlernachricht ähnlich der folgenden angezeigt:Cannot reach the network destination of the data source. | Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
IBM Db2 |
|
Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
IBM Db2 Big SQL | Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
|
IBM Db2 for i | Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
|
IBM Db2 for z/OS | ||
IBM Db2 on Cloud | Die Typen NCHAR und NVARCHAR werden in der Data Virtualization nicht unterstützt. | |
IBM Db2 Warehouse | ||
IBM Informix® | Die Datentypen INTERVAL, BIGINT und BIGSERIAL werden in der Data Virtualization nicht unterstützt. Weitere Informationen finden Sie unter Ausnahmen treten bei Verwendung des Treibers "Verbinden für JDBC" Informix auf. | |
IBM Netezza® Performance Server |
|
Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
IBM Planning Analytics |
|
|
IBM Data Virtualization | Wichtig! Stellen Sie keine Verbindung zu Ihrer Data Virtualization her.
|
Datenquellen anderer Anbieter
In der folgenden Tabelle sind die Datenquellen von Drittanbietern aufgelistet, mit denen Sie über die Data Virtualization eine Verbindung herstellen können.
Connector | Einschränkungen | Weitere Informationen |
---|---|---|
Amazon RDS for MySQL |
|
Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
Amazon RDS for Oracle |
|
Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
Amazon RDS for PostgreSQL | Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
|
Amazon Redshift | Die Datentypen SPATIAL, SKETCH und SUPER werden in der Data Virtualization in CLOB konvertiert. | Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
Amazon S3 | Diese Verbindung muss bei der Data Virtualization besonders berücksichtigt werden. Siehe Verbindung zu Amazon S3 in Data Virtualization.
|
|
Apache Derby | Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
|
Apache Hive |
|
Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
Ceph | Diese Verbindung muss bei der Data Virtualization besonders berücksichtigt werden. Siehe Verbindung zu Ceph unter Data Virtualization. Einschränkungen finden Sie unter Datenquellen in Objektspeichern in Data Virtualization. |
|
Cloudera Impala | Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
|
Generisches S3 | Einschränkungen finden Sie unter Datenquellen in Objektspeichern unter Data Virtualization. |
|
Google BigQuery | Diese Verbindung muss bei der Data Virtualization besonders berücksichtigt werden. Siehe Verbindung zu Google BigQuery in Data Virtualization.
|
Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
Greenplum | Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
|
MariaDB |
|
Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
Microsoft Azure Data Lake Storage | ||
Microsoft Azure SQL Database | ||
Microsoft SQL Server |
|
Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
MongoDB |
|
|
MySQL (My SQL Community Edition) (My SQL Enterprise Edition) |
|
Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
Oracle |
|
Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
PostgreSQL | Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
|
Salesforce.com | Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
|
SAP ASE | ||
SAP OData | Sie können aus den folgenden Gründen keine Vorschau anzeigen oder nicht lesbare Tabellen abfragen:
|
|
Snowflake | Diese Verbindung muss bei der Data Virtualization besonders berücksichtigt werden. Siehe Verbindung zu Snowflake in Data Virtualization.
|
Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
Teradata Teradata JDBC Driver 17.00 Copyright (C) 2024 von Teradata. Alle Rechte vorbehalten. IBM stellt die eingebettete Nutzung des Treibers Teradata JDBC unter Lizenz von Teradata ausschließlich zur Nutzung im Rahmen des Serviceangebots IBM Watson® bereit. |
|
Diese Verbindung ist optimiert, um die Abfragefunktionen in dieser Datenquelle zu nutzen. |
Datenquellen im Objektspeicher in der Data Virtualization
Sie können Daten verwenden, die als Dateien in IBM Cloud Object Storage-, Amazon S3-, Ceph- oder generischen S3 -Datenquellen gespeichert werden, um virtuelle Tabellen zu erstellen. Um auf Daten zugreifen zu können, die im Cloudobjektspeicher gespeichert sind, müssen Sie eine Verbindung zu der Datenquelle erstellen, in der sich die Dateien befinden.
Sie können Daten aus Dateien aufteilen oder kombinieren und aus diesen Daten eine virtuelle Tabelle erstellen. Der Zugriff auf Dateien im Objektspeicher in der Data Virtualization basiert auf den Db2 Big SQL, die die Unterstützung externer Hadoop nutzen. Weitere Informationen finden Sie unter Anweisung CREATE TABLE (HADOOP).
Terminologie
- Ein Bucket ist eine logische Abstraktion, mit der ein Container für Daten bereitgestellt wird. Es gibt kein Ordnerkonzept in Object Storage, nur Buckets und Schlüssel. Buckets können nur in der Schnittstelle der Objektspeicherdatenquelle erstellt werden. Sie können nicht in der Data Virtualization erstellt werden. Bucketnamen müssen eindeutig sein und den Regeln des Objektspeicherproviders entsprechen. Diese Regeln schließen häufig die Beschränkung des Namens auf 3-63 Zeichen mit Kleinbuchstaben, Zahlen und Gedankenstrichen ein. Bucketnamen müssen mit einem Kleinbuchstaben oder einer Ziffer anfangen und enden. Wenn Data Virtualization auf Daten im Objektspeicher zugreift, muss der Bucket-Name über alle Objektspeicherverbindungen hinweg eindeutig sein.
- Dateipfad ist der vollständige Pfad zu der Datei, in der Sie Daten speichern wollen. Die Dateisystemimplementierung S3 ermöglicht es, Dateien mit der Länge null wie Verzeichnisse zu behandeln, und Dateinamen, die einen Schrägstrich (/) enthalten, werden wie verschachtelte Verzeichnisse behandelt. Der Dateipfad enthält den Bucketnamen, einen optionalen Dateipfad und einen Dateinamen. In Object Storage wird der Dateipfad verwendet, wenn eine Tabelle erstellt wird. Alle Dateien in demselben Pfad tragen zu den Tabellendaten bei. Sie können weitere Daten hinzufügen, indem Sie dem Dateipfad eine weitere Datei hinzufügen.
- Eine Partition besteht aus Daten, die nach einem allgemeinen Attribut im Schema gruppiert sind. Bei der Partitionierung werden die Daten in mehrere Dateipfade unterteilt, die wie Verzeichnisse behandelt werden. Die Data Virtualization kann Partitionen erkennen und verwenden, um die Datenmenge zu reduzieren, die Abfragen verarbeiten müssen, was die Leistung von Abfragen verbessern kann, die Prädikate für die Partitionsspalten verwenden.
Bewährte Verfahren
- Dateiformate
- Data Virtualization unterstützt die Dateiformate PARQUET (oder PARQUETFILE), ORC (optimized row columnar), CSV (comma-separated values), TSV (tab-separated values) und JSON. Andere Dateiformate werden nicht unterstützt.
- Für PARQUET (oder PARQUETFILE) sind keine Dateierweiterungen erforderlich. Metadaten werden aus der Datendatei extrahiert.
- Für ORC sind keine Dateierweiterungen erforderlich. Metadaten werden aus der Datendatei extrahiert.
- Für CSV-und TSV-Dateien:
- Die entsprechende Dateierweiterung .csv oder .tsv ist wie folgt erforderlich:
- CSV: Die Dateierweiterung .csv ist erforderlich und der Inhalt der Datei muss den Spezifikationen für durch Kommas getrennte Werte entsprechen.
- TSV: Die Dateierweiterung .tsv ist erforderlich und der Inhalt der Datei muss den Spezifikationen für durch Tabulatoren getrennte Werte entsprechen.
- Ein optionaler Parameter kann verwendet werden, um ein Zeichenfolgebegrenzungszeichen (
quoteChar
) anzugeben, das Feldwerte in CSV-und TSV-Dateien umgibt.- Die Abfrage der Daten kann sich negativ auf die Leistung auswirken, wenn
quoteChar
angegeben wird. - Der Standardwert ist kein Begrenzer (nicht angegeben).
- Der Wert für
quoteChar
muss ein einzelnes Zeichen sein, das kein Leerzeichen, Backslash, Tabulatorzeichen, Komma oder Zeilenvorschubzeichen (\n
) sein darf. - Wenn der Zeichenfolgewert den Zeichenfolgebegrenzer (
quoteChar
) enthält, kann der Backslash (\
) als Escapezeichen für den Zeichenfolgebegrenzer verwendet werden.
- Die Abfrage der Daten kann sich negativ auf die Leistung auswirken, wenn
- Die entsprechende Dateierweiterung .csv oder .tsv ist wie folgt erforderlich:
- Für JSON-Dateien ist die Dateierweiterung .jsonerforderlich. JSON-Dateien müssen so codiert werden, dass jede Zeile ein gültiges JSON-Objekt ist. Zeilen müssen durch ein Zeilenvorschubzeichen (
\n
) getrennt werden. Das Textformat für JSON-Zeilen, auch als JSON mit Zeilenumbruch bezeichnet, ist das einzige unterstützte JSON-Format. Dieses Format speichert strukturierte Daten, die jeweils für einen Datensatz verarbeitet werden können.
Hinweis: Alle anderen Dateiformate geben einen Fehler zurück. Weitere Informationen finden Sie unter Fehlernachricht bei Verwendung eines nicht unterstützten Dateiformats in Cloud Object Storage. - Daten organisieren
- Vermeiden Sie die Verwendung alphanumerischer Zeichen in Spaltennamen, da dies die Hive -Kompatibilität beeinträchtigen kann. Jedes Zeichen, das kein alphanumerisches Zeichen oder ein Unterstrich ist, wird als _xNNNN, kodiert, wobei _xNNNN der Hex-Wert des Zeichens ist. Wenn Sie die Spaltennamen ordnungsgemäß anzeigen möchten, aktivieren Sie die Option
allownonalphanumeric
, indem Sie die folgenden Schritte ausführen:- Greifen Sie auf den Head-Pod in der Data Virtualizationc-db2u-dv-db2u-0) zu.
- Führen Sie den folgenden Befehl aus, um die Konfiguration zu bearbeiten und die Option
allownonalphanumeric
einzuschließen:db2uctl adm bigsql config --key bigsql.catalog.identifier.mappingrules --value allownonalphanumeric,allowleadingdigits,allowreservedwords
- Führen Sie den folgenden Befehl aus, um Big SQLerneut zu starten:
su - db2inst1 bigsql stop ; bigsql start
- Wenn auf Ihre Objektspeicherdaten über eine virtualisierte Tabelle zugegriffen wird, müssen sich die zu virtualisierenden Dateien in einem einzigen Dateipfad und in einem einzigen Bucket befinden und das Bucket muss mindestens eine Datei enthalten, die Sie dem Warenkorb hinzufügen. Alle Dateien in diesem Dateipfad sind Teil der virtualisierten Tabelle. Wenn der Tabelle weitere Daten hinzugefügt werden (neue Dateien werden im Dateipfad erstellt), sind die Daten sichtbar, wenn Sie auf die virtualisierte Tabelle zugreifen. Alle Dateien im Dateipfad müssen dasselbe Dateiformat verwenden, damit sie als eine Tabelle virtualisiert werden.
- Wenn Sie die Dateien in mehreren Dateipfaden als eine Tabelle virtualisieren möchten, können Sie das Bucket, das alle Dateien enthält, virtualisieren. Wenn Sie beispielsweise DateipfadeA/B/C/T1a, A/B/C/T1b, A/B/D/T1c, und A/B/D/T1dhaben, können Sie den Dateipfad A/B/virtualisieren. Alle Dateien in diesem Pfad und die verschachtelten Pfade sind Teil des zugänglichen Objekts.
- Erstellen Sie keine zwei Objekte (Tabellen, Schemata oder Spalten) mit demselben Namen, auch wenn Sie Kennungen mit Begrenzer und Groß-/Kleinschreibung verwenden. Sie können beispielsweise keine Tabelle t1 und keine andere Tabelle mit dem Namen T1haben. Diese Namen gelten als doppelte Namen im Objektspeicher (Hive). Weitere Informationen finden Sie unter Kennungen.
- Db2 unterstützt einen größeren Bereich gültiger begrenzter Bezeichner als Hive unterstützt. Einige Kennungsnamen, die angegeben werden, wenn Sie virtualisierte Tabellen über Objektspeicher erstellen, können angepasst werden, bevor sie im Hive -Katalog akzeptiert werden. Die Zuordnung erfolgt automatisch. Weitere Informationen finden Sie unter Kennungen.
- Wenn neue Daten zum Dateipfad für eine virtualisierte Tabelle hinzugefügt werden, sollten Sie den folgenden Befehl ausführen, um sicherzustellen, dass der Metadatencache aktualisiert wird, damit die neuen Daten angezeigt werden.
CALL SYSHADOOP.HCAT_CACHE_SYNC(<schema>, <object>)
Weitere Informationen finden Sie unter Gespeicherte Prozedur HCAT_CACHE_SYNC.
- Wenn dem Dateipfad für die virtualisierte Tabelle neue Partitionen hinzugefügt werden, klicken Sie im Überlaufmenü auf der Seite Virtualisierte Daten auf Partitionen aktualisieren , um neue Partitionen anzugeben.
Sie können auch den folgenden Befehl in der SQL-Schnittstelle ausführen, um die neuen Partitionen zu ermitteln, die hinzugefügt wurden.
MSCK REPAIR TABLE <table-name>
Weitere Informationen finden Sie unter MSCK REPAIR TABLE.
- Vermeiden Sie die Verwendung alphanumerischer Zeichen in Spaltennamen, da dies die Hive -Kompatibilität beeinträchtigen kann. Jedes Zeichen, das kein alphanumerisches Zeichen oder ein Unterstrich ist, wird als _xNNNN, kodiert, wobei _xNNNN der Hex-Wert des Zeichens ist. Wenn Sie die Spaltennamen ordnungsgemäß anzeigen möchten, aktivieren Sie die Option
- Abfrageleistung optimieren
- Verwenden Sie ein kompaktes Dateiformat wie ORC oder Parquet, um den Datenaustausch im Netz zu minimieren, was die Abfrageleistung verbessert.
- Verwenden Sie nicht den Datentyp STRING oder TEXT. Verwenden Sie den Datentyp VARCHAR (n), wobei n auf einen Wert gesetzt ist, der für die Spaltendaten geeignet ist. Mit dem folgenden Befehl können Sie die Tabelle ändern, um eine geeignete Länge für die Spalte zu definieren.
ALTER TABLE <schema>.<table> ALTER COLUMN <col> SET DATA TYPE VARCHAR(<size>)
- Partitionieren Sie Ihre Daten mithilfe der Hive -Partitionierung. Partitionierte Daten werden nach einem gemeinsamen Attribut gruppiert. Die Data Virtualization kann Partitionen verwenden, um die Datenmenge zu reduzieren, die von Abfragen verarbeitet werden muss. Das Abfragen des gesamten Datasets ist möglicherweise nicht möglich oder sogar nicht erforderlich. Sie können Vergleichselemente in Ihren Abfragen verwenden, die Partitionierungsspalten enthalten, um die Leistung zu verbessern.
Beispiel: Eine school_records -Tabelle, die auf einer Jahresspalte partitioniert ist, trennt Werte nach Jahr in separate Dateipfade. Eine
WHERE
-Bedingung wieYEAR=1993
,YEAR IN (1996,1995)
oderYEAR BETWEEN 1992 AND 1996
scannt nur die Daten im entsprechenden Dateipfad, um die Abfrage aufzulösen. - Definieren Sie partitionierte Spaltentypen genau. Standardmäßig wird angenommen, dass partitionierte Zeichenspalten den Typ STRING aufweisen. Dies wird nicht empfohlen. Definieren Sie die partitionierten Spalten erneut mit einem geeigneten Datentyp.
- Erfassen Sie Statistikdaten zu den Daten, die abgefragt werden. Data Virtualization verwendet den Befehl ' ANALYZE, um Statistiken über virtualisierte Tabellen über Objektspeicher zu sammeln. Sie können Statistiken im Web-Client oder mithilfe von SQL erfassen. Weitere Informationen finden Sie unter Sammeln von Statistiken in der Data Virtualization.
Einschränkungen
- In der Data Virtualization wird für Textdateien im CSV-, TSV- oder JSON-Format nur die Zeichenkodierung UTF-8 unterstützt. Cloud Object Storage-Binärformate wie ORC oder PARQUET sind nicht betroffen, da sie Zeichentypen transparent codieren.
- Die Data Virtualization unterstützt nicht den Datentyp TIME in einer virtualisierten Tabelle über Objektspeicher.
- Die Vorschau von Assets im Cloudobjektspeicher zeigt nur die ersten 200 Spalten der Tabelle an.
- Bevor Sie eine Verbindung zu Cloud Object Storageentfernen, müssen Sie alle virtualisierten Tabellen in der Objektspeicherverbindung entfernen. Wenn eine Verbindung entfernt wird und Sie versuchen, eine Tabelle in dieser Verbindung zu entfernen, wird ein Fehler angezeigt. Siehe Fehlernachricht für Berechtigungsnachweise beim Entfernen einer virtualisierten Tabelle im Objektspeicher.
- Wenn das Bucket in den Verbindungseigenschaften nicht angegeben ist, ist die Verbindung global. Geben Sie in diesem Fall den Bucketnamen im Dateipfad an. Sie können bis zu einer globalen Verbindung in einer Data Virtualization angeben.
Siehe auch Beschränkungen
in der Anweisung CREATE TABLE (HADOOP).