Как запросить поток в SQL

Темы в Twitter состоят из твитов, связанных друг с другом в цепочке, где на твит указывает другой твит по его идентификатору. Например

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

Можно ли получить поток с помощью одного SQL-запроса? Если нет, то как Twitter это делает? Или они хранят твиты иначе, чем они извлекаются из их API?

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
0
85
1

Ответы 1

В зависимости от используемой базы данных вы можете использовать предложение CONNECT BY для автоматического развертывания рекурсивной иерархии этих твитов.

Как Twitter это делает, это другой вопрос, чтобы быстро предоставлять данные пользователям, Twitter обслуживает их не из баз данных SQL, а из кешей NoSQL, таких как Redis (и его варианты) и Twemcache. Вы можете начать читать об этом из статьи Инфраструктура Twitter: масштаб, раздел кеша - это тот, который вы ищете.

Это, безусловно, очень интересная тема, но также очень широкая, попытка понять, как работает Twitter, является хорошей отправной точкой. Это верно и для меня, честно говоря, я не эксперт в этих технологиях, и ваш вопрос привел меня к нескольким вещам, которые я хочу прочитать, поэтому спасибо за вопрос.

Другие вопросы по теме