We are trying to decide between 2 different approaches for using Cube.js with MongoDB. The context is that we have analytics events data that lives in Snowflake and application data that lives in MongoDB. Data in each of these needs to be joined for the dashboards we are building. So it seems that we can either:
- Use the MongoDB Connector for BI directly from Cube. Cubes for application data come from MongoDB datasource. Cubes for analytics events come from Snowflake datasource.
- Send the MongoDB data to our Snowflake instance using an ETL (we have used Stitch for things like this in the past). All cubes come from Snowflake datasource.
Are there strong reasons to go with one approach or the other here? Originally I thought option 1 would be better since using MongoBI directory would be faster since we wouldn’t have to wait for the ETL from Mongo → Snowflake. But I’ve since learned that cross-datasource joins need to use rollupJoin with external pre-aggregations, which makes me think this might not be as big of an advantage as I thought.
Would appreciate any insight here. Thanks!