I suggest you to read Defining website content structure. When you say product - it means eCommerce product? you want to sell it using ecommerce module? Do you want to have a hierarchy of documents, categories and linked documents? it really depends how many documents you want to have in the end. Can you flatten your structure?
It is recommended to use use custom tables for large data sets when using flat data structure.
Here is the documentation.