在 wso2 api 管理器中,为什么 WSO2CARBON_DB 和 SHARED_DB 的表在不同的配置下是相同的?

In wso2 api manager why tables of WSO2CARBON_DB and SHARED_DB are the same with diffrent config?

reference WSO2CARBON_DB 和 SHARED_DB 中所述,db-scripts 是相同的,那么为什么在 deployment.toml 中有两个单独的配置?:

我在oracle中配置了它们,但是有相同的表。

简而言之,CARBON_DB用于存储与节点本身相关的元信息,不建议跨节点共享CARBON_DB。而 SHARED_DB 包含注册表相关信息以及用户和角色相关信息。您可以了解有关数据库的更多信息 hereCARBON_DBSHARED_DB都使用了同一套表,但是从功能上来说,两者存储的数据和条目是不同的(CARBON侧重于存储节点的信息,而 SHARED 用于存储其他注册表和用户工件)。

如果您有分布式设置,CARBON_DB 需要为每个节点单独配置,并且不会在它们之间共享。因此,您可以使用 RDBMS 或 CARBON_DB 的默认 H2。但是,SHARED_DB 需要配置并跨节点共享,以共享数据相关的用户和角色。此外,SHARED_DB 还包含一组与 API 和注册表相关的数据。 Publisher 和 Devportal 节点(特别是)都需要这些来索引和列出门户中的所有 API。

希望这能让您简要了解每个数据库之间的差异。