When in doubt, throw us a build at Cloudant with ebtree maps and we'll see
if it comes close to the crazy fast KV map queries.

Kyle

On Thu, Jul 23, 2020, 2:17 PM Robert Samuel Newson <rnew...@apache.org>
wrote:

> I (perhaps obviously) don't agree that I'm tying myself to old CouchDB or
> failing to embrace FDB. FDB is a toolkit and does not, to my mind, force us
> down any particular path.
>
> I haven't sat down to modify couch_views in the manner I've suggested
> (where ebtree is used as designed; being fed the output of the emit() calls
> and calculating reductions as it does so) but I think it's a worthwhile
> exercise. I'd be surprised if performance of map-only traversals would be
> disappointing but who knows? I also expect it would allow for significant
> simplification of the code, which is one of the higher virtues.
>
> Adam, can you describe in a little more detail how you picture "b+tree is
> only used for incremental aggregations,"? It's implied in your reply that
> it would preserve the "interesting property" of keeping user data out of
> FDB Keys (for casual readers: the new native database encryption, called
> "aegis", only encrypts the FDB value. It can't encrypt the key as this
> would change the order of keys, which the current code depends on). Did I
> misread you?
>
> B.
>
> > On 23 Jul 2020, at 20:11, Adam Kocoloski <kocol...@apache.org> wrote:
> >
> > OK thanks for the clarification. As I said I wasn’t all that confident I
> understood the design :)
> >
> > I like the idea that the b+tree is only used for incremental
> aggregations, rather than storing the entire materialized view, for the
> same reasons that Garren stated.
> >
> > An index maintained entirely in ebtree has the interesting property that
> it does not leak any user data into FDB Keys, which could be attractive for
> security reasons.
> >
> > Adam
> >
> >> On Jul 23, 2020, at 1:54 PM, Garren Smith <gar...@apache.org> wrote:
> >>
> >> On Thu, Jul 23, 2020 at 6:55 PM Paul Davis <paul.joseph.da...@gmail.com
> >
> >> wrote:
> >>
> >>>> I would like to keep ebtree to use just for the reduce index.
> >>>
> >>> Could you expand on your reasoning here, Garren? I haven't done any
> >>> experiments on my own to understand if I'm missing something
> >>> important. My initial reaction is to not diverge too far from the
> >>> previous shape of the implementation since we have a decent idea of
> >>> how that behaves already but perhaps you've seen or measured something
> >>> I'm not thinking of?
> >>>
> >>
> >> I think this must have been a misunderstanding on my part. I always
> thought
> >> of using ebtree to solve reduce and wasn't planning to use it for the
> map
> >> index.
> >> I don't like the idea that we have ordered distributed key/value store
> and
> >> then implementing a b-tree on top of that for indexing. Especially
> since we
> >> know that the current map index is fast,
> >> easy to use, and follows recommended practices in the FDB community on
> how
> >> to do indexing. ebtree makes sense for reduce and is a means to an end
> to
> >> give us CouchDB's reduce api, which is heavily reliant on a b-tree, with
> >> CouchDB on FDB. This feels like a step backward and I worry we are tying
> >> ourselves heavily to old CouchDB instead of using the fact that we
> moving
> >> to FDB which then allows us to design new api's and functionality.
> >
>
>

Reply via email to