My application allows users to add tags to an image (similar to facebook). Each tag can consist of up to 8 attributes and there is currently no limit on the amount of tags a user can add.
At the moment, tag information is stored across 3 post meta key/value pairs. Each post meta value is serialized before storing.
We're approaching a rewrite of this functionality and I wanted to ask for some advice on the best approach to storing tag data.
IMO there are two approaches:
post meta key/value for each tag/attribute (this has the potential to create a huge dataset -
ntags times 8 attributes)
A new table just for tags
Both approaches would avoid storing serialized data, which I think is what I need to achieve.
Which is the better approach?
Is a third option possibly even more feasible?