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

postgresql 要存帖子回复等类型的数据,适合用什么字段?

  •  
  •   tctc4869 · 2019-10-14 09:56:44 +08:00 · 2145 次点击
    这是一个创建于 1646 天前的主题,其中的信息可能已经有所发展或是发生改变。

    帖子回复数据,可以确定有两种形式, 一种是纯文本,帖子内容长度确定不带 html,另外一种是帖子内容长度不确定。postgresql 如果要存这些类型的数据。怎样做是比较好的?帖子回复数据的回复内容要和帖子回复的其他数据要分表吗?

    如果要用 nosql 存储帖子回复内容,配合用 sql 数据库存小数据,那什么 nosql 数据库比较合适?

    网上有关于存文章要存到文件里的一种方式,这种方式我觉得管理起来有点麻烦

    14 条回复    2019-10-14 22:01:29 +08:00
    gz911122
        1
    gz911122  
       2019-10-14 09:59:39 +08:00
    之前公司帖子之类的是用 mongo 搞得....
    ty89
        2
    ty89  
       2019-10-14 10:09:16 +08:00
    参考一下 discuz 的做法
    tctc4869
        3
    tctc4869  
    OP
       2019-10-14 10:16:32 +08:00
    @ty89,我不太想用快速搭建框架,而且尤其是数据在第三方机构的那种
    ty89
        4
    ty89  
       2019-10-14 10:17:55 +08:00
    @tctc4869 不是让你用 discuz,是让你参考一下它的数据库设计
    sadfQED2
        5
    sadfQED2  
       2019-10-14 10:36:04 +08:00
    mongo +1,评论回复这种数据,用 mongo 简直爽上天
    laminux29
        6
    laminux29  
       2019-10-14 10:42:14 +08:00
    1.帖子与回复,统一 varchar 就行了,1GB 的最大长度足够了。

    2.帖子与回复当然要分表,因为业务逻辑与功能都不一样。

    3.nosql 选 MongoDB 就好,简单又方便,但要注意选择安全的策略,以及数据落地后最好在代码层校验一下,因为 MongoDB 有遗漏数据的恶习。
    tctc4869
        7
    tctc4869  
    OP
       2019-10-14 11:07:08 +08:00
    @laminux29 我说的是帖子回复内容,也就是回复,如果用 sql 数据库,是否要分两个表,一个是回复信息表,一个是回复内容表,还是用一个表?哪种比较合适?
    chefdd
        8
    chefdd  
       2019-10-14 11:14:45 +08:00
    mongo 真不错
    reus
        9
    reus  
       2019-10-14 11:49:08 +08:00   ❤️ 1
    一张表,用 text 存

    postgresql 的 text 是无限长度

    都有 jsonb 了还用什么 nosql……
    tctc4869
        10
    tctc4869  
    OP
       2019-10-14 12:45:41 +08:00
    @reus jsonb 是 nosql 中的文档数据库的特有的,而 nosql 不一定都要用文档数据库。
    abscon
        11
    abscon  
       2019-10-14 15:08:33 +08:00 via iPhone
    @tctc4869 PostgreSQL 现在已经支持 jsonb 格式了。你这个『特有的』可以吃掉了
    laminux29
        12
    laminux29  
       2019-10-14 16:57:17 +08:00
    @tctc4869 帖子一张表,评论一张表。
    lower
        13
    lower  
       2019-10-14 17:19:55 +08:00
    根据业务需求,先按照最简单的实现来做。。。如果没有特殊目的,不要过早优化
    godoway
        14
    godoway  
       2019-10-14 22:01:29 +08:00 via Android
    评论的话曾经考虑过 pg 的数组字段,不过后来发现操作上有点麻烦。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1213 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 23:14 · PVG 07:14 · LAX 16:14 · JFK 19:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.