我们有一个使用 Flask/Pony 框架构建的单体应用程序。它现在很好用。
但是,在不久的将来,我们将开始转向微服务架构。在这个过程中,我们很可能会为每个服务创建一个单独的 Db。由于许多我不会讨论的原因,这是有益的。但是当考虑目前在表之间开发的外键关系时,我会挂断电话,而且我知道许多其他人也会挂断电话。
人们通过非规范化他们的数据库最终在另一个服务的数据库中重复表来解决这个问题。
我很好奇 pony 的用户对这个解决方案的看法以及它是否可行。
在使用微服务架构时,其他使用 PonyORM 或任何其他 ORM 的人有什么想法?
编辑:
我们现在的数据库很简单:
Main DB
User
|-id
|-name
|-role = Required("Role")
Role
|-id
|-name
|-set("User")
现在这一切都在一个 Db 中,但逻辑在两个不同的服务中。用户服务和角色服务。角色服务控制允许用户访问的权限和视图。
理想情况下,我想将这些拆分为单独的 Db,但仍然能够保持两者之间的关系。我不认为它可以通过自然的 sql 查询/索引来完成(或者可以吗?)。