я делал с тремя таблицами
1. В одной таблице хранил объекты каталога
2. Для связи ид объекта, ид свойства, значение свойства
3. ид свойства, название свойства
ну и выборку можно сделать так по любому количеству свойств и там же узнать количество товаров… mysql да и только… с большими объмами будет работать отлично