类似 Twitter 的数据库 table 结构

Twitter-like database table structure

我正在尝试创建一个可以像 Twitter 作品一样使用的数据库。即:

  1. 树结构:任何节点都可以有多个子节点。
  2. 所有节点都有时间戳

条件 1 和 2 建议 table 基于基本列的结构,例如:

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

查看任何节点 (n) 时,应选择直到并包括根的所有父节点,使用 ParentNodeID 指针很容易.

注意事项:除了父节点外,还应选择当前节点(n)中的所有子节点按时间顺序(基于 TS)来自 table。所有子节点,无论是什么子分支,都属于子树,其中 (n) 是根。

如何最好(更好地)构造此类查询的 table?

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

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