Fontes de dados compatíveis com a Data Virtualization
Data Virtualization oferece suporte às seguintes fontes de dados relacionais e não relacionais em ' IBM Cloud Pak for Data as a Service.
Você não pode se conectar a uma fonte de dados como uma conexão a uma conexão de Plataforma Existente se a conexão da Plataforma utilizar a integração Cloud, Secure Gatewayou Satellite Link. Esses recursos não são compatíveis com a Data Virtualization quando você se conecta às conexões da plataforma. Você vê uma mensagem de erro que é semelhante aCannot reach the network destination of the data source. Você pode configurar a fonte de dados usando a integração com a nuvem, o Secure Gateway ou o Satellite Link e fornecer o nome do host ou o ponto de extremidade de IP diretamente à Data Virtualization como uma nova conexão.
- Limites de tamanho
- Data Virtualization oferece suporte à virtualização de tabelas com um tamanho de linha de até 1 MB e até 2048 colunas em uma tabela. No entanto, o número de colunas que Data Virtualization pode visualizar depende de muitos fatores, como os tipos de dados das colunas. Atualmente, a visualização é limitada a 200 colunas.
- Atributos de comentário
- Quando tabelas virtuais são criadas, Data Virtualization não inclui atributos de comentários que foram atribuídos a objetos de fonte de dados. Essa limitação aplica-se a todas as origens de dados.
- Tipos de dados
- Alguns tipos de dados em sua fonte de dados podem não ser compatíveis com a Data Virtualization. Essas limitações estão documentadas nas tabelas a seguir. Data Virtualization também pode mapear alguns tipos de dados em sua fonte de dados para tipos de dados alternativos. Esses mapeamentos são baseados nos mapeamentos subjacentes do Db2® Big SQL . Para obter mais informações, consulte Tipos de dados no Db2 Big SQL.
Origens de dados da IBM
A tabela a seguir lista as fontes de dados IBM® às quais você pode se conectar a partir da Data Virtualization.
| Conector | Limitações | Mais informações |
|---|---|---|
| IBM Cloud Databases for MongoDB | O IBM Cloud Databases for MongoDB está disponível como beta. Os seguintes tipos de dados ' MongoDB são compatíveis com a Data Virtualization: INT32, INT64, DOUBLE, STRING, BOOLEAN, DATE e BINARY. |
|
| IBM Cloud Databases for MySQL | ||
| IBM Cloud Bancos de Dados para PostgreSQL | Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
|
| IBM Cloud Object Storage | Essa conexão requer consideração especial na Data Virtualization. Consulte Conexão com o IBM Cloud Object Storage na Data Virtualization. Para obter limitações, consulte Fontes de dados em armazenamento de objetos na Data Virtualization. |
|
| IBM Data Virtualization Manager for z/OS | Não será possível se conectar ao Data Virtualization Manager for z/OS se a conexão usar a integração de nuvem, Secure Gatewayou Satellite Link. Esses recursos não são compatíveis com a Data Virtualization. Você verá uma mensagem de erro que é semelhante aCannot reach the network destination of the data source. | Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
| IBM Db2 |
|
Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
| IBM Db2 Big SQL | Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
|
| IBM Db2 for i | Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
|
| IBM Db2 for z/OS | ||
| IBM Db2 on Cloud | Os tipos NCHAR e NVARCHAR não são compatíveis com a Data Virtualization. | |
| IBM Db2 Warehouse | ||
| IBM Informix® | Os tipos de dados INTERVAL, BIGINT e BIGSERIAL não são compatíveis com a Data Virtualization. Para obter mais informações, consulte Ocorrem exceções ao usar o driver do Connect for JDBC Informix. | |
| IBM Netezza Performance Server |
|
Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
| IBM Planning Analytics |
|
|
| IBM Data Virtualization | Importante: Não crie uma conexão com sua instância de Data Virtualization.
|
Origens de dados de terceiros
A tabela a seguir lista as fontes de dados de terceiros às quais você pode se conectar a partir da Data Virtualization.
| Conector | Limitações | Mais informações |
|---|---|---|
| Amazon RDS for MySQL |
|
Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
| Amazon RDS for Oracle |
|
Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
| Amazon RDS for PostgreSQL | Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
|
| Amazon Redshift | Os tipos de dados SPATIAL, SKETCH e SUPER são convertidos para CLOB em Data Virtualization. | Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
| Amazon S3 | Essa conexão requer consideração especial na Data Virtualization. Consulte Conexão com Amazon S3 em Data Virtualization.
|
|
| Apache Derby | Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
|
| Apache Hive |
|
Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
| Ceph | Essa conexão requer consideração especial na Data Virtualization. Consulte Conexão com o Ceph em Data Virtualization. Para obter limitações, consulte Fontes de dados no armazenamento de objetos em Data Virtualization. |
|
| Apache Impala | Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
|
| S3 genérico | Para obter limitações, consulte Fontes de dados no armazenamento de objetos em Data Virtualization. |
|
| Google BigQuery | Essa conexão requer consideração especial na Data Virtualization. Consulte Conexão com Google BigQuery em Data Virtualization.
|
Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
| Greenplum | Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
|
| MariaDB |
|
Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
| Microsoft Azure Data Lake Storage Gen2 | ||
| Microsoft Azure SQL Database | ||
| Microsoft SQL Server |
|
Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
| MongoDB |
|
|
| MySQL (My SQL Community Edition) (My SQL Enterprise Edition) |
|
Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
| Oracle |
|
Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
| PostgreSQL | Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
|
| Presto | Se você precisar de conexões duplicadas, a melhor prática é criá-las primeiro no Platform Connections e depois importá-las para o Data Virtualization. Se você seguir esse método, poderá restaurar quaisquer conexões duplicadas que possam ser removidas do Data Virtualization no futuro. As tabelas virtuais antigas que estão vinculadas a essas conexões também são restauradas. No entanto, considere limitar o uso de conexões duplicadas, pois elas exigem mais gerenciamento e podem afetar o desempenho da consulta. Se você criar uma conexão duplicada diretamente no Data Virtualization cliente Web ou usando a API SETRDBCX , não será possível restaurar a conexão ou as tabelas virtuais vinculadas se elas forem removidas. |
Um catálogo padrão é selecionado para você quando cria conexões com Presto. Além disso, é possível acessar objetos virtualizados em um catálogo Presto diferente sem voltar para esse catálogo. |
| API de REST | Essa conexão requer consideração especial em Data Virtualization. Consulte Conexão com a API REST em Data Virtualization. | Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
| Salesforce.com | Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
|
| SAP ASE | ||
| SAP OData | Não é possível visualizar ou consultar tabelas não legíveis devido aos motivos a seguir:
|
|
| Snowflake | Essa conexão requer consideração especial na Data Virtualization. Consulte Conectando-se a Snowflake em Data Virtualization.
|
Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
| Spark SQL | Essa conexão requer consideração especial em Data Virtualization. Consulte “Conectando-se ao Spark SQL ”. |
Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
| Teradata Teradata JDBC Driver Copyright (C) 2024 por. 17.00 Teradata Todos os direitos reservados. IBM fornece o uso incorporado do driver Teradata JDBC sob licença de Teradata exclusivamente para uso como parte da oferta de serviços IBM Watson®. |
|
Esta conexão é otimizada para tirar proveito dos recursos de consulta nesta fonte de dados. |
Fontes de dados em armazenamento de objetos na Data Virtualization
Você pode usar dados armazenados como arquivos nas fontes de dados IBM Cloud Object Storage, Amazon S3, Ceph ou MinIO para criar tabelas virtuais. Para acessar dados colocados no armazenamento de objeto de nuvem, deve-se criar uma conexão com a origem de dados na qual os arquivos estão localizados.
É possível segmentar ou combinar dados de um ou mais arquivos para criar uma tabela virtual. O acesso a arquivos no armazenamento de objetos Data Virtualization é baseado em Db2 Big SQL recursos que utilizam o suporte a tabelas externas do Datalake. Para obter mais informações, consulte a instrução CREATE DATALAKE TABLE.
Terminologia
- Um depósito é uma abstração lógica usada para fornecer um contêiner para dados. Não há conceito de pasta no Object Storage; somente depósitos e chaves. Buckets podem ser criados apenas na interface da origem de dados de armazenamento de objeto Eles não podem ser criados na Data Virtualization. Os nomes dos buckets devem ser exclusivos e obedecer às regras do provedor de armazenamento de objetos. Essas regras geralmente incluem restringir o nome a 3 a 63 caracteres com letras minúsculas, números e traços. Os depósitos devem receber nomes que comecem e terminem com uma letra minúscula ou com um número. Quando Data Virtualization de dados acessa dados no armazenamento de objetos, o nome do bucket deve ser exclusivo em todas as conexões de armazenamento de objetos.
- Um caminho de arquivo é o caminho completo para o arquivo em que você deseja armazenar dados. A implementação do sistema de arquivos S3 permite que arquivos de comprimento zero sejam tratados como diretórios e que nomes de arquivo que contêm uma barra (/) sejam tratados como diretórios aninhados. O caminho de arquivo inclui o nome do depósito, um caminho de arquivo opcional e um nome de arquivo. No Object Storage, o caminho de arquivo é usado quando uma tabela é criada. Todos os arquivos em um mesmo caminho contribuem para os dados da tabela. É possível incluir mais dados incluindo outro arquivo no caminho de arquivo.
- Uma partição são dados agrupados por um atributo comum no esquema. O particionamento divide os dados em vários caminhos de arquivo, que são tratados como diretórios Data Virtualization pode descobrir e usar partições para reduzir a quantidade de dados que as consultas devem processar, o que pode melhorar o desempenho das consultas que usam predicados nas colunas de particionamento.
Melhores práticas
- Formatos de arquivos
- Data Virtualization suporta os formatos de arquivo PARQUET (ou PARQUETFILE), ORC (linhas e colunas otimizadas), CSV (valores separados por vírgula), TSV (valores separados por tabulação) e JSON. Nenhum outro formato de arquivo é suportado.Observação : Data Virtualization virtualize os arquivos de dados com base em sua estrutura de pastas ou hierarquia. Você deve garantir que todos os seus arquivos de dados dentro da pasta ou hierarquia sejam do mesmo tipo de dados e sigam o mesmo formato.
- Para PARQUET (ou PARQUETFILE), extensões de arquivo não são necessárias. Os metadados são extraídos do arquivo de dados.
- Para ORC, extensões de arquivo não são necessárias. Os metadados são extraídos do arquivo de dados.
- Para arquivos do tipo ` CSV ` e `TSV`:
- A extensão do arquivo .csv ou .tsv apropriada é necessária, conforme a seguir:
- CSV : A .csv extensão do arquivo é obrigatória e o conteúdo do arquivo deve seguir as especificações para valores separados por vírgulas.
- TSV: A extensão do arquivo .tsv é necessária e o conteúdo do arquivo deve seguir as especificações para valores separados por guias.
- É possível usar um parâmetro opcional para especificar um caractere delimitador de cadeia de caracteres (
quoteChar) que envolve os valores dos campos em arquivos do tipo ` CSV ` e `TSV`.- O desempenho de consulta dos dados poderá ser impactada negativamente se
quoteCharfor especificado - O valor padrão é sem delimitador (não especificado).
- O valor para
quoteChardeve ser um caractere único que não pode ser um espaço (em branco), barra invertida, tabulação, vírgula ou caractere de nova linha (\n). - Se o valor de sequência contiver o delimitador de sequência (
quoteChar), a barra invertida (\) poderá ser usada para escapar o delimitador de sequência.
- O desempenho de consulta dos dados poderá ser impactada negativamente se
- A extensão do arquivo .csv ou .tsv apropriada é necessária, conforme a seguir:
- Para arquivos JSON, a extensão de arquivo .json é necessária. Os arquivos JSON devem ser codificados para que cada linha seja um objeto JSON válido. As linhas devem ser separadas por um caractere de nova linha (
\n). O formato de texto JSON Lines, também chamado de JSON delimitado por nova linha, é o único formato JSON suportado. Esse formato armazena dados estruturados que podem ser processados um registro de cada vez.
Observação: Todos os outros formatos de arquivo retornam um erro. Para obter mais informações, consulte a mensagem de erro exibida ao tentar usar um formato de arquivo não compatível em Cloud Object Storage. - Organizando dados
- Evite usar caracteres alfanuméricos em nomes de colunas, pois isso pode interferir na compatibilidade do Hive . Qualquer caractere que não seja alfanumérico ou o caractere de sublinhado é codificado como _xNNNN, em que _xNNNN é o valor hexadecimal do caractere. Se desejar visualizar corretamente os nomes de coluna, ative a opção
allownonalphanumericconcluindo estas etapas:- Acesse o pod principal na instância de Data Virtualizationc-db2u-dv-db2u-0).
- Execute o comando a seguir para editar a configuração para incluir a opção
allownonalphanumeric:db2uctl adm bigsql config --key bigsql.catalog.identifier.mappingrules --value allownonalphanumeric,allowleadingdigits,allowreservedwords - Execute o comando a seguir para reiniciar Big SQL:
su - db2inst1 bigsql stop ; bigsql start
- Se seus dados de armazenamento de objeto forem acessados por meio de uma tabela virtualizada, os arquivos que você deseja virtualizar deverão estar em um único caminho de arquivo e em um único depósito e o depósito deverá incluir pelo menos um arquivo que você incluir no carrinho de compras. Todos os arquivos neste caminho de arquivo fazem parte de uma tabela virtualizada. Quando mais dados são incluídos na tabela (novos arquivos são criados no caminho de arquivo), os dados ficam visíveis ao acessar a tabela virtualizada. Todos os arquivos do caminho de arquivo devem utilizar o mesmo formato de arquivo para que sejam virtualizados como uma tabela.
- Para virtualizar os arquivos em vários caminhos de arquivo como uma tabela, é possível virtualizar o depósito que contém todos os arquivos. Por exemplo, se você tiver caminhos de arquivo A/B/C/T1a, A/B/C/T1b, A/B/D/T1c e A/B/D/T1d, será possível virtualizar o caminho de arquivo A/B/. Todos os arquivos desse caminho e caminhos aninhados serão parte do objeto acessível.
- Não crie dois objetos (tabelas, esquemas ou colunas) com o mesmo nome, mesmo se você usar identificadores delimitados e letras maiúsculas e minúsculas. Por exemplo, não é possível ter uma tabela t1 e outra tabela denominada T1. Esses nomes são considerados nomes duplicados no Object Storage (Hive). Para obter mais informações, consulte Identificadores.
- Db2 suporta um intervalo mais amplo de identificadores delimitados válidos do que Hive suporta. Alguns nomes de identificadores que são especificados quando você cria tabelas virtualizadas no armazenamento de objeto podem ser ajustados antes que possam ser aceitos no catálogo do Hive . O mapeamento é feito automaticamente. Para obter mais informações, consulte Identificadores.
- Quando novos dados forem incluídos no caminho de arquivo para uma tabela virtualizada, considere executar o seguinte comando para assegurar que o cache de metadados seja atualizado para ver os novos dados.
CALL SYSHADOOP.HCAT_CACHE_SYNC(<schema>, <object>)Para obter mais informações, consulte o procedimento armazenado HCAT_CACHE_SYNC.
- Quando novas partições forem incluídas no caminho de arquivo para a tabela virtualizada, clique em Atualizar partições no menu overflow na página Dados virtualizados para identificar novas partições
Também é possível executar o comando a seguir na interface SQL para identificar as novas partições incluídas.
MSCK REPAIR TABLE <table-name>Para obter mais informações, consulte MSCK REPAIR TABLE.
- Evite usar caracteres alfanuméricos em nomes de colunas, pois isso pode interferir na compatibilidade do Hive . Qualquer caractere que não seja alfanumérico ou o caractere de sublinhado é codificado como _xNNNN, em que _xNNNN é o valor hexadecimal do caractere. Se desejar visualizar corretamente os nomes de coluna, ative a opção
- Otimizando o desempenho de consulta
- Use um formato de arquivo compacto como ORC ou Parquet para minimizar o tráfego de rede, o que melhora o desempenho da consulta.
- Não utilize o tipo de dados STRING ou TEXT Utilize o tipo de dados VARCHAR(n), com n configurado para um valor que seja apropriado para os dados da coluna. Use o comando a seguir para alterar a tabela para definir um comprimento apropriado para a coluna:
ALTER TABLE <schema>.<table> ALTER COLUMN <col> SET DATA TYPE VARCHAR(<size>) - Particionar seus dados usando o particionamento de estilo Hive . Os dados particionados são agrupados por um atributo comum. Data Virtualization pode usar partições para reduzir a quantidade de dados que as consultas devem processar. A consulta do conjunto de dados inteiro pode não ser possível ou até mesmo necessária. É possível usar predicados em suas consultas que incluem colunas de particionamento para melhorar o desempenho.
Por exemplo, uma tabela school_records particionada em uma coluna de ano segrega valores por ano em caminhos de arquivo separados. Uma condição
WHEREcomoYEAR=1993,YEAR IN (1996,1995)ouYEAR BETWEEN 1992 AND 1996varre apenas os dados no caminho de arquivo apropriado para resolver a consulta.
- Defina os tipos de colunas particionadas com precisão Por padrão, as colunas de caracteres particionados são assumidas como tipo STRING, o que não é recomendado. Redefina as colunas particionadas para um tipo de dado apropriado
- Coletar estatísticas sobre os dados que estão sendo consultados. Data Virtualization usa o ANALYZE comando para coletar estatísticas sobre tabelas virtualizadas no armazenamento de objetos. É possível coletar estatísticas no Web client ou usando SQL.. Para obter mais informações, consulte a seção “Coleta de estatísticas” em Data Virtualization.
Limitações
- O site Data Virtualization suporta apenas a codificação de caracteres UTF-8 para arquivos de texto nos formatos CSV, TSV ou JSON. Os formatos binários do Cloud Object Storage, como ORC ou PARQUET, não são afetados, pois codificam os tipos de caracteres de forma transparente.
- Data Virtualization não é compatível com o tipo de dados TIME em uma tabela virtualizada sobre o armazenamento de objetos.
- A visualização de ativos no armazenamento de objeto de nuvem mostra apenas as primeiras 200 colunas da tabela
- Antes de remover uma conexão com o Cloud Object Storage, deve-se remover todas as tabelas virtualizadas na conexão de armazenamento de objeto Se uma conexão é removida e você tentar remover uma tabela nessa conexão, você vê um erro. Aparece uma mensagem de erro de credenciais ao remover uma tabela virtualizada no armazenamento de objetos.
- Se o depósito não for especificado nas propriedades da conexão, a conexão será global Nesse caso, inclua o nome do depósito no caminho do arquivo É possível especificar até uma conexão global em uma instância de Data Virtualization.
Veja também Restrições às tabelas de consulta materializadas e Restrições e limitações nas tabelas do Datalake.