Limitations
The main technical limits that should always be stated openly.
Limitations
The following boundaries should always stay visible:
- not all query shapes benefit equally from range reads
- the write path and immutable-artifact model introduce their own tradeoffs
- performance depends heavily on data organization
- latency can increase if too many range reads are needed
Example limitation from the benchmarks
One key finding was that indexed_top can be byte-efficient while still being latency-risky if it requires too many separate range-read requests.
Original remote result:
indexed_top
rangeReads: 46
bytesRead: 5603
worker p50: 571 msAfter clustered indexed layout and string-index page cache:
indexed_top
rangeReads: 8
bytesRead: 2563
duration: 365 msConclusion
Object size is no longer the primary optimization problem. The next optimization problem is R2 range-read latency.
What should not be generalized
- not every query will automatically work with just a few reads
- low bytes read alone does not guarantee a good user experience
- a read-only architecture does not solve write-path or ad hoc query problems