Replies: 2 comments
|
Thanks for the thoughtful questions. I think the Paimon REST Catalog Server and Gravitino address different layers of the architecture.
Its primary value is protocol compatibility. It exposes the standard Paimon REST API, allowing Paimon-native clients to connect without depending on a Gravitino-specific connector or API. It may also expose Paimon-specific capabilities that do not fit naturally into Gravitino's unified metadata model, such as format-specific metadata, snapshot, branch, partition, and commit operations. The Paimon REST specification also allows such technology-specific logic to remain on the server side, while clients remain relatively lightweight and decoupled from the backend implementation.
There is no single deployment model for every use case. If all engines can use the Gravitino connectors and the supported Gravitino metadata model is sufficient, the simpler deployment is: In that case, a separate Paimon REST server is not required. If users need standard Paimon REST compatibility, another valid deployment is: In the second model, Gravitino can remain the catalog and governance control plane, while the Paimon REST endpoint provides the format-specific protocol.
Yes, that is probably its clearest use case. It allows clients that already support the Paimon REST protocol to access Paimon catalogs without adopting a Gravitino-specific connector. Other benefits include language-independent access, decoupling client and server versions, keeping Paimon-specific logic on the server side, and potentially applying Gravitino-managed authorization, auditing, and credential vending to standard Paimon clients.
Not necessarily. We should distinguish two directions:
In the first case, the external Paimon REST server can be treated as an internal backend. If Gravitino is intended to be the mandatory governance entry point, clients should not bypass it unless the external server enforces equivalent authorization and auditing policies. In the second case, the Paimon REST endpoint is intentionally a public, standard-compatible entry point. It should authenticate Paimon REST clients and integrate their identities and operations with Gravitino's catalog management, authorization, and auditing capabilities. Thus, the endpoint can be parallel to the Gravitino REST API from the client's perspective, while still being governed by Gravitino internally.
As far as the current code and discussions show, there is no accepted implementation plan or roadmap yet. There is an open feature discussion in #7663 (#7663), but the community has also raised concerns about the maturity of the Paimon REST specification, actual user demand, and the long-term cost of maintaining another format-specific REST implementation. Before implementation, I think we should first agree on:
In summary, a Paimon REST server is not a mandatory extra hop when using Gravitino. It is an optional, format-specific protocol endpoint whose main value is enabling standard Paimon REST clients to benefit from Gravitino-managed catalogs and governance. |
|
Thanks @yuqi1129 for the detailed explanation. This clarifies the positioning for me: Gravitino can be the unified catalog/governance entry point, while a Paimon REST endpoint is |
Uh oh!
There was an error while loading. Please reload this page.
I am evaluating the recommended architecture for integrating Apache Paimon with Gravitino.
If users access Paimon through Gravitino connectors, the request path is:
In this model, Gravitino can provide a unified metadata entry point, authentication, authorization, audit, and catalog governance.
My question is: in this architecture, is it still necessary to implement or deploy a separate Paimon REST Catalog Server?
More specifically:
If Gravitino already exposes Paimon metadata through its own REST API and engine connectors, what additional value does a Paimon REST Catalog Server provide?
Should the recommended deployment be:
Flink / Spark -> Gravitino -> Paimon filesystem / Hive / JDBC backend
instead of:
Flink / Spark -> Paimon REST Catalog Server
Is the Paimon REST Catalog Server mainly useful for clients that do not integrate with Gravitino directly, or for compatibility with the Paimon REST catalog protocol?
If a Paimon REST Catalog Server is still useful behind Gravitino, should it be treated only as an internal backend service, with users accessing Paimon only through Gravitino?
From the Gravitino community's perspective, is there any plan or recommendation around implementing a Gravitino-backed Paimon REST Catalog Server?
Thanks.
All reactions