问题
How do websites like Digg, Del.icio.us, and StackOverflow implement tagging?
I know this other question has an accepted answer of a many-to-many relation with a cross ref table. But how do the "big boys" do it? The same way? How is it scaling?
回答1:
Here is the oft-quoted article which breaks down tagging schemas by real performance metrics: http://tagging.pui.ch/post/37027746608/tagsystems-performance-tests
The author notes that the founder of delicious explains using an RDBMS for tagging simply does not scale to many millions of items under load. An alternative like Lucene may fit better in such a case.
回答2:
I am sure that the additional JOIN queries would be too expensive in a very large system.
The tags are either stored non-normalised in the main table, or there may be a separate tag table which has a row for each tagged item.
来源:https://stackoverflow.com/questions/551453/scaling-web-applications-and-tagging-digg-del-icio-us-stackoverflow