Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Freshness aware table loading in REST catalog #11766

Open
3 of 6 tasks
gaborkaszab opened this issue Dec 12, 2024 · 0 comments
Open
3 of 6 tasks

Freshness aware table loading in REST catalog #11766

gaborkaszab opened this issue Dec 12, 2024 · 0 comments
Labels
proposal Iceberg Improvement Proposal (spec/major changes/etc)

Comments

@gaborkaszab
Copy link
Collaborator

Proposed Change

There are clients of the Iceberg table format (e.g. query engines) that cache table metadata. In order to keep the cache up-to-date they implement different mechanisms like event processing (HMS with Impala) or simply do a full table load on each request. This proposal introduces a way to perform an actual table load only if there is a change on the table metadata since the last request.
There is a new Iceberg Catalog level API proposed, and this proposal also describes the implementation details for the REST catalog including the changes required for the REST spec.

Typical use case this would solve:

  • Engine receives a query for a particular table
  • Engine doesn't have this table in the cache so loads it from an Iceberg Catalog (REST in this proposal)
  • Engine gets another request for the same table
  • Engine does a freshness aware loading for this table. Full table loading is only performed if the table has changed since. If the table hasn't changed the engine can use the one in it's cache.

Proposal document

https://docs.google.com/document/d/1rnVSP_iv2I47giwfAe-Z3DYhKkKwWCVvCkC9rEvtaLA

Specifications

  • Table
  • View
  • REST
  • Puffin
  • Encryption
  • Other
@gaborkaszab gaborkaszab added the proposal Iceberg Improvement Proposal (spec/major changes/etc) label Dec 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
proposal Iceberg Improvement Proposal (spec/major changes/etc)
Projects
None yet
Development

No branches or pull requests

1 participant