V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
liudaqi
V2EX  ›  数据库

twitter 的数据结构是怎么设计的?别人删了主题,评论不会掉,微博被删,评论也都没了

  •  1
     
  •   liudaqi · 2019-10-20 11:38:46 +08:00 · 5021 次点击
    这是一个创建于 1846 天前的主题,其中的信息可能已经有所发展或是发生改变。
    为什么国内的应用好像都没有像推特这样的,主题和评论分开,不会被牵连。感觉这样很好啊,怎么国内应用一个都没有学的呢
    26 条回复    2019-10-21 09:04:08 +08:00
    jworg
        1
    jworg  
       2019-10-20 11:50:14 +08:00   ❤️ 1
    没接触过 web 前后端开发的表示,感觉应该是搞一个标记来决定内容是否显示,真正的东西应该不会删吧,这个主要看产品的业务逻辑吧,希望没猜错
    Macolor21
        2
    Macolor21  
       2019-10-20 11:52:27 +08:00
    像帐号的策略,不会物理删除,而是逻辑删除. 加一字段 is_delete
    ackfin01
        3
    ackfin01  
       2019-10-20 11:56:11 +08:00
    因为业务逻辑。
    Aruforce
        4
    Aruforce  
       2019-10-20 12:02:10 +08:00 via Android   ❤️ 1
    tw 的还简单直接改一条 topic 数据就行了…微博复杂些还要删除关联数据…猜测数据结构就 B+树呗…
    delectate
        5
    delectate  
       2019-10-20 12:08:49 +08:00
    都是假删除,判断是否显示而已。
    chinvo
        6
    chinvo  
       2019-10-20 12:12:22 +08:00 via iPhone   ❤️ 1
    每个回复、评论、点赞都是独立的 tweet,即使是真删除,也不会影响其他人的 timeline
    haruhi
        7
    haruhi  
       2019-10-20 12:15:36 +08:00
    业务逻辑罢了。国内政治风险太高了,一条要你命,而且要兼顾审核员效率,宁愿直接干掉。大不了用户申诉。
    kveln
        8
    kveln  
       2019-10-20 12:24:58 +08:00
    这是产品设计的差异,具体可以看看知乎上相关的问题。
    Twitter 为什么没有像新浪微博评论的功能? - 知乎
    https://www.zhihu.com/question/19633776
    kveln
        9
    kveln  
       2019-10-20 12:26:01 +08:00
    Twitter 和新浪微博的产品结构哪种更先进? - 知乎
    https://www.zhihu.com/question/21984410

    新浪微博相对 Twitter 最大的进步是什么? - 知乎
    https://www.zhihu.com/question/19557286

    如何看待 2011 年 6 月底霍炬、罗永浩、和菜头等人关于 Twitter 和新浪微博的争论? - 知乎
    https://www.zhihu.com/question/19736861
    reus
        10
    reus  
       2019-10-20 12:35:29 +08:00   ❤️ 2
    微博有些很多人评论,但你就是看不了评论,很多人转发,你也看不了转发

    你猜猜是为什么?
    ysoserious
        11
    ysoserious  
       2019-10-20 13:18:25 +08:00
    微博删了评论还“在”吧? 删掉了一些微博后, 在 @和回复列表里依然能看到那些微博中指向自己的 @和回复
    ochatokori
        12
    ochatokori  
       2019-10-20 13:31:18 +08:00 via Android
    楼主的重点是
    推特不会因为推主删推就删掉所有跟推,而微博博主删了评论就全删

    怎么楼上一堆人歪到软删除那里去了

    前几天有个帖子说到
    推特的理念是每一个操作包括评论都是一条几乎独立的推,自然不会因为别人删推就一起删
    微博就像盖楼的楼主一删就删一栋
    lookas2001
        13
    lookas2001  
       2019-10-20 13:40:26 +08:00
    twitter 的回复是一条 tweet,新浪微博的回复就是回复,不是一个微博,所以新浪微博的回复还有一个发送到自己主页的功能。微博的回复是“二级公民”,twitter 的回复跟推文等级是相同的。
    现在的 twitter 的页面,我认为是先通过 url 上的 id 查找对应 tweet,然后再根据这个 id 查回应的 tweet,然后把他们都显示出来。缺原 tweet 就显示推文不存在,原 tweet 与回应 tweet 都没有就显示 404。
    oIMOo
        14
    oIMOo  
       2019-10-20 14:13:43 +08:00
    我不用 Twitter 的原因就是:回复像转发。
    回到你这个主题,转发的内容并不会因为主贴消失而消失。
    wolfan
        15
    wolfan  
       2019-10-20 14:55:58 +08:00 via Android
    微博和 twitter 的模式本来就不一样啊。
    微博的评论是评论。而 twitter 的评论实质上是一条推文,只是有条件可见,等于是条半公开推文。
    所以当你评论的推文被删时并不会对你的推文造成影响。
    love
        16
    love  
       2019-10-20 16:09:06 +08:00
    twitter 评论和推同级,所以 twitter 你能看到一个人的所有回复,微博只能看到一个人发的推,所有的评论散在平台各处你是看不到的。
    Thresh
        17
    Thresh  
       2019-10-20 16:58:02 +08:00
    这不就是个 id 关联和 status 的问题么...
    Thresh
        18
    Thresh  
       2019-10-20 16:58:42 +08:00
    国内应该对社交产品要求比较高吧
    CODEWEA
        19
    CODEWEA  
       2019-10-20 17:06:48 +08:00
    tw 程序员太懒,没有删除主体关联的其他数据
    JerryCha
        20
    JerryCha  
       2019-10-20 17:14:10 +08:00
    Twitter 的评论相当于转发
    Twitter 的转发真的就是转发,只能转发不能附加任何信息。
    killsting
        21
    killsting  
       2019-10-20 17:16:04 +08:00 via iPhone
    6 楼正解,Twitter 一直以来本质就没有评论,是 Retweet,所以等于不会删除。
    iPhoneXI
        22
    iPhoneXI  
       2019-10-20 17:44:13 +08:00 via Android
    @JerryCha 还有转发加评论功能,就是发一条新推文,然后内嵌原推文链接,
    设计的真够简单的
    7gugu
        23
    7gugu  
       2019-10-20 20:44:49 +08:00
    tweet 有点类似于 QQ 空间的转发那样子,应该都是独立开的
    580a388da131
        24
    580a388da131  
       2019-10-21 02:21:21 +08:00
    这就是所谓的思维差异了
    mrcotter2013
        25
    mrcotter2013  
       2019-10-21 05:05:27 +08:00 via Android
    记得是 Graph Database,例如一个 tweet 就是一个 node,评论和 node 之间通过 relationship 连接,删除 tweet 可能仅仅是设置其 property 为 deactivated,类似的结构
    liudaqi
        26
    liudaqi  
    OP
       2019-10-21 09:04:08 +08:00 via Android
    @mrcotter2013 我看到以前一段介绍,好像 twitter 也是 MySQL 啊,不知道现在是不是弃用关系型数据库,改成图形数据库了
    ------
    Twitter 工程师 Jeremy Cole 和 Davi Arnaut 在博客中称:MySQL 是 Twitter 大部分数据(如兴趣图谱、时间轴、用户数据和推文等)的主要存储技术。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   967 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:14 · PVG 06:14 · LAX 14:14 · JFK 17:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.