roryqi commented on code in PR #10720: URL: https://github.com/apache/gravitino/pull/10720#discussion_r3080878022
########## design-docs/iceberg-supported-nested-namespace.md: ########## @@ -0,0 +1,129 @@ +# [Iceberg REST] Supported Nested Namespace Design + +## Background + +This document describes one practical solution to support Iceberg nested namespaces in Gravitino. +The scope is not only UI privilege granting, but also namespace mapping, identifier handling, +authorization scope, and compatibility behavior across Iceberg REST and Gravitino. + +References: + +- https://github.com/apache/gravitino/blob/main/docs/security/access-control.md +- https://github.com/apache/gravitino/blob/main/docs/iceberg-rest-service.md +- https://github.com/apache/gravitino/blob/main/docs/manage-relational-metadata-using-gravitino.md +- https://github.com/apache/gravitino/discussions/7296 + +## Goal + +- Support nested namespace operations from Iceberg REST to Gravitino through schema mapping. +- Support privilege granting for different nested namespace scopes (including UI workflow). +- Keep metadata model stable and avoid heavy refactor. + +## Non-Goal + +- Create nested namespace by Gravitino REST API directly. +- Delete nested namespace by Gravitino REST API directly. +- Modify nested namespace by Gravitino REST API directly (for example, rename or alter properties). Review Comment: It's complex for Gravitino to support nested namespace. In most cases, `schema` is enough for namespace management. Iceberg nested namespace is a special case, so avoiding a large refactor is more cost-effective. If Gravitino fully supports all the operations, it will bring more complexity especially for renaming operations. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
