In the absence of joins, it is critical that we can do a ranged filter, using something like
select object.clientid from bucket where object.objectid IN (123,432,543)
In this way we can perform two synchronous calls to get the data we need from two linked documents. My workaround was to use OR notation and I’ve posted seperately about how this does not currently use indexes and as such is too slow for our purposes.
In the future we will optimize predicates with a set of keys. so if you say where Key=abc or Key=xyz, the query can use the primary key instead of performing a table scan. Optimizing the IN clause will likely be a while, but I think optimizing the WHERE clause for specific keys will be very helpful. We have feedback that this is a common use case.