Data Virtualization supporta le seguenti fonti di dati relazionali e non relazionali su 'IBM Cloud Pak® for Data as a Service.
Non è possibile connettersi a un'origine dati come connessione a una connessione della piattaforma esistente se la connessione della piattaforma utilizza l'integrazione Cloud, Secure Gatewayo Satellite Link. Queste funzioni non sono supportate da Data Virtualization quando ci si connette alle connessioni della piattaforma. Viene visualizzato un messaggio di errore simile aCannot reach the network destination of the data source. È possibile impostare l'origine dati utilizzando Cloud integration, Secure Gateway o Satellite Link e fornire il nome host o l'endpoint IP direttamente a Data Virtualization come nuova connessione.
- Limiti di dimensione
- Data Virtualization supporta la virtualizzazione di tabelle con una dimensione di riga fino a 1 MB e fino a 2048 colonne in una tabella. Tuttavia, il numero di colonne che Data Virtualization può prevedere dipende da molti fattori, come i tipi di dati delle colonne. Attualmente, l'anteprima è limitata a 200 colonne.
- Attributi commento
- Quando vengono create le tabelle virtuali, Data Virtualization non include gli attributi di commento assegnati agli oggetti di origine dati. Questa limitazione si applica a tutte le origini dati.
- Tipi di dati
- Alcuni tipi di dati dell'origine dati potrebbero non essere supportati da Data Virtualization. Queste limitazioni sono documentate nelle tabelle seguenti. Data Virtualization può anche mappare alcuni tipi di dati dell'origine dati in tipi di dati alternativi. Queste associazioni si basano sulle associazioni Db2® Big SQL sottostanti. Per ulteriori informazioni, vedi Tipi di dati in Db2 Big SQL.
Origini dati IBM
La tabella seguente elenca le fonti di dati IBM® a cui è possibile collegarsi da Data Virtualization.
Connettore | Limitazioni | Ulteriori informazioni |
---|---|---|
IBM Cloud® Databases for MongoDB | IBM Cloud Databases for MongoDB è disponibile come beta. I seguenti tipi di dati 'MongoDB sono supportati da Data Virtualization: INT32, INT64, DOUBLE, STRING, BOOLEAN, DATE e BINARY. |
|
IBM Cloud Databases for MySQL | ||
IBM Cloud Database per PostgreSQL | Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
|
IBM Cloud Object Storage | Questa connessione richiede un'attenzione particolare nella Data Virtualization. Vedere Connessione a IBM Cloud Object Storage in Data Virtualization. Per le limitazioni, vedere Sorgenti dati nell'archiviazione a oggetti in Data Virtualization. |
|
IBM Data Virtualization Manager for z/OS® | Non è possibile connettersi a Data Virtualization Manager for z/OS se la connessione utilizza l'integrazione Cloud, Secure Gatewayo Satellite Link. Queste funzioni non sono supportate da Data Virtualization. Verrà visualizzato un messaggio di errore simile aCannot reach the network destination of the data source. | Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
IBM Db2 |
|
Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
IBM Db2 Big SQL | Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
|
IBM Db2 for i | Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
|
IBM Db2 for z/OS | ||
IBM Db2 on Cloud | I tipi NCHAR e NVARCHAR non sono supportati in Data Virtualization. | |
IBM Db2 Warehouse | ||
IBM Informix® | I tipi di dati INTERVAL, BIGINT e BIGSERIAL non sono supportati in Data Virtualization. Per ulteriori informazioni, consultare Eccezioni che si verificano quando si utilizza il Informix driverConnect for JDBC . | |
IBM Netezza® Performance Server |
|
Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
IBM Planning Analytics |
|
|
IBM Data Virtualization | Importante: Non creare una connessione all'istanza di Data Virtualization.
|
Origini dati di terze parti
La tabella seguente elenca le fonti di dati di terze parti a cui è possibile collegarsi da Data Virtualization.
Connettore | Limitazioni | Ulteriori informazioni |
---|---|---|
Amazon RDS for MySQL |
|
Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
Amazon RDS for Oracle |
|
Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
Amazon RDS for PostgreSQL | Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
|
Amazon Redshift | I tipi di dati SPATIAL, SKETCH e SUPER vengono convertiti in CLOB in Data Virtualization. | Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
Amazon S3 | Questa connessione richiede un'attenzione particolare nella Data Virtualization. Vedere Connessione ad Amazon S3 in Data Virtualization.
|
|
Apache Derby | Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
|
Apache Hive |
|
Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
Ceph | Questa connessione richiede un'attenzione particolare nella Data Virtualization. Vedere Connessione a Ceph in Data Virtualization. Per le limitazioni, vedere Sorgenti di dati nell'archiviazione a oggetti in Data Virtualization. |
|
Cloudera Impala | Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
|
S3 generico | Per le limitazioni, vedere Sorgenti di dati nell'archiviazione a oggetti in Data Virtualization. |
|
Google BigQuery | Questa connessione richiede un'attenzione particolare nella Data Virtualization. Vedere Connessione a Google BigQuery in Data Virtualization.
|
Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
Greenplum | Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
|
MariaDB |
|
Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
Microsoft Azure Data Lake Storage | ||
Microsoft Azure SQL Database | ||
Microsoft SQL Server |
|
Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
MongoDB |
|
|
MySQL (SQL Community Edition) (SQL Enterprise Edition) |
|
Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
Oracle |
|
Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
PostgreSQL | Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
|
Salesforce.com | Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
|
SAP ASE | ||
SAP OData | Non è possibile visualizzare in anteprima o interrogare tabelle non leggibili per i motivi riportati di seguito:
|
|
Snowflake | Questa connessione richiede un'attenzione particolare nella Data Virtualization. Vedere Connessione a Snowflake in Data Virtualization.
|
Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
Teradata Teradata JDBC Driver 17.00 Copyright (C) 2024 di Teradata. Tutti i diritti riservati. IBM fornisce l'utilizzo integrato del driver JDBC Teradata sotto licenza da Teradata esclusivamente per l'utilizzo come parte dell'offerta del servizio IBM Watson® . |
|
Questa connessione è ottimizzata per sfruttare le funzionalità di query in questa origine dati. |
Sorgenti di dati nell'archiviazione a oggetti nella Data Virtualization
È possibile utilizzare i dati memorizzati come file su origini dati IBM Cloud Object Storage, Amazon S3, Ceph, o Generic S3 per creare tabelle virtuali. Per accedere ai dati memorizzati nell'archivio oggetti cloud, è necessario creare una connessione all'origine dati in cui si trovano i file.
È possibile segmentare o combinare i dati da uno o più file per creare una tabella virtuale. L'accesso ai file nell'archiviazione a oggetti in Data Virtualization si basa sulle funzionalità di Db2 Big SQL che utilizzano il supporto per le tabelle esterne Hadoop. Per ulteriori informazioni, consultare Istruzione CREATE TABLE (HADOOP).
Terminologia
- Un bucket è un'astrazione logica utilizzata per fornire un contenitore per i dati. Non esiste alcun concetto di cartella nell'archiviazione oggetti; solo bucket e chiavi. I bucket possono essere creati solo nell'interfaccia dell'origine dati di archiviazione oggetti. Non possono essere creati in Data Virtualization. I nomi bucket devono essere univoci e rispettare le regole del provider di archiviazione oggetti. Queste regole spesso includono la limitazione del nome a 3-63 caratteri con solo lettere minuscole, numeri e trattini. I nomi bucket devono iniziare e terminare con una lettera minuscola o un numero. Quando Data Virtualization accede ai dati nell'archiviazione a oggetti, il nome del bucket deve essere unico per tutte le connessioni all'archiviazione a oggetti.
- Un percorso file è il percorso completo del file in cui si desidera memorizzare i dati. L'implementazione del file system S3 consente ai file di lunghezza zero di essere considerati come directory e i nomi file che contengono una barra (/) vengono considerati come directory nidificate. Il percorso file include il nome bucket, un percorso file facoltativo e un nome file. Nell'archivio oggetti, il percorso file viene utilizzato quando viene creata una tabella. Tutti i file nello stesso percorso contribuiscono ai dati della tabella. È possibile aggiungere ulteriori dati aggiungendo un altro file al percorso file.
- Una partizione sono dati raggruppati in base a un attributo comune nello schema. Il partizionamento divide i dati in più percorsi di file, trattati come directory. La Data Virtualization può scoprire e utilizzare le partizioni per ridurre la quantità di dati che le query devono elaborare, migliorando così le prestazioni delle query che utilizzano predicati sulle colonne del partizionamento.
Best practice
- formati file
- Data Virtualization supporta i formati di file PARQUET (o PARQUETFILE), ORC (optimized row columnar), CSV (comma-separated values), TSV (tab-separated values) e JSON. Non sono supportati altri formati file.
- Per PARQUET (o PARQUETFILE), le estensioni file non sono richieste. I metadati vengono estratti dal file di dati.
- Per ORC, le estensioni file non sono richieste. I metadati vengono estratti dal file di dati.
- Per i file CSV e TSV:
- È richiesta l'estensione file .csv o .tsv appropriata, come segue:
- CSV: l'estensione file .csv è obbligatoria e il contenuto del file deve seguire le specifiche per i valori separati da virgole.
- TSV: l'estensione del file .tsv è obbligatoria e il contenuto del file deve seguire le specifiche per i valori separati da tabulazione.
- Un parametro facoltativo può essere utilizzato per specificare un carattere delimitatore stringa (
quoteChar
) che circonda i valori dei campi nei file CSV e TSV.- Le prestazioni della query dei dati potrebbero essere influenzate negativamente se viene specificato
quoteChar
. - Il valore predefinito non è un delimitatore (non specificato).
- Il valore per
quoteChar
deve essere un singolo carattere che non può essere uno spazio (vuoto), una barra rovesciata, una tabulazione, una virgola o un carattere di nuova riga (\n
). - Se il valore della stringa contiene il delimitatore di stringa (
quoteChar
), è possibile utilizzare la barra retroversa (\
) per eseguire l'escape del delimitatore di stringa.
- Le prestazioni della query dei dati potrebbero essere influenzate negativamente se viene specificato
- È richiesta l'estensione file .csv o .tsv appropriata, come segue:
- Per i file JSON, è richiesta l'estensione file .json . I file JSON devono essere codificati in modo che ogni linea sia un oggetto JSON valido. Le righe devono essere separate da un carattere di nuova riga (
\n
). Il formato di testo delle righe JSON, chiamato anche JSON delimitato da nuova riga, è l'unico formato JSON supportato. Questo formato memorizza i dati strutturati che possono essere elaborati un record alla volta.
Nota: tutti gli altri formati file restituiscono un errore. Per ulteriori informazioni, vedi Messaggio di errore quando tenti di utilizzare un formato file non supportato in Cloud Object Storage. - Organizzazione dei dati
- Evitare di utilizzare caratteri alfanumerici nei nomi delle colonne in quanto potrebbero interferire con la compatibilità Hive . Qualsiasi carattere che non sia un carattere alfanumerico o il carattere di sottolineatura viene codificato come _xNNNN, dove _xNNNN è il valore esadecimale del carattere. Se si desidera visualizzare correttamente i nomi colonna, abilitare l'opzione
allownonalphanumeric
completando la seguente procedura:- Accedere al pod principale nell'istanza Data Virtualizationc-db2u-dv-db2u-0).
- Eseguire il seguente comando per modificare la configurazione in modo da includere l'opzione
allownonalphanumeric
:db2uctl adm bigsql config --key bigsql.catalog.identifier.mappingrules --value allownonalphanumeric,allowleadingdigits,allowreservedwords
- Eseguire il seguente comando per riavviare Big SQL:
su - db2inst1 bigsql stop ; bigsql start
- Se si accede ai dati di archiviazione oggetti tramite una tabella virtualizzata, i file che si desidera virtualizzare devono trovarsi all'interno di un singolo percorso file e all'interno di un singolo bucket e il bucket deve includere almeno un file che si aggiunge al carrello. Tutti i file in questo percorso file fanno parte della tabella virtualizzata. Quando più dati vengono aggiunti alla tabella (nuovi file vengono creati nel percorso file), i dati sono visibili quando si accede alla tabella virtualizzata. Tutti i file nel percorso file devono utilizzare lo stesso formato file in modo che siano virtualizzati come una tabella.
- Se si desidera virtualizzare i file in più percorsi file come una tabella, è possibile virtualizzare il bucket che contiene tutti i file. Ad esempio, se si dispone di percorsi file A/B/C/T1a, A/B/C/T1b, A/B/D/T1ce A/B/D/T1d, è possibile virtualizzare il percorso file A/B/. Tutti i file in tale percorso e i percorsi nidificati faranno parte dell'oggetto accessibile.
- Non creare due oggetti (tabelle, schemi o colonne) con lo stesso nome, anche se si utilizzano identificatori delimitati e maiuscole e minuscole. Ad esempio, non è possibile avere una tabella t1 e un'altra tabella denominata T1. Questi nomi sono considerati nomi duplicati nell'archivio oggetti (Hive). Per ulteriori informazioni, vedi Identificativi.
- Db2 supporta una gamma più ampia di identificativi delimitati validi rispetto a Hive . Alcuni nomi di identificativi specificati quando si creano tabelle virtualizzate nell'archivio oggetti potrebbero essere modificati prima di essere accettati nel catalogo Hive . L'associazione viene eseguita automaticamente. Per ulteriori informazioni, vedi Identificativi.
- Quando vengono aggiunti nuovi dati al percorso file per una tabella virtualizzata, eseguire il seguente comando per assicurarsi che la cache dei metadati sia aggiornata per vedere i nuovi dati.
CALL SYSHADOOP.HCAT_CACHE_SYNC(<schema>, <object>)
Per ulteriori informazioni, consultare la procedura memorizzata HCAT_CACHE_SYNC.
- Quando le nuove partizioni vengono aggiunte al percorso file per la tabella virtualizzata, fare clic su Aggiorna partizioni nel menu di overflow nella pagina Dati virtualizzati per identificare nuove partizioni.
È inoltre possibile eseguire il seguente comando nell'interfaccia SQL per identificare le nuove partizioni che sono state aggiunte.
MSCK REPAIR TABLE <table-name>
Per ulteriori informazioni, consultare MSCK REPAIR TABLE.
- Evitare di utilizzare caratteri alfanumerici nei nomi delle colonne in quanto potrebbero interferire con la compatibilità Hive . Qualsiasi carattere che non sia un carattere alfanumerico o il carattere di sottolineatura viene codificato come _xNNNN, dove _xNNNN è il valore esadecimale del carattere. Se si desidera visualizzare correttamente i nomi colonna, abilitare l'opzione
- Ottimizzazione delle prestazioni delle query
- Utilizzare un formato file compatto come ORC o Parchetto per ridurre al minimo il traffico di rete, migliorando le prestazioni delle query.
- Non utilizzare il tipo di dati STRING o TEXT. Utilizzare il tipo di dati VARCHAR (n), con n impostato su un valore appropriato per i dati della colonna. Utilizzare il seguente comando per modificare la tabella per definire una lunghezza appropriata per la colonna.
ALTER TABLE <schema>.<table> ALTER COLUMN <col> SET DATA TYPE VARCHAR(<size>)
- Partizionare i dati utilizzando il partizionamento in stile Hive . I dati partizionati sono raggruppati da un attributo comune. La Data Virtualization può utilizzare le partizioni per ridurre la quantità di dati che le query devono elaborare. La query dell'intero dataset potrebbe non essere possibile o addirittura necessaria. È possibile utilizzare i predicati nelle query che includono le colonne di partizionamento per migliorare le prestazioni.
Ad esempio, una tabella school_records partizionata su una colonna anno, separa i valori per anno in percorsi file separati. Una condizione
WHERE
comeYEAR=1993
,YEAR IN (1996,1995)
oYEAR BETWEEN 1992 AND 1996
esegue la scansione solo dei dati nel percorso file appropriato per risolvere la query. - Definire in modo accurato i tipi di colonna partizionati. Per impostazione predefinita, le colonne di caratteri partizionati vengono considerate di tipo STRING, che non è consigliato. Ridefinire le colonne partizionate in un tipo di dati appropriato.
- Raccogliere statistiche sui dati sottoposti a query. Data Virtualization utilizza il comando 'ANALYZE per raccogliere statistiche sulle tabelle virtualizzate su storage a oggetti. È possibile raccogliere le statistiche nel client Web o utilizzando SQL. Per ulteriori informazioni, vedere Raccolta di statistiche in Data Virtualization.
Limitazioni
- Nella Data Virtualization è supportata solo la codifica dei caratteri UTF-8 per i file di testo in formato CSV, TSV o JSON. I formati binari Cloud Object Storage come ORC o PARQUET non vengono influenzati perché codificano in modo trasparente i tipi di carattere.
- La Data Virtualization non supporta il tipo di dati TIME in una tabella virtualizzata sull'archiviazione a oggetti.
- L'anteprima degli asset in Cloud Object Storage mostra solo le prime 200 colonne della tabella.
- Prima di rimuovere una connessione a Cloud Object Storage, è necessario rimuovere tutte le tabelle virtualizzate nella connessione di archiviazione oggetti. Se una connessione viene rimossa e si tenta di rimuovere una tabella in tale connessione, viene visualizzato un errore. Consultare Messaggio di errore delle credenziali quando si rimuove una tabella virtualizzata nell'archivio oggetti.
- Se il bucket non è specificato nelle proprietà di connessione, la connessione è globale. In questo caso, includere il nome bucket nel percorso file. È possibile specificare fino a una connessione globale in un'istanza di Data Virtualization.
Vedere anche Limitazioni
nell' istruzione CREATE TABLE (HADOOP).