1

我正在研究持續的用戶偏好,以保持應用程序的會話過期,並且如果基於人們以前的經驗關係數據庫(即Oracle,MySql)或文檔數據庫(即MongoDB,Redis)更適合這項任務。爲了澄清用戶偏好的含義,我的網絡應用程序將存儲關於每個用戶的非常詳細的信息,包括但不限於:窗口大小和位置,網格列寬度和順序,各種窗口小部件狀態(摺疊/摺疊的面板)。我的應用程序中的所有持久性當前都是由關係數據庫處理的,但我感覺像用戶偏好這樣的東西可能更適合面向文檔的數據庫,因爲它可能很難以嚴格結構化的方式表示這些數據,半結構化的方法可能會更好。堅持用戶偏好 - 關係或面向文檔的數據庫

回答

0

如果您已經在爲您的應用程序使用關係數據庫,將用戶權限分離爲面向文檔的數據庫是沒有意義的 - 這隻會增加複雜性。開始一個新的應用程序,這是值得考慮的。

對於現有的應用程序,您可能會考慮使用半結構化數據存儲,如Postgresql的hstore

0

被問到的問題是安裝新DB的適用性不實用性。

什麼是數據庫更適合非關係數據,如用戶偏好?

很明顯,答案應該是非關係型數據庫。面向文檔的NoSQL數據庫適合於存儲這些數據庫。

OP提到了Widgets等偏好,這些偏好很可能是JSON文檔/對象。這是mongoDB或JSON面向文檔的DB更合適的另一個原因。

還有一種「安裝新數據庫」的擔憂,它來自舊版關係數據庫的經驗/痛苦,這些NoSQL都沒有。但所有這些都是「適合性」問題。除了依賴性之外,還有很多因素將進入「實用性」決策。

相關問題