Big Objects in Salesforce are definitely not thought to be useful for real-time transactions. As seen on Trailhead, it was created to tackle a few specific scenarios, like 360° View of the Customer, Auditing and Historical Archive.
If you have 47 million records to load into Salesforce, you have to conduct an analysis and check if you really need all of them on the platform, or if you can export most of them to an external database. The reason for dealing with records outside of the platform is mostly because of the cost. Salesforce storage is really expensive.
With this in mind, I'm not saying that Big Objects cannot be used in real-time situations, but they are handled in a different way and have their own considerations (they don't support triggers, for example). In your situation they might not be useful at all, since you can archive your data in an external database.