【问题标题】:How to query a thread in SQL如何在 SQL 中查询线程
【发布时间】:2018-03-25 07:35:22
【问题描述】:

Twitter 上的线程由一条链中相互连接的推文组成,其中一条推文通过其 ID 指向另一条推文。例如

id   text            in_reply_to_status_id
------------------------------------------
1    Hello world     null
2    Hello Twitter   1
3    Hello TL        2

是否可以通过一个 SQL 查询获取线程?如果没有,Twitter 是如何做到的?还是他们存储推文的方式与从 API 中检索推文的方式不同?

【问题讨论】:

    标签: sql twitter


    【解决方案1】:

    根据您使用的数据库,您可以使用CONNECT BY 子句自动解开这些推文的递归层次结构。

    Twitter 是如何做到的,这是一个不同的问题,为了向用户快速提供数据,Twitter 不是从 SQL 数据库中为他们提供服务,而是从 NoSQL 缓存中提供服务,例如 Redis(及其变体)和 Twemcache。您可以从文章The Infrastructure Behind Twitter: Scale 开始阅读相关内容,缓存部分就是您要查找的部分。

    这肯定是一个非常有趣的话题,但也非常广泛,尝试了解 Twitter 的工作原理是一个很好的起点。这对我来说也是如此,老实说,我不是这些技术的专家,你的问题让我想到了一些我想读的东西,所以谢谢你的提问。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-21
      • 1970-01-01
      • 1970-01-01
      • 2019-09-22
      • 2014-11-16
      • 2021-12-08
      • 2011-07-18
      相关资源
      最近更新 更多