如何在SQL中查询线程

时间:2018-03-24 23:00:30

标签: sql twitter

Twitter上的主题包含在链中相互连接的推文,其中推文是通过其id从另一条推文中指向的。 E.g

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

是否可以使用一个SQL查询获取线程?如果不是,Twitter如何做到这一点?或者他们存储的推文与他们从API中检索的方式不同?

1 个答案:

答案 0 :(得分:1)

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

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

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