开发者社区> 问答> 正文

postgresql 的表设计问题和一些困惑

我看有很多国外的tag表设计里面的tag用的是数组类型存储的,我这里需要做一个类似于扩展属性的表设计(场景1:类似于协同操作,比如几个人共同操作一个表单,我是否可以吧参与人的userid当作一个数组存进去?这样合理么。场景2:每个用户各自拥有很多表单,但是想统一管理表单,所以就给所有的表单标记扩展属性,比如地区、状态等),不知道按照数组设计好,还是弄多个表好呢?如果是多表好的话那数组这样的类型适合做什么设计呢?

另外我还有一些相关的问题:

1、postgresql 是否适合存储大量的聊天记录数据? 2、如果我用postgresql做存储的话,想要做全文检索应该是用postgresql自带的全文检索好呢还是使用第三方开源软件,比如lucence好呢?3、postgresql据说也有nosql的功能,如果我想用postgresql实现couchdb的功能会不会性能下降呢?或者换句话说用postgresql做mongodb或者couchdb的工作会不会有点勉强呢?

展开
收起
小旋风柴进 2016-03-11 15:03:07 3496 0
1 条回答
写回答
取消 提交回答
  • 场景1, 不要使用数据,基于列的方式设计数据库。 数据不能索引,无法高校查询数组元素。

    场景2,采用多表设计。

    数据适合结构化数据存储,现实,通常不会查询这些数据。


    1. 可以存聊天记录,关键看你数据库怎样设计。
    2. 使用 Solr
    3. 架构比单纯数据库技术更重要。
    2019-07-17 18:59:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
金融级 PostgreSQL监控及优化 立即下载
PostgreSQL在哈啰的实践-周飞 立即下载
PostgreSQL高并发数据库应用数据 立即下载