我正在研究在应用程序的会话到期后持久的用户偏好,并且很好奇根据人们以前的经验,关系数据库(即 Oracle、MySql)或面向文档的数据库(即 MongoDB、Redis)是否更适合这项任务。为了帮助澄清用户偏好的含义,我的网络应用程序将存储每个用户的非常详细的信息,包括但不限于:窗口大小和位置、网格列宽和顺序、各种小部件状态(折叠/取消折叠面板)。我的应用程序中的所有持久性当前都由关系数据库处理,
问问题
757 次
2 回答
0
如果您已经在为您的应用程序使用关系数据库,那么仅将用户权限分离到面向文档的数据库是没有意义的——它只会增加复杂性。启动一个新应用程序,值得考虑。
对于现有应用程序,您可以考虑使用半结构化数据存储,例如 Postgresql 的hstore。
于 2013-12-12T21:01:56.097 回答
0
提出的问题是安装新数据库的适用性而不是实用性。
什么 DB 更适合非关系数据,如用户偏好?
显然答案应该是非关系数据库。面向文档的 NoSQL 数据库适合存储这些。
OP 提到了最有可能是 JSON 文档/对象的小部件等首选项。这是 mongoDB 或面向 JSON 文档的 DB 更合适的另一个原因。
还存在对“安装新数据库”的恐惧,这是来自旧关系数据库的经验/痛苦,这些 NoSQL 都没有。但这一切都在“适用性”问题之外。除了依赖性之外,许多因素都会影响“实用性”决定。
于 2014-07-21T13:57:07.303 回答