Sergey Makagonov
06/12/2026, 8:47 PM[lo, hi] range) as a first-class read API on top of it?
What we understand about why it's not there today:
- Stores are hash-partitioned on the full key, so logically-adjacent keys scatter across partitions. There's no bounded home for a range, unlike point/batch-get.
- Keys are opaque (Avro-serialized) bytes, and Avro's encoding isn't bytewise-order-preserving, so even a within-partition RocksDB iterator wouldn't map to a logical range.
- A general unbounded scan would break the predictable-tail-latency / RCU quota model.
Curious whether it's ever been discussed or prototyped, and if there's a design doc or RFC. If it was ruled out, I'd love to understand the main reasons. Thanks!
cc @Felix GV @Zac Policzer @Koorous Vargha
@Hubert Puszklewicz @Amre Shakim fyiFelix GV
06/12/2026, 8:49 PMFelix GV
06/12/2026, 8:50 PMKoorous Vargha
06/12/2026, 8:51 PMFelix GV
06/12/2026, 8:52 PMKoorous Vargha
06/12/2026, 8:53 PMFelix GV
06/12/2026, 8:53 PMFelix GV
06/12/2026, 8:53 PMKoorous Vargha
06/12/2026, 8:54 PMKoorous Vargha
06/12/2026, 8:55 PMKoorous Vargha
06/12/2026, 8:57 PMSergey Makagonov
06/12/2026, 8:59 PMBut in the time I've been here I haven't seen an ask to support this for remote queries, but I'm curious what's the use case for this?Venice naturally overlaps with DynamoDB use-cases, where it allows to provide a sortKey and query data based on a given range. We internally use it to query values for some keys based on datetime ranges.
Zac Policzer
06/12/2026, 9:00 PMKoorous Vargha
06/12/2026, 9:01 PMFelix GV
06/12/2026, 9:03 PMZac Policzer
06/12/2026, 9:04 PMThe first CDC client or the DVRT one?I.... seem to no longer remember 😨
Zac Policzer
06/12/2026, 9:05 PMKoorous Vargha
06/12/2026, 9:05 PMZac Policzer
06/12/2026, 9:08 PMSergey Makagonov
06/12/2026, 9:16 PMcomputeWithKeyPrefixFilter. But I don't see range query support in particular - so if we want, for example, fetch keys within a certain (datetime1, datetime2) range, the daVinci client would only be able to fetch all the records for that particular key, and the further filtering would need to be done one the client side.Koorous Vargha
06/12/2026, 9:30 PMFelix GV
06/12/2026, 9:31 PMSergey Makagonov
06/12/2026, 9:41 PMAvroComputeRequestBuilderV4 explicitly says that only AND and EQUALS are allowed (link) 😞Felix GV
06/12/2026, 10:19 PM