Problema relacionado con el esquema de la base de datos

Tengo una especie de pregunta teórica sobre bases de datos. Para hacerlo más concreto, he pensado en un caso de ejemplo.

Supongamos que tengo una tienda con productos. Tengo muchos productos diferentes. No todos los productos tienen las mismas propiedades aplicables. Por ejemplo, podría definir el tamaño de un disco duro en gigabytes, pero no puedo usar esa misma propiedad en una CPU, simplemente porque no se aplica. Lo que quiero es una base de datos donde pueda agregar propiedades a los productos dinámicamente. Lo único que se me ocurre es lo siguiente:

Una tabla de productos con un ID, un Nombre y una Descripción.

Una tabla de propiedades con un ID, Product_ID, Propiedad y un Valor.

De esta manera, potencialmente obtendría una tabla de propiedades gigantesca, supongo que no tan eficiente. Esto me ha estado molestando durante mucho tiempo. ¿Alguien sabe una mejor solución a mi problema?

Respuestas a la pregunta(2)

Su respuesta a la pregunta