我試圖設計一個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