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

young-轻人 发布于 2015/07/17 18:51
阅读 406
收藏 1

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

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

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

请大牛不吝赐教 @宏哥 @kenyon_君羊

加载中
0
kenyon_君羊
kenyon_君羊

你说的大量有多大啊,T级别的没有问题;pg自带的全文检索对中文支持不好;pg的nosql功能暂时没有用过生产,不清楚,不过测试过jsonb的读效率还是不错的,而且对前端使用很方便。

pg的数组功能用得少,不过很强大。

0
netkiller-
netkiller-

场景1, 不要使用数据,基于列的方式设计数据库。 数据不能索引,无法高校查询数组元素。

场景2,采用多表设计。

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

-------------------

1. 可以存聊天记录,关键看你数据库怎样设计。

2. 使用 Solr 

3. 架构比单纯数据库技术更重要。

0
宏哥
宏哥
尽量不要用数组
返回顶部
顶部