用于应用程序的关系数据库或 NoSQL 数据库

Relational or NoSQL database for application

我将致力于管理公司内部文档的应用程序。它应该是这样工作的:用户可以上传带有必填字段的文档,例如:描述,"readers" 何时可以访问文档,应批准文档的人员组,成功批准后应阅读文档的人员组... 然后是文档的历史记录,每个用户做出的决定(聚合 x 分解),users/groups/documents/roles 等的一些基本管理...此应用程序应该适用于公司(并且应该 运行 在本地网络)。

谢谢

如果您有一个严格定义的架构(似乎是这种情况)和可预测的流量(这在企业环境中也很可能)并且想要经过多年测试和完善的 ACID 事务和数据恢复保证(你肯定会这样做)那么 RDBMS 就是你的选择。在应用程序端使用什么并不重要,ORM,普通 JDBC 或其他任何东西。

一个棘手的问题可能是文档存储,但是,只要文档不是很大,关系数据库(例如 PostgreSQL)就可以胜任。

这假设您不希望每秒有数十万个请求,因此不需要任何分片。即使您确实期望这样的负载,RDBMS 也可能没问题。