Another feature related to efficient view querying are partitioned
databases: https://docs.couchdb.org/en/stable/partitioned-dbs/index.html.
It's a bit of a niche, as you'd need to have a good partition key, but
aside from that, it can speed up your queries as responses would be coming
from a single shard only instead of Q shards.



On Wed, Jun 12, 2024 at 1:30 PM Markus Doppelbauer
<[email protected]> wrote:

> Hi Nick,
> Thank you very much for your reply.This is exactly what we are looking
> for.There are so many DBs that store the secondary indexlocally
> (Cassandra, Aerospike, SyllaDB, ...)
> Thanks again for the answerMarcus
>
>
> Am Mittwoch, dem 12.06.2024 um 13:23 -0400 schrieb Nick Vatamaniuc:
> > Hi Marcus,
> > The node handling the request only queries the nodes with shard
> > copies ofthat database. In a 100 node cluster the shards for that
> > particulardatabase might be present on only 6 nodes, depending on the
> > Q and Nsharding factors, so it will query 6 out 100 nodes. For
> > instance, for N=3and Q=2 sharding factors, it will first send N*Q=6
> > requests, and wait untilit gets at least one response for each of the
> > Q=2 shard ranges. Thishappens very quickly. Then, for the duration of
> > the response, it will onlystream responses from those Q=2 workers.
> > So, to summarize for a Q=2database, it will be a streaming response
> > from 2 workers. For Q=4, from 4workers, etc...
> > Cheers,-Nick
> >
> > On Wed, Jun 12, 2024 at 1:00 PM Markus Doppelbauer<
> > [email protected]> wrote:
> > > Hello,
> > > Is the CouchDB-view a "global" or "local" index?For example, if a
> > > cluster has 100 nodes, would the query askfor a single node - or
> > > 100 nodes?
> > > /.../_view/posts?startkey="foobar"&endkey="foobaz"
> > > Best wishesMarcus
> > >
>

Reply via email to