fhalde opened a new issue, #17892: URL: https://github.com/apache/iceberg/issues/17892
### Feature Request / Improvement Optimizing an Iceberg table for both time-range queries and ID lookups normally takes two partition fields: a time transform on a `timestamp` column and a bucket transform on an `id` column, usually a UUID. Given only an `id`, Iceberg can pick the bucket but not the time partition, so it has to read that bucket across every partition in the table. UUIDv7 makes this avoidable, because the identifier already carries its generation time as a Unix timestamp. The proposal is to give UUIDv7 special handling: keep normal UUID semantics, but expose the embedded timestamp to Iceberg's time transforms. A table partitioned by `day(event_id)` would then prune to a single day for an ID lookup and to a range of days for a time-window query, all from one column. The goal isn't OLTP 😄. It's to let Iceberg use the time information already present in UUIDv7 for partition and file pruning, from a single column. _I'm new to Iceberg, so I wouldn't know where to start on this – it just seemed like a good idea while working through some challenges at work, assuming it's feasible._ ### Query engine None ### Willingness to contribute - [x] I can contribute this improvement/feature independently - [x] I would be willing to contribute this improvement/feature with guidance from the Iceberg community - [ ] I cannot contribute this improvement/feature at this time -- 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]
