I don't think that's necessarily a bad solution! Saves the costs and complexity of moving data around.
One drawback is you're tightly coupling your data processes to the structure of that source database. That could prevent the source database evolving as often as it should, to meet new requirements or improve performance.
In fact, the ideal structure for performance depends on the usage patterns, and now you have two different usage patterns that structure needs to support.
So generally, I think you do need to create an abstraction between the source database - effectively an API, and with all the same benefits as an API.
That might require a bit of data movement. But, let's try to make that the last transform :)