Hi There! I will try to give you some information so you are able to make the best decision based on your needs. It sounds like you are happy with Charts, but want to also use Tableau for a dashboard.
You are correct that you could extract data from MongoDB place it in another data store, like a data warehouse, then connect to Tableau. I would personally only go this route if you have the need to do this. Some organizations already have a data warehouse and it has some governance over it, so this makes sense that additional reporting data will land here. I have also seen data warehouses used (or I have created them) to bring together data from various places (beyond one database) for the purpose of organizing and serving up data for analysts to report from. There are a lot of great use cases for a data warehouse, but the set up and monitoring of the ETL can be a large feat.
Alternatively, if you don’t specifically have a use case or an existing scenario that requires a data warehouse, you can use the MongoDB BI Connector. The BI Connector works well with Tableau. If your use case is that you simply want to connect and build dashboards using your MongoDB Atlas data - this is probably the easiest and fastest method. Now, as you mentioned, there may be some performance impact to your cluster.
Here are some things you can make note of when investigating performance:
-
Upgrading the cluster to larger instances is better for performance
“The MongoDB Connector for Business Intelligence for Atlas (https://docs.mongodb.com/bi-connector/current/) is only available for M10 and larger clusters.
The BI Connector is a powerful tool which provides users SQL-based access to their MongoDB databases. As a result, the BI Connector performs operations which may be CPU and memory intensive. Given the limited hardware resources on M10 and M20 cluster tiers, you may experience performance degradation of the cluster when enabling the BI Connector. If this occurs, upgrade to an M30 or larger cluster or disable the BI Connector.”
-
Add an analytics node to the cluster and have the BIC read from that node
-
To mimic the performance of the BI Connector on your database, an equivalent test would be to repeatedly execute these queries with MQL aggregation pipeline. The BI connector shouldn’t put any locks on the database during the query.
I would think you would be fine using the BI Connector (though I might need to understand more of your needs) instead of a data warehouse. But I would highly suggest that you do some due diligence to test performance (as mentioned above).
To configure the BI Connector for Atlas you can reference this doc to enable and connect: https://docs.atlas.mongodb.com/bi-connection/#std-label-bi-connection
Let me know if you get stuck, or if you want to share more about your specific use case and I will be happy to help.
Best, Alexi Antonino