我刚加入一家新公司,发现他们在生产环境中同时使用 SQL (关系型)数据库和 NoSQL 数据库。大约 90%的数据(尤其是核心内容)存储在 SQL 数据库中,而用户相关数据(例如个人资料、访问权限等)存储在 NoSQL 数据库中。然而,这些数据源之间的所有连接操作都是在应用层用代码处理的,这使得即使是简单的查询(统计具有特定属性的用户数量)也变得比实际需要的更复杂。据我所知,这个公司的业务模型是高度关系型的,将所有内容保留在 postgreSQL 中可以显著简化架构,并使后端更易于长期维护。在这种情况下,我很难看出在新项目中同时使用 SQL 和 NoSQL 有什么实际好处。采用这种方法真的有什么好处吗?好像前端在 NoSQL 方面更有经验,所以他们选择了 NoSQL ,然后转向 SQL 来处理应用程序内容。我注意到的问题是,由于架构原因,原本需要 2 周的新功能后端开发却需要 2 个月