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]

Reply via email to