Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Preguntas frecuentes: El conector MongoDB para BI

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.

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.

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.

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.

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.

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

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.

Tip

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.

Los archivos DRDL utilizan YAML sintaxis. Cualquier validador YAML como https://yaml-online-parser.appspot.com/ puede ayudarte a revisar tus archivos DRDL.

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' })

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.

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

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

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.

Volver

Funciones y operadores SQL compatibles