Responses inline.

On Wed, Apr 2, 2014 at 3:42 AM, Igor Kukushkin <i...@pbne.mygbiz.com> wrote:

> Hi all.
>
> Here's a simple scenario that we're planning to test: a cluster of 4
> nodes, 2 are normal eleveldb'backend nodes and 2 are stored on RAM
> (with same eleveldb backend).
>

Going to put this out here right now, this is a very non-standard setup.
Riak treats all nodes equally, keys are consistently hashed across the
cluster, and there is no in-built weighting. I'd either make faster LevelDB
nodes (maybe with SSDs) or go full in on the RAM angle and just have enough
machines for failover. Spitting the difference doesn't really get you any
advantages with Riak. You're also still below the 5 node threshold so there
is still unrealized performance being left on the table before even getting
to the physical node attributes.

>
> We plan to use RAM nodes as a fast "frontend".
>
>
> Question A:
> RAM disks are completely volatile, so nodes will restart with no data
> stored.
> So, what will happen at restart? If a Riak node is restarted in a
> "clean" state (no data, same state as it was on creation), will it
> receive the state from disk nodes? Or it's required to re-add it to
> cluster?
>

If you have AAE[1] enabled then the node would begin rebuilding itself if
already a member of the cluster. Depending on the amount of data rebuild
times may not be ideal.

>
> Question B: due to huge speed difference between on-disk and on-RAM
> backend, should any replication side-effects be expected?
>
 Latency profiles are going to be weird - if you make a request (Assuming
default N/R/W) then Riak will still have to query 2 nodes minimum on a GET
and as keys are consistently hashed there is no controlling where they
live. So you could on any given query completely negate the speed advantage
of running the RAM backed nodes.

>
> Quesion C: should we use memory_backend + leveldb_backend nodes
> together instead of building that? Does Riak networking topology
> allows for mixed backends?
>
It depends on what you're trying to achieve but it's entirely possible.
Riak support multi-backends per node, in fact that is how Riak CS works, so
running memory and levelDB on each node is a viable option. So yes, Riak
definitely supports running multiple backends per node. It's worth noting
that Riak will "happily" run with different/mixed backends on each node
(say 3 nodes levelDB and 1 Bitcask) and still mostly work as it's largely
agnostic to the specific backend unless doing an operation specific to that
backend (like a 2i query).

> --
> Igor
>
> _______________________________________________
> riak-users mailing list
> riak-users@lists.basho.com
> http://lists.basho.com/mailman/listinfo/riak-users_lists.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