类似Twitter的数据库表结构

时间:2015-12-08 20:35:16

标签: mysql twitter database-design tree database-schema

我正在尝试创建一个可以像Twitter一样使用的数据库。那就是:

  1. 树状结构:任何节点都可以有多个子节点。
  2. 所有节点都有时间戳
  3. 标准1和2建议基于基本列的表结构,如:

    NodeID        (int)
    ParentNodeID  (int)
    UserID        (int)
    TS            (TimeStamp)
    MSG           (varchar)
    

    当查看任何节点( n )时,应选择所有父节点,直到包括root,这很容易使用 ParentNodeID 指针。

    需要注意的是:除父节点外,还应按时间顺序(基于TS)选择当前节点( n )的所有子节点从表中。所有子节点,无论是哪个子分支,都属于子树,其中( n )是根。

    如何为这些查询构建最佳(更好)的表格?

1 个答案:

答案 0 :(得分:0)

你应该看看Twitter是如何发展的,并检查你的用例是否足够相似。

这篇文章的一个好的开头可能是数据库模式示例:https://web.archive.org/web/20161224194257/http://www.cubrid.org/blog/dev-platform/decomposing-twitter-database-perspective/