我试图设计一个Postgres数据库来保存关于用户的各种信息,并查看两种明显的方式来解决这个问题 - 特别是不同的多关系。针对复杂用户配置文件的JSON或关系表
存放在USER_INFO表中的基本用户数据。在单独的表格中,存储许多关系,比如有人就读的学校,他们工作的地点等等。会有很多这样的表格(很容易添加诸如访问过什么地方的东西,他们读过什么书籍等等等等。我希望这会增长到一个相当大的表格列表)。
在主要的user_info表中,存储了一个JSON blob(当然组织得当)与所有这些附加信息。
我应该选择哪两个选项?当然,阅读表现更重要。我知道JSON通常比普通关系表慢,但我不确定是否从许多不同的表中查找信息(如选项1)会比获取单个json blob并在浏览器中显示它慢。另外需要注意的是,Postgres中的JSONB格式实际上有很好的索引选项。
更新: 以下一些意见,一个graphdb是需要使用什么样的:我要澄清的问题是不有关技术(RDBMS VS图DB)的选择。但是关于给定技术(rdbms)的数据类型的选择。
您既不需要[图形数据库](http:// neo4j。com/books/graph-databases /),哪种证明这个问题的是**主题** *,因为它是基于**的意见**,**要求建议**和**太宽**所有同时* –
对不起@JarrodRoberson我想你误会了。我不是在问我需要使用什么数据库。这个问题明确地说明了什么是数据格式。并且你删除了postgresql标签 - 这是在那里指定问题的范围。 – Yogesch
@JarrodRoberson虽然我理解你提出图表db的理由,但我更喜欢传统的解决方案 - 主要是出于稳定性,社区和易用性的原因。 FWIW,由于实际的原因,在决定切换到Postgres之前,我曾经广泛地考虑过一个图形db,尽管图形db在许多方面使生活更轻松。对不起,我不认为所有这些细节都与这个问题有关。 – Yogesch