我正在研究持續的用戶偏好,以保持應用程序的會話過期,並且如果基於人們以前的經驗關係數據庫(即Oracle,MySql)或文檔數據庫(即MongoDB,Redis)更適合這項任務。爲了澄清用戶偏好的含義,我的網絡應用程序將存儲關於每個用戶的非常詳細的信息,包括但不限於:窗口大小和位置,網格列寬度和順序,各種窗口小部件狀態(摺疊/摺疊的面板)。我的應用程序中的所有持久性當前都是由關係數據庫處理的,但我感覺像用戶偏好這樣的東西可能更適合面向文檔的數據庫,因爲它可能很難以嚴格結構化的方式表示這些數據,半結構化的方法可能會更好。堅持用戶偏好 - 關係或面向文檔的數據庫
1
A
回答
0
如果您已經在爲您的應用程序使用關係數據庫,將用戶權限分離爲面向文檔的數據庫是沒有意義的 - 這隻會增加複雜性。開始一個新的應用程序,這是值得考慮的。
對於現有的應用程序,您可能會考慮使用半結構化數據存儲,如Postgresql的hstore。
0
被問到的問題是安裝新DB的適用性不實用性。
什麼是數據庫更適合非關係數據,如用戶偏好?
很明顯,答案應該是非關係型數據庫。面向文檔的NoSQL數據庫適合於存儲這些數據庫。
OP提到了Widgets等偏好,這些偏好很可能是JSON文檔/對象。這是mongoDB或JSON面向文檔的DB更合適的另一個原因。
還有一種「安裝新數據庫」的擔憂,它來自舊版關係數據庫的經驗/痛苦,這些NoSQL都沒有。但所有這些都是「適合性」問題。除了依賴性之外,還有很多因素將進入「實用性」決策。
相關問題
- 1. 面向文檔的數據庫或關係數據庫,我該如何選擇?
- 2. Android堅持全球偏好?
- 3. 面向文檔或圖形數據庫
- 4. 堅持雙向關係ormlite
- 5. 關係數據庫+ ORM或面向對象的數據庫?
- 6. Symfony2:堅持用戶輸入數據庫
- 7. 面向文檔的數據庫是否比關係數據庫更適合持久化對象?
- 8. 核心數據關係不堅持
- 9. 創建新的偏好並堅持它?
- 10. 堅持許多人在數據庫Symfony2的許多關係
- 11. 堅持用戶名和頁面名稱到數據庫
- 12. 面向對象的數據庫對象關係數據庫
- 13. 我如何模擬像RavenDB這樣的面向文檔的數據庫系統中的heirarchal和關係數據?
- 14. 關係數據庫或NoSQL數據庫
- 15. Mongoid:在嵌入式文檔中堅持1對多關係
- 16. 堅持CommonsMultipartFile數據庫
- 17. 根據偏好繪製用戶界面
- 18. 建模質疑RavenDB(或其他文檔面向數據庫)
- 19. 面向文檔的數據庫與純文本文件
- 20. 關係平面文件數據庫
- 21. Facebook iOS SDK:如何堅持登錄文件或數據庫?
- 22. 根據用戶數據獲取偏好
- 23. 使用JavaScript堅持客戶端數據?
- 24. 面向對象的數據庫比使用ORM的關係數據庫更好嗎?
- 25. 10面向對象/關係混合數據庫?
- 26. Symfony ManyToMany雙向關係只能堅持一個方向
- 27. 用戶偏好
- 28. GeoCouch/Couchdb /其他可搜索面向文檔的數據庫?
- 29. JPA:的EclipseLink不持續的雙向關係數據庫
- 30. 基於文檔的數據庫對關係數據庫有什麼優勢?