On Sat, Sep 8, 2012 at 12:18 PM, Sebastian Cohnen
<sebastian.coh...@gmail.com> wrote:
> Sean,
>
> how do you explain these rather huge improvements Amazon presents in their 
> Dynamo paper?
>

My point was mainly that the performance benefits vs. complexity
overhead you would get from client-side routing is sometimes not as
great as simply getting better hardware or more nodes. That is a big,
complex feature to implement on both sides of the connection.

Clearly, doing a local disk I/O to fetch the key, and then waiting for
only one replica from the network before replying is going to be more
efficient than going to the remote nodes for both replicas needed to
meet the default quorum. Additionally, requesting fewer remote
replicas would reduce the effects of TCP incast, should you be under
high load. On the other hand, if the value is not in the local disk
cache or a buffer maintained by the storage engine, you might very
well be seek-bound (in some engines multiple seeks), making the
network overhead negligible in comparison. For example, we have seen
several Riak users on AWS become bound by latency to the EBS volume
(even when in RAID), while the network is comparatively idle.  Most
people also store small values in Riak, meaning a response from or
request to a replica will often fit inside a single MTU.

This is certainly something we want to do in the future, but without
it being the greatest bottleneck, we'll focus our performance
improvements elsewhere in the meantime. There are still many gains to
be made in our storage engines and other core components.

-- 
Sean Cribbs <s...@basho.com>
Software Engineer
Basho Technologies, Inc.
http://basho.com/

_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to