JanKaul commented on issue #6420:
URL: https://github.com/apache/iceberg/issues/6420#issuecomment-1426775281
Another point I would like to discuss is whether the storage table should be
registered in the catalog. I brought this up before but I think people haven't
really voted for a solution. Generally the storage table can either be
registered in the catalog or not. Most proposals in this thread suggested to
register both the view and the storage table in the catalog. I would like to
propose to only register the view in the catalog. My reasoning is that a
materialized view is one logical entity and should therefore also appear in the
catalog as one entity. This is also the behavior of most RDBMS and also cloud
data warehouses like snowflake.
| | Strategy 1: register storage table in catalog
| Strategy 2: don't register storage table in catalog
|
| ----------- |
--------------------------------------------------------------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
| Description | Metadata locations for the view and storage table are stored
in the catalog. Since both locations are tracked, each transaction is
automatically atomic. | Only the location of the main view is stored in the
catalog. A reference to the storage table metadata location is stored in the
main view. An atomic update of this reference is the basis for making atomic
changes to the storage table metadata file. |
| Pros | <ul><li>Storage table can be addressed in the
catalog</li><li>Simple implementation</li></ul>
| <ul><li>only one entry for materialized
view</li></ul>
|
| Cons | <ul><li>2 entities appear in the catalog</li></ul>
| <ul><li>definition of commit procedure</li></ul>
|
React with the following if you prefer one of the strategies:
:tada: for strategy 1
:rocket: for strategy 2
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]