Hi,
I have a doubt on a configuration I am using for some experiments.
Basically, I issue write and read requests from a client machine using the built-in performance tool.
I have 2 nodes running on different machines with replication factor 2 (see attached config files). The partitioning is the following:
Node 0 = partitions 0,1
Node 1 = partition 2,3
My goal is is to retrieve/insert as fast as possible the data. I thought to use a full replication setting in order to retrieve/insert each value from/to both the nodes and collect the fastest response. example: the client wants to read or write X. It sends 2 requests, one towards Node 0, the other towards Node 1. Eventually it will collect the fastest response, ignoring or resetting the remaining connection of the slowest response.
Am I wrong or with this configuration I won't achieve replication factor 2? I mean, it can happen that the datum X is only on one of the two nodes. So I guess that the configuration I need is the following, right?
Node 0 = partitions 0,3
Node 1 = partition 1,3
Moreover, what is the difference between having 4 partitions instead of just 2? ( e.g. Node 0 = partition 0, Node 1 = partition 1 )
Last check, is this the right way to be capable to issue requests towards both the nodes at the same time? I assumed the client is informed of the address of the 2nd node and automatically issue requests toward both of them
./voldemort-performance-tool.sh
<...> --url tcp://
192.168.0.9:6666 --store-name test
Thanks!
store configuration file
<persistence>bdb</persistence>
<description>Test store</description>
<routing-strategy>consistent-routing</routing-strategy>
<routing>client</routing>
<replication-factor>2</replication-factor>
<required-reads>1</required-reads>
<required-writes>1</required-writes>
<hinted-handoff-strategy>consistent-handoff</hinted-handoff-strategy>
cluster.xml
<name>myprodcluster</name>
<http-port>8081</http-port>
<socket-port>6666</socket-port>
<admin-port>7777</admin-port>
<partitions>0, 1</partitions>
<http-port>8081</http-port>
<socket-port>6666</socket-port>
<admin-port>6667</admin-port>
<partitions>2, 3</partitions>