FYI there is an everywhere strategy waiting to be accepted:

https://issues.apache.org/jira/browse/CASSANDRA-12629

On Sat, 8 Oct 2016 at 10:56 Vladimir Yudovin <vla...@winguzone.com> wrote:

Well, it can be useful in some scenarios - e.g. temporary tables on nearest
or the same node.



Best regards, Vladimir Yudovin,

Winguzone - Hosted Cloud Cassandra on Azure and SoftLayer.

Launch your cluster in minutes.









---- On Sat, 08 Oct 2016 13:44:00 -0400 Jeff Jirsa&lt;jji...@gmail.com&gt;
wrote ----



I'm sure that's what he meant, I just disagree that it sounds useful



--

Jeff Jirsa





&gt; On Oct 8, 2016, at 10:33 AM, Vladimir Yudovin &lt;vla...@winguzone.com&gt;
wrote:

&gt;

&gt; As far as I understand Edward meant to have option determinate actual
storage node on client side, by driver, disregarding key hash/tokens
mechanism.

&gt;

&gt; Best regards, Vladimir Yudovin,

&gt; Winguzone - Hosted Cloud Cassandra on Azure and SoftLayer.

&gt; Launch your cluster in minutes.

&gt;

&gt;

&gt;

&gt;

&gt; ---- On Sat, 08 Oct 2016 13:17:14 -0400 Jeff Jirsa &
amp;lt;jji...@gmail.com&amp;gt; wrote ----

&gt;

&gt; That sounds awful, especially since you could just use SimpleStrategy
with RF=1 and then bootstrap / decom would handle resharding for you as
expected.

&gt;

&gt; --

&gt; Jeff Jirsa

&gt;

&gt;

&gt; &amp;gt; On Oct 8, 2016, at 10:09 AM, Edward Capriolo &
amp;lt;edlinuxg...@gmail.com&amp;gt; wrote:

&gt; &amp;gt;

&gt; &amp;gt; I have contemplated using LocalStrategy as a "do it yourself
client side

&gt; &amp;gt; sharding system".

&gt; &amp;gt;

&gt; &amp;gt; On Sat, Oct 8, 2016 at 12:37 AM, Vladimir Yudovin &
amp;lt;vla...@winguzone.com&amp;gt;

&gt; &amp;gt; wrote:

&gt; &amp;gt;

&gt; &amp;gt;&amp;gt; Hi Prasenjit,

&gt; &amp;gt;&amp;gt; I would like to get the replication factors of the
key-spaces using the

&gt; &amp;gt;&amp;gt; strategies in the same way we get the replication
factors for Simple and

&gt; &amp;gt;&amp;gt; NetworkTopology.

&gt; &amp;gt;&amp;gt; Actually LocalSarategy has no replication factor:

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt; SELECT * FROM system_schema.keyspaces WHERE
keyspace_name IN ('system',

&gt; &amp;gt;&amp;gt; 'system_schema');

&gt; &amp;gt;&amp;gt; keyspace_name | durable_writes | replication

&gt; &amp;gt;&amp;gt;
---------------+----------------+---------------------------

&gt; &amp;gt;&amp;gt; -----------------------------------------

&gt; &amp;gt;&amp;gt; system | True | {'class':

&gt; &amp;gt;&amp;gt; 'org.apache.cassandra.locator.LocalStrategy'}

&gt; &amp;gt;&amp;gt; system_schema | True | {'class':

&gt; &amp;gt;&amp;gt; 'org.apache.cassandra.locator.LocalStrategy'}

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt; It's used for internal tables and not accessible to
users:

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt; CREATE KEYSPACE excel WITH replication = {'class':
'LocalStrategy'};

&gt; &amp;gt;&amp;gt; ConfigurationException: Unable to use given strategy
class: LocalStrategy

&gt; &amp;gt;&amp;gt; is reserved for internal use.

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt; Best regards, Vladimir Yudovin,

&gt; &amp;gt;&amp;gt; Winguzone - Hosted Cloud Cassandra on Azure and
SoftLayer.

&gt; &amp;gt;&amp;gt; Launch your cluster in minutes.

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt; ---- On Fri, 07 Oct 2016 17:06:09 -0400 Prasenjit

&gt; &amp;gt;&amp;gt; Sarkar&amp;amp;lt;prasenjit.sar...@datos.io&amp;amp;gt;
wrote ----

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt; Thanks Vlad and Jeremiah.

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt; There were questions about support, so let me address
that in more detail.

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt; If I look at the latest Cassandra python driver, the
support for

&gt; &amp;gt;&amp;gt; LocalStrategy is very limited (code snippet shown
below) and the support

&gt; &amp;gt;&amp;gt; for EverywhereStrategy is non-existent. By limited I
mean that the

&gt; &amp;gt;&amp;gt; Cassandra python driver only provides the name of the
strategy for

&gt; &amp;gt;&amp;gt; LocalStrategy and not much else.

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt; What I would like (and happy to help) is for the
Cassandra python driver to

&gt; &amp;gt;&amp;gt; provide support for Local and Everywhere to the same
extent it is provided

&gt; &amp;gt;&amp;gt; for Simple and NetworkTopology. I understand that
token aware routing is

&gt; &amp;gt;&amp;gt; not applicable to either strategy but I would like to
get the replication

&gt; &amp;gt;&amp;gt; factors of the key-spaces using the strategies in the
same way we get the

&gt; &amp;gt;&amp;gt; replication factors for Simple and NetworkTopology.

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt; Hope this helps,

&gt; &amp;gt;&amp;gt; Prasenjit

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt; class LocalStrategy(ReplicationStrategy):

&gt; &amp;gt;&amp;gt; def __init__(self, options_map):

&gt; &amp;gt;&amp;gt; pass

&gt; &amp;gt;&amp;gt; def make_token_replica_map(self, token_to_host_owner,
ring):

&gt; &amp;gt;&amp;gt; return {}

&gt; &amp;gt;&amp;gt; def export_for_schema(self):

&gt; &amp;gt;&amp;gt; """

&gt; &amp;gt;&amp;gt; Returns a string version of these replication options
which are

&gt; &amp;gt;&amp;gt; suitable for use in a CREATE KEYSPACE statement.

&gt; &amp;gt;&amp;gt; """

&gt; &amp;gt;&amp;gt; return "{'class': 'LocalStrategy'}"

&gt; &amp;gt;&amp;gt; def __eq__(self, other):

&gt; &amp;gt;&amp;gt; return isinstance(other, LocalStrategy)

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt; On Fri, Oct 7, 2016 at 11:56 AM, Jeremiah D Jordan
&amp;amp;lt;

&gt; &amp;gt;&amp;gt; jeremiah.jor...@gmail.com&amp;amp;gt; wrote:

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt; &amp;amp;gt; What kind of support are you thinking
of? All drivers should support

&gt; &amp;gt;&amp;gt; them

&gt; &amp;gt;&amp;gt; &amp;amp;gt; already, drivers shouldn’t care about
replication strategy except when

&gt; &amp;gt;&amp;gt; &amp;amp;gt; trying to do token aware routing.

&gt; &amp;gt;&amp;gt; &amp;amp;gt; But since anyone can make a custom
replication strategy, drivers that

&gt; &amp;gt;&amp;gt; do

&gt; &amp;gt;&amp;gt; &amp;amp;gt; token aware routing just need to handle
falling back to not doing

&gt; &amp;gt;&amp;gt; token

&gt; &amp;gt;&amp;gt; &amp;amp;gt; aware routing if a replication strategy
they don’t know about is in

&gt; &amp;gt;&amp;gt; use.

&gt; &amp;gt;&amp;gt; &amp;amp;gt; All the open sources drivers I know of
do this, so they should all

&gt; &amp;gt;&amp;gt; &amp;amp;gt; “support” those strategies already.

&gt; &amp;gt;&amp;gt; &amp;amp;gt;

&gt; &amp;gt;&amp;gt; &amp;amp;gt; -Jeremiah

&gt; &amp;gt;&amp;gt; &amp;amp;gt;

&gt; &amp;gt;&amp;gt; &amp;amp;gt; &amp;amp;gt; On Oct 7, 2016, at 1:02 PM,
Prasenjit Sarkar &amp;amp;

&gt; &amp;gt;&amp;gt; lt;prasenjit.sar...@datos.io&amp;amp;gt;

&gt; &amp;gt;&amp;gt; &amp;amp;gt; wrote:

&gt; &amp;gt;&amp;gt; &amp;amp;gt; &amp;amp;gt;

&gt; &amp;gt;&amp;gt; &amp;amp;gt; &amp;amp;gt; Hi everyone,

&gt; &amp;gt;&amp;gt; &amp;amp;gt; &amp;amp;gt;

&gt; &amp;gt;&amp;gt; &amp;amp;gt; &amp;amp;gt; To the best of my
understanding that Datastax has proprietary

&gt; &amp;gt;&amp;gt; replication

&gt; &amp;gt;&amp;gt; &amp;amp;gt; &amp;amp;gt; strategies: Local and
Everywhere which are not part of the open

&gt; &amp;gt;&amp;gt; source

&gt; &amp;gt;&amp;gt; &amp;amp;gt; &amp;amp;gt; Apache Cassandra project.

&gt; &amp;gt;&amp;gt; &amp;amp;gt; &amp;amp;gt;

&gt; &amp;gt;&amp;gt; &amp;amp;gt; &amp;amp;gt; Do we know of any plans in
the open source Cassandra driver

&gt; &amp;gt;&amp;gt; community to

&gt; &amp;gt;&amp;gt; &amp;amp;gt; &amp;amp;gt; support these two
replication strategies? Would Datastax have a

&gt; &amp;gt;&amp;gt; licensing

&gt; &amp;gt;&amp;gt; &amp;amp;gt; &amp;amp;gt; concern if the open source
driver community supported these

&gt; &amp;gt;&amp;gt; strategies?

&gt; &amp;gt;&amp;gt; &amp;amp;gt; I'm

&gt; &amp;gt;&amp;gt; &amp;amp;gt; &amp;amp;gt; fairly new here and would
like to understand the dynamics.

&gt; &amp;gt;&amp;gt; &amp;amp;gt; &amp;amp;gt;

&gt; &amp;gt;&amp;gt; &amp;amp;gt; &amp;amp;gt; Thanks,

&gt; &amp;gt;&amp;gt; &amp;amp;gt; &amp;amp;gt; Prasenjit

&gt; &amp;gt;&amp;gt; &amp;amp;gt;

&gt; &amp;gt;&amp;gt; &amp;amp;gt;

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt;

&gt; &amp;gt;&amp;gt;

&gt;

&gt;

&gt;

&gt;

&gt;











-- 
Ben Bromhead
CTO | Instaclustr <https://www.instaclustr.com/>
+1 650 284 9692
Managed Cassandra / Spark on AWS, Azure and Softlayer

Reply via email to