【问题标题】:what data storage model is used to store articles in wikipedia什么数据存储模型用于存储维基百科中的文章
【发布时间】:2011-09-11 15:39:47
【问题描述】:

维基百科中的文章被编辑。它们可以增长/缩小/更新等。下面使用什么文件系统/数据库存储布局等来支持它。在数据库课程中,我读过一些关于可变长度记录的内容,但这似乎更多的是用于小字符串而不是整个文档。就像在文件系统中一样,文件可以增长/缩小等,我认为它是通过将块链接在一起来完成的。每次,我们更新一个文件,而不是重写整个文件。也许在这里会做类似的事情。

我正在寻找特定的名称、术语,甚至可能是 mysql 中的模式是如何定义的。 (我认为维基百科使用 mysql)。

以下是一些关于维基百科架构的文章的链接,但我无法从这些文章中回答我的问题:

http://swe.web.cs.unibo.it/twiki/pub/WikiFactory/AntonelloDiMuroThesis/Wikipedia-cheapandexplosivescalingwithLAMP.pdf

http://dom.as/uc/workbook2007.pdf

谢谢,

【问题讨论】:

    标签: mysql database data-structures storage wikipedia


    【解决方案1】:

    【讨论】:

    • 好的,text 表:old_id:(integer 8), old_text(mediumblob),old_flags (tinyblob) 是否包含文章的文本?什么是mediumblob?和mysql有关吗?
    • 好的,只要在互联网上阅读什么是 mediumblob。也许这对我的问题有线索。不过这让我很好奇,mysql内部是如何实现mediumblob的?它如何处理中间某处的文章编辑等。有什么指针吗?
    • Blob 是二进制字符串。我猜想它们在这里和那里被用来代替文本字段,因为数据库中可能有多个字符集。这样,每个人都(不)快乐。最重要的表格according to the docs 是页面、修订、页面链接和文本。
    • @p2pnode 有关编辑的信息不会存储在那里,它会成为修订和文本表中的新行。该结构在mediawiki.org/wiki/Manual:Page_table 中有更多解释。页表存储有关页面的信息,修订存储有关各种修订或“编辑”的信息,实际页面文本存储在文本页面中。为每个修订版存储整个页面文本,即使它是“中间的编辑”,您也可以使用一些外部差异工具或代码来可视化各个修订版之间已更改/编辑的内容,这不是 mysql 关心的问题。
    猜你喜欢
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    • 1970-01-01
    • 2018-03-22
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    相关资源
    最近更新 更多