¿Existe una versión del BI Connector alojada en la nube?
Puede alojar el Conector MongoDB para Business Intelligence en MongoDB Atlas. Para saber cómo habilitar y conectarse a un Conector de BI alojado en Atlas, consulte Conectarse mediante el Conector de BI para Atlas.
¿Cómo me autentico con el BI Connector?
Cambiado en la versión 2.0: Antes de la versión 2.0, el Conector BI almacenaba su propio conjunto de credenciales por separado.
Si está utilizando una versión anterior del Conector MongoDB para BI, debe actualizar a 2.0 siguiendo los pasos que se indican en Instalar BI Connector en las instalaciones.
Al conectarse a una implementación de MongoDB utilizando autenticación, se puede autenticar como los usuarios y roles configurados en esa implementación.
Consulta Autenticación para obtener detalles sobre cómo especificar tu fuente y mecanismo de autenticación.
Al actualizar MongoDB, ¿qué consideraciones se deben tener en cuenta para el BI Connector?
Antes de actualizar su implementación de MongoDB, establece el
--mongo-versionCompatibility opción para la versión principal serie de lanzamiento actualmente instalada de MongoDB, por ejemplo, 3.4. Una vez que la actualización se complete, reinicie mongosqld sin la opción --mongo-versionCompatibility o configúrela en la serie de versiones principales recién actualizadas.
Nota
Si lanzas el BI Connector con un archivo de esquema DRDL, es necesario actualizar el archivo de esquema tras la actualización si empiezas a utilizar un tipo BSONrecién introducido.
MongoDB 3.4 introduce el tipo BSON decimal. Cuando actualizas de MongoDB 3.2 a MongoDB 3.4 y tu archivo de esquema contiene valores float64 (que se asignan al tipo double en MongoDB), debes actualizar tu archivo DRDL después de comenzar a usar el nuevo tipo decimal.
¿El BI Connector almacena algún dato?
La instancia de BI Connector solo transforma queries SQL en queries de MongoDB. No almacena ningún dato por sí misma.
Al iniciar mongosqld, debe proporcionarle un archivo DRDL que describa el esquema de sus datos.
¿Cómo se procesan las consultas?
El BI Connector construye expresiones de agregación.
mongosqld siempre habilita la opción aggregate allowDiskUse.
El BI Connector no puede mapear algunas estructuras SQL admitidas en un equivalente de agregación. En este caso, el BI Connector ejecutará esas estructuras en memoria.
¿Cómo salto datos incompatibles con mi definición de tipo DRDL?
Usar Vistas de MongoDB
MongoDB 3.4 presenta vistas de solo lectura que puede utilizar para filtrar datos incompatibles.
Por ejemplo, puedes crear una vista en la base de datos test que contenga solo documentos que contengan un número en el campo grade de una colección grades:
db.runCommand( { create: "numericGrades", viewOn: "grades", pipeline: [ { "$match": { "grade": { "$type": "number" } } } ] } )
Luego puedes usar mongodrdl para generar un esquema a partir de esta vista como lo harías con una colección:
mongodrdl -d test -c numericGrades
Uso de un filtro DRDL
Si los documentos de una colección contienen diferentes tipos de datos para un campo, puede filtrar por un tipo de datos específico. Para ello, puede incluir una etapa al inicio $match del pipeline en la definición de la tabla DRDL.
Por ejemplo, para coincidir solo con documentos que contienen un número en el campo grade, utilice la siguiente etapa de la pipeline:
"$match": { "grade": { "$type": "number" } }
Si estás unwinding de un campo de arreglo que contiene diferentes tipos de datos, entonces para filtrar el arreglo por un tipo de dato específico, coloca la etapa $match después de la etapa $unwind.
¿Puedo usar vistas de MongoDB con BI Connector?
Sí. BI Connector trata una vista como cualquier otra colección. Para obtener más información sobre el uso de vistas con BI Connector, consulta Administración de esquemas con vistas de MongoDB.
¿Existe alguna herramienta de validación de sintaxis para DRDL?
Los archivos DRDL utilizan YAML sintaxis. Cualquier validador YAML como https://yaml-online-parser.appspot.com/ puede ayudarte a revisar tus archivos DRDL.
¿Cómo procesa el Conector BI las fechas?
El BI Connector procesará correctamente los datos de la fecha BSON al asignarlos al tipo de SQL datetime. Por ejemplo:
db.data.save({ date: new Date() })
Si se almacena la data de fecha como una string, BI Connector la tratará como una string en lugar de como una fecha. Por ejemplo, BI Connector trata lo siguiente como una string:
db.data.save({ date: '32-FEB-2015' })
¿Cómo debo usar TLS/SSL con el BI Connector?
La conexión entre mongosqld y tu implementación de MongoDB tiene configurado TLS/SSL por separado de la conexión entre tu cliente SQL y mongosqld.
Conectando mongosqld a MongoDB
Si la instancia de MongoDB a la que te conectas utiliza TLS/SSL, proporciona la opción --mongo-ssl al mongosqld.
Por ejemplo:
mongosqld --schema=schema.drdl --mongo-ssl
Para especificar un certificado raíz de CA TLS/SSL, use la opción --mongo-sslCAFile. Para especificar un certificado de cliente, utiliza la opción --mongo-sslPEMKeyFile. Por ejemplo:
mongosqld --schema=schema.drdl \ --mongo-ssl \ --mongo-sslCAFile=/certs/ca.pem \ --mongo-sslPEMKeyFile=/certs/mongodb_client.pem
Conectando un cliente a mongosqld
Para especificar un certificado raíz de CA TLS/SSL, use la opción --sslCAFile. Para especificar un certificado de cliente, utiliza la opción --sslPEMKeyFile. Por ejemplo:
mongosqld --schema=schema.drdl \ --sslCAFile=/certs/ca.pem \ --sslPEMKeyFile=/certs/mongosql_server.pem
¿Puedo usar la función SQL EXPLAIN?
Si estás utilizando un cliente SQL que te permite emitir instrucciones SQL directamente, como la shell de MySQL, puedes anteponer cualquier query con EXPLAIN para obtener información sobre cómo se ejecutará la query. EXPLAIN devuelve la operación completa de agregación que el BI Connector enviará a MongoDB, sin ejecutar la query ni devolver ningún resultado. EXPLAIN es útil si deseas saber exactamente cómo se traduce una consulta SQL específica al languaje del query de MongoDB.