Perguntas frequentes: O MongoDB connector para BI
Nesta página
- Existe uma versão hospedada na cloud do BI Connector?
- Como faço para me autenticar com o BI Connector?
- Ao atualizar o MongoDB, que considerações devem ser feitas para o BI Connector?
- O BI Connector armazena quaisquer dados?
- Como as query são processadas?
- Como faço para ignorar dados incompatíveis com minha definição de tipo de DRDL?
- Posso usar visualizações MongoDB com o BI Connector?
- Existe alguma ferramenta de validação de sintaxe para DRDL?
- Como o BI Connector processa datas?
- Como uso TLS/SSL com o BI Connector?
- Posso utilizar a função SQL
EXPLAIN
?
Existe uma versão hospedada na cloud do BI Connector?
Você pode hospedar o MongoDB connector para Business Intelligence no MongoDB Atlas. Para saber como ativar e se conectar a um Atlashospedado no BI Connector,consulte Conectar via BI Connector para Atlas.
Como faço para me autenticar com o BI Connector?
Alterado na versão 2.0: Antes da versão 2.0, o BI Connector armazenava seu próprio conjunto separado de credenciais.
Se você estiver usando uma versão mais antiga do MongoDB Connector for BI, deverá atualizar para 2.0 seguindo as etapas em Instalar o BI Connector On Premises.
Ao se conectar a uma implementação do MongoDB usando autenticação, você pode autenticar como os usuários e as funções configurados nessa implementação.
Consulte Autenticação para obter detalhes sobre como especificar a fonte e o mecanismo de autenticação.
Ao atualizar o MongoDB, que considerações devem ser feitas para o BI Connector?
Antes de atualizar a implementação do MongoDB, defina a opção --mongo-versionCompatibility
para a série de versões principais do MongoDB instalada atualmente, por exemplo 3.4
. Quando a atualização for concluída, reinicie mongosqld
sem a opção --mongo-versionCompatibility
ou defina-a para a série de versões principais recém-atualizada.
Observação
Se você iniciar o BI Connector com um arquivo de esquema DRDL, deverá atualizar seu arquivo de esquema após a atualização se começar a usar um tipo deBSON recém-introduzido.
MongoDB 3.4 introduz o tipo BSON decimal. Quando você atualiza do MongoDB 3.2 para o MongoDB 3.4 e seu arquivo de esquema contém valores float64
(que mapeiam para o tipo double
no MongoDB), você deve atualizar seu arquivo DRDL depois de começar a usar o novo decimal
tipo.
O BI Connector armazena quaisquer dados?
A instância do connector BI transforma apenas queries SQL em queries MongoDB. Ele não armazena nenhum dado.
Ao iniciar o mongosqld
, você fornece um arquivo DRDL descrevendo o esquema dos seus dados.
Como as query são processadas?
O BI Connector constrói expressões de aggregation .
mongosqld
sempre habilita a opção agregar allowDiskUse
.
O BI Connector não pode mapear algumas construções SQL suportadas em um equivalente de agregação. Nesse caso, o BI Connector executará essas construções na memória.
Como faço para ignorar dados incompatíveis com minha definição de tipo de DRDL?
Usando visualizações do MongoDB
O MongoDB 3.4 introduz visualizações somente leitura que você pode usar para filtrar dados incompatíveis.
Por exemplo, você pode criar uma view no reconhecimento de data center test
que contém apenas documento que contêm um número no campo grade
de uma collection grades
:
db.runCommand( { create: "numericGrades", viewOn: "grades", pipeline: [ { "$match": { "grade": { "$type": "number" } } } ] } )
Você pode então usar mongodrdl
para gerar um esquema a partir dessa visualização como faria com uma collection:
mongodrdl -d test -c numericGrades
Usando um filtro DRDL
Se os documentos em uma coleção contiverem diferentes tipos de dados para um campo, você poderá filtrar para um tipo de dados específico. Para fazer isso, você pode incluir um estágio $match
no início do pipeline em sua definição de tabela DRDL .
Por exemplo, para corresponder apenas a documentos que contêm um número no campo grade
, use o seguinte estágio de pipeline:
"$match": { "grade": { "$type": "number" } }
Se você for unwinding
um campo de array que contém diferentes tipos de dados, para filtrar a array para um tipo de dados específico, coloque o estágio $match
após o $unwind
.
Posso usar visualizações MongoDB com o BI Connector?
Sim. BI Connector trata uma visualização como qualquer outra collection. Para obter mais informações sobre como usar visualizações com o BI Connector, consulte Gerenciando esquema com visualizações MongoDB.
Existe alguma ferramenta de validação de sintaxe para DRDL?
Os arquivosDRDL usam o YAML sintaxe. Qualquer validador YAML, como https://yaml-online-parser.appspot.com/ pode ajudá-lo a verificar seus arquivos DRDL.
Como o BI Connector processa datas?
O BI Connector processará corretamente os dados de dataBSON mapeando-os para o tipo SQL datetime
. Por exemplo:
db.data.save({ date: new Date() })
Se você armazenar dados de data como uma string, o BI Connector os tratará como uma string em vez de uma data. Por exemplo, o BI Connector trata o seguinte como uma string:
db.data.save({ date: '32-FEB-2015' })
Como uso TLS/SSL com o BI Connector?
A conexão entre mongosqld
e sua implantação do MongoDB tem TLS/SSL configurado separadamente da conexão entre seu cliente SQL e mongosqld
.
Conectando mongosqld
ao MongoDB
Se a instância do MongoDB à qual você está se conectando usar TLS/SSL, forneça a opção --mongo-ssl
para mongosqld
.
Por exemplo:
mongosqld --schema=schema.drdl --mongo-ssl
Para especificar um certificado raiz TLS/SSL CA, use a opção --mongo-sslCAFile
. Para especificar um certificado de cliente, utilize a opção --mongo-sslPEMKeyFile
. Por exemplo:
mongosqld --schema=schema.drdl \ --mongo-ssl \ --mongo-sslCAFile=/certs/ca.pem \ --mongo-sslPEMKeyFile=/certs/mongodb_client.pem
Conectando um cliente a mongosqld
Para especificar um certificado raiz TLS/SSL CA, use a opção --sslCAFile
. Para especificar um certificado de cliente, utilize a opção --sslPEMKeyFile
. Por exemplo:
mongosqld --schema=schema.drdl \ --sslCAFile=/certs/ca.pem \ --sslPEMKeyFile=/certs/mongosql_server.pem
Posso usar a EXPLAIN
funçãoSQL?
Se você estiver usando um cliente SQL que permite emitir instruções SQL diretamente, como o shell MySQL, poderá preceder qualquer query com EXPLAIN
para obter informações sobre como a query será executada. EXPLAIN
retorna a operação de agregação completa que o BI Connector enviará para MongoDB, sem executar a consulta ou retornar quaisquer resultados. EXPLAIN
é útil se você quiser saber exatamente como uma query SQL específica se traduz na linguagem de query do MongoDB.