回答
在我的公司,我們在Postgres數據庫中使用JSONB
,因爲需要存儲不適合傳統關係模型的動態列數據,因爲列的數量會一直增加,或者我們必須有無意義的列和根據其他一些列來指定這些含義,這些列可以確定在我看來稱爲天堂寬恕的行值。
我發現這種方法也比典型的Entity-attribute-value模型更好,用於執行查找和通常理解數據。過去我一直在使用EAV模型的分析師也分享了這一觀點。
我們的數據中很大一部分都適用於關係模式設計,並且由於需要NoSQL方法,實際上它不是大多數數據(也不是完全無模式表),我們決定使用Postgres來代替將事情複雜化並將小部分數據移到不同的(例如:文檔)數據庫中。
由於9.2發生了很大變化,Postgres爲json和jsonb列中的優化搜索提供了很好的支持。
您可以在以下情況下使用JSON,
*您有很深的架構層次
*在存儲圖像,音頻和視頻文件的情況下
*特別是在與NoSQL的工作
*如果您使用的關係結構,你可以使用RDBMS
將圖像存儲爲JSON是一種**真的**不好的選擇 –
我將JSON存儲在數據庫中的唯一原因是歷史列表。比方說,幾個用戶都有一個JSON形式的好友列表,並且每次爲每個用戶更改好友列表時都會記錄下來。
當存在動態密鑰的機會時使用JSON。
例如:您的商品頁面有4列 - sr, name, age, amount
。假設這個頁面上有一個多列排序功能,並且用戶想要保存他的自定義順序。在這種情況下,我可以輕鬆地將json作爲sr => DESC, age => ASC
存儲在相關表的sort_order字段中。
- 1. 爲什麼進入PHPdebugger?
- 2. 爲什麼不使用JSON進行SOAP?
- 3. 爲什麼控制進入IF?
- 4. 爲什麼它進入無限循環
- 5. 爲什麼我不進入gotStream函數?
- 6. 爲什麼線程進入WaitSleepJoin狀態?
- 7. 我爲什麼要進入循環?
- 8. 爲什麼require.js進入head標籤
- 9. 爲什麼DISTINCT必須先進入MySQL?
- 10. 爲什麼DOM進入圖片?
- 11. 爲什麼不能進入while循環?
- 12. 爲什麼PHP不能進入localstorage?
- 13. 爲什麼在Oracle DB上插入XML需要很長時間?
- 14. 爲什麼在db連接類中寫入class.forname(com.mysql.jdbc.Driver)?
- 15. 爲什麼在DB API中調用Cursors?
- 16. 爲什麼Zend DB Update不能發佈?
- 17. 爲什麼當througth域類和DB
- 18. PetaPoco爲什麼從db返回。插入一個ID爲7的ID字段作爲十進制
- 19. sfForkedDoctrineApplyPlugin - 什麼進入routing.yml?
- 20. 什麼進入()捕獲?
- 21. 什麼呢在進入
- 22. MySQL與JSON - 爲什麼?
- 23. 爲什麼Json無效? (ios)
- 24. 爲什麼JSON很重要?
- 25. 爲什麼json不工作?
- 26. RoR:爲什麼不耙db:遷移輸出什麼?
- 27. 什麼是cert8.db和key3.db文件?
- 28. NoSql DB和OO Db有什麼區別?
- 29. 爲什麼SSIS OLE DB導入不導入文本文件的最後一行?
- 30. 爲什麼我可以mov進入eax,進入ax,但不進入al,甚至可能進入ah?
我想你應該問公司他們爲什麼要這樣做。 – dasblinkenlight
http://blog.2ndquadrant.com/postgresql-anti-patterns-unnecessary-jsonhstore-dynamic-columns/ –