Entry with many fields vs plugin/custom data structure
Since the data will be imported programmatically, my vote would be to write a plugin that manages these products as a custom thing. There will definitely be a performance benefit to giving your products their own DB table that’s perfectly suited for them, and it doesn’t sound like you’ll be missing any of the features you’d get by having these be actual entries.