什么标签模式是最有效率的?

http://tagging.pui.ch/post/37027745720/tags-database-schemas

到目前为止,Stackoverflow的标签处理是最好的。

有谁知道,如果这是一个模式模式,我可以从一些想法?

否则,我只是在寻找其他标签架构已经成功实施的build议。

这一切都取决于数据量和内容来标记分布和密度比率

如果您的标签分布和密度比较低(典型的人为生成的数据),您可以简单地为数据使用的每个可能的标签集合生成唯一的ID或散列。 将“标记集合”标识与每个数据实例与这些标记相关联

对于许多人类生成的数据来说,这可以令人惊讶地工作

例如,Stackoverflow有500,000个问题,和〜20,000个标签(太多的标签!)。 大多数问题less于5个标签。 在最糟糕的情况下,您将有50万个“标签收集”ID相关联,但更现实的是,您将拥有数千个ID

您也可能必须在“标记集合”集合上进行实例跟踪或垃圾回收,因为标记的特定组合不在使用中

例如

  • 标签:id,tagName
  • TagCollection:id,instanceCount
  • TagCollectionTag:tagCollectionIId,tagId
  • 数据:标识,标题,内容,tagCollectionId

如果使用散列(对集合的所有标记进行散列),插入标记的速度会很快。 否则,你必须searchTagCollection和TagCollectionTag集合,但是这不应该太大

search速度很快; searchTagCollectionTag以获取包含特定标记集的实例,然后使用这些tagCollectionId中的任意一个查找数据行

希望不是太混乱:-)

你可以从这开始: http : //tagging.pui.ch/post/37027746608/tagsystems-performance-tests

在这里提到: 扩展Web应用程序和标记 – Digg,Del.icio.us,StackOverflow