stevenzwu commented on PR #18526:
URL: https://github.com/apache/iceberg/pull/18526#issuecomment-6209407064

   Thanks @emkornfield, you're right. I ran a quick Parquet benchmark (40K 
rows): 
[gist.github.com/stevenzwu/401035e47dd8acb355fb9a0726789e59](https://gist.github.com/stevenzwu/401035e47dd8acb355fb9a0726789e59)
   
   Microseconds derived from milliseconds carry three trailing zeros that the 
encodings don't exploit (exactly +10 bits per value with delta binary packed). 
With Iceberg's defaults (dictionary/plain + zstd), timestamptz µs is 1.65–2.1x 
larger when every row is distinct, and 1.3–1.7x when every 10 rows share a 
value.
   
   In practice the impact should be small. New and modified rows are written as 
null and inherit, so values are only stored for rows carried over by rewrites, 
and those are highly repetitive (rows from the same commit share a timestamp), 
around 0.1–0.3 bytes per row. tracking.snapshot_timestamp is stored once per 
file in manifests, so its overhead is negligible compare to other fields 
(especially `content_stats`) for the TrackedFile schema for v4 manifest file.


-- 
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