我期望爲用戶提供在服務器端存儲服務設置的功能,以允許它們在設備之間同步數據。NoSQL適合存儲用戶數據嗎?
我之前沒有使用NoSQL,所以我不確定它是否合適,但是從我進行的研究看來,這似乎是一個合理的選擇。
因此,舉例來說,如果我是存儲在一個JSON格式的字符串用戶的設置,使用的NoSQL數據庫使用其用戶ID作爲標識,該數據庫將是這個樣子:
ID | Data
------|------
1 | { "Example1":"foo", "Example2":"bar"}
2 | { "Example1":"bar", "Example2":"foo"}
這是否合適?關於數據的一個假設是它不會特別規律,因爲用戶將改變一系列不同的設置以適應它們,所以給定的選項是否被啓用將基於用戶而變化很大。這種不規則性使我相信,爲了性能,NoSQL數據庫可能更合適。
客戶端設備不必返回具有多個不同值的長數據集,而是將它們的首選項返回給JSON,並根據需要進行解析。
其中一個設置參數可能會有多個重複值,這是我認爲對NoSQL的主要看法。如果用戶可以有多個設置X的元素(例如X的不同配置),那麼您必須在SQL數據庫中創建不同的實例,或者可以爲X中的一個數據集存儲爲JSON數組NoSQL數據庫。系統的體系結構並不需要在服務器端分析數據,因爲數據只是設置配置。由於這個原因,我認爲NoSQL更適用。 – Andrew