我看有很多国外的tag表设计里面的tag用的是数组类型存储的,我这里需要做一个类似于扩展属性的表设计(场景1:类似于协同操作,比如几个人共同操作一个表单,我是否可以吧参与人的userid当作一个数组存进去?这样合理么。场景2:每个用户各自拥有很多表单,但是想统一管理表单,所以就给所有的表单标记扩展属性,比如地区、状态等),不知道按照数组设计好,还是弄多个表好呢?如果是多表好的话那数组这样的类型适合做什么设计呢?
另外我还有一些相关的问题:
1、postgresql 是否适合存储大量的聊天记录数据? 2、如果我用postgresql做存储的话,想要做全文检索应该是用postgresql自带的全文检索好呢还是使用第三方开源软件,比如lucence好呢?3、postgresql据说也有nosql的功能,如果我想用postgresql实现couchdb的功能会不会性能下降呢?或者换句话说用postgresql做mongodb或者couchdb的工作会不会有点勉强呢?
场景1, 不要使用数据,基于列的方式设计数据库。 数据不能索引,无法高校查询数组元素。
场景2,采用多表设计。
数据适合结构化数据存储,现实,通常不会查询这些数据。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。