Hi Paul,

You would actually get the most predictable performance simply storing the
edges as k/v pairs and 'following' the links client-side.  This is
especially helpful if you have a wide trees or a high crossing number, for
example.  In such cases, you can retrieve multiple edges simultaneously in
parallel, which is a much more efficient query pattern than having Riak hop
around the cluster finding those edges and queuing up the result set while
the client application waits.

Another advantage of this approach is that you can keep your logic and
tests in your native language, rather than going through Riak's m/r
abstraction.

This is a different mindset from working with relational databases, where
we were taught to always do as much calculation in the database layer as
possible.  With a database tuned for high concurrency and low latency like
Riak, you will get the most bang for your buck if you keep the application
close to the database, pre-calculate your desired results as much as
possible, and perform the calculations and logic in the client application
layer, not the database layer.

Thanks!
-Casey


On Tue, Mar 25, 2014 at 8:12 AM, Paul Walk <[email protected]> wrote:

> Thanks - this is somewhat reassuring (the ability to do some basic
> graph-like operations is one reason I have been using Riak).
>
> I have so far not had cause to use MapReduce. I wonder if you know of any
> examples/docs for using MapReduce to perform an operation similar to
> link_walking that I could use to get a head start?
>
> Thanks,
>
> Paul
>
> On 25 Mar 2014, at 15:08, Brian Roach <[email protected]> wrote:
>
> > Hi Paul,
> >
> > Link walking is being deprecated as Christian notes.
> >
> > We removed it from the official 2.0 clients for that reason, and also
> > that the new clients only use protocol buffers which on the Riak PB
> > API side never had that functionality directly.
> >
> > It is still possible to perform the operation, you just have to do it
> > through map-reduce (which is what our clients have always done when
> > using PB)
> >
> > Thanks,
> > - Roach
> >
> > On Tue, Mar 25, 2014 at 8:56 AM, Paul Walk <[email protected]> wrote:
> >> I'm gradually getting up to speed with the technical release of Riak
> 2.0, and am appreciating CRDT and the seamless integration into search.
> >>
> >> I had just turned my attention to links, and started to wonder how I
> should implement links when the objects I will mostly be dealing with are
> CRDT 'map' objects, when I discovered that the link-walking functions
> appear to have been removed from the latest Ruby client!!
> >>
> >> Is link-walking deprecated and intentionally removed from Riak version
> 2.0? Or is it just missing from the Ruby client?
> >>
> >> Paul
> >> -------------------------------------------
> >> Paul Walk
> >> http://www.paulwalk.net
> >> -------------------------------------------
> >>
> >>
> >>
> >>
> >>
> >>
> >> _______________________________________________
> >> riak-users mailing list
> >> [email protected]
> >> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>
> -------------------------------------------
> Paul Walk
> http://www.paulwalk.net
> -------------------------------------------
>
>
>
>
>
>
> _______________________________________________
> riak-users mailing list
> [email protected]
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>
_______________________________________________
riak-users mailing list
[email protected]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to