Re: Cassandra Needs to Grow Up by Version Five!

2018-02-20 Thread Prasenjit Sarkar
Jeff,

I don't think you can push the topic of usability back to developers by
asking them to open JIRAs. It is upon the technical leaders of the
Cassandra community to take the initiative in this regard. We can argue
back and forth on the dynamics of open source projects, but the usability
concerns of Cassandra is a reality that can not be ignored.

Prasenjit

PS My views, not those of my employer

On Tue, Feb 20, 2018 at 10:22 PM, Kenneth Brotman <
kenbrot...@yahoo.com.invalid> wrote:

> If you watch this video through you'll see why usability is so important.
> You can't ignore usability issues.
>
> Cassandra does not exist in a vacuum.  The competitors are world class.
>
> The video is on the New Cassandra API for Azure Cosmos DB:
> https://www.youtube.com/watch?v=1Sf4McGN1AQ
>
> Kenneth Brotman
>
> -Original Message-
> From: Daniel Hölbling-Inzko [mailto:daniel.hoelbling-in...@bitmovin.com]
> Sent: Tuesday, February 20, 2018 1:28 AM
> To: u...@cassandra.apache.org; James Briggs
> Cc: dev@cassandra.apache.org
> Subject: Re: Cassandra Needs to Grow Up by Version Five!
>
> Hi,
>
> I have to add my own two cents here as the main thing that keeps me from
> really running Cassandra is the amount of pain running it incurs.
> Not so much because it's actually painful but because the tools are so
> different and the documentation and best practices are scattered across a
> dozen outdated DataStax articles and this mailing list etc.. We've been
> hesitant (although our use case is perfect for using Cassandra) to deploy
> Cassandra to any critical systems as even after a year of running it we
> still don't have the operational experience to confidently run critical
> systems with it.
>
> Simple things like a foolproof / safe cluster-wide S3 Backup (like
> Elasticsearch has it) would for example solve a TON of issues for new
> people. I don't need it auto-scheduled or something, but having to
> configure cron jobs across the whole cluster is a pain in the ass for small
> teams.
> To be honest, even the way snapshots are done right now is already super
> painful. Every other system I operated so far will just create one backup
> folder I can export, in C* the Backup is scattered across a bunch of
> different Keyspace folders etc.. needless to say that it took a while until
> I trusted my backup scripts fully.
>
> And especially for a Database I believe Backup/Restore needs to be a
> non-issue that's documented front and center. If not smaller teams just
> don't have the resources to dedicate to learning and building the tools
> around it.
>
> Now that the team is getting larger we could spare the resources to
> operate these things, but switching from a well-understood RDBMs schema to
> Cassandra is now incredibly hard and will probably take years.
>
> greetings Daniel
>
> On Tue, 20 Feb 2018 at 05:56 James Briggs 
> wrote:
>
> > Kenneth:
> >
> > What you said is not wrong.
> >
> > Vertica and Riak are examples of distributed databases that don't
> > require hand-holding.
> >
> > Cassandra is for Java-programmer DIYers, or more often Datastax
> > clients, at this point.
> > Thanks, James.
> >
> > --
> > *From:* Kenneth Brotman 
> > *To:* u...@cassandra.apache.org
> > *Cc:* dev@cassandra.apache.org
> > *Sent:* Monday, February 19, 2018 4:56 PM
> >
> > *Subject:* RE: Cassandra Needs to Grow Up by Version Five!
> >
> > Jeff, you helped me figure out what I was missing.  It just took me a
> > day to digest what you wrote.  I’m coming over from another type of
> > engineering.  I didn’t know and it’s not really documented.  Cassandra
> > runs in a data center.  Now days that means the nodes are going to be
> > in managed containers, Docker containers, managed by Kerbernetes,
> > Meso or something, and for that reason anyone operating Cassandra in a
> > real world setting would not encounter the issues I raised in the way I
> described.
> >
> > Shouldn’t the architectural diagrams people reference indicate that in
> > some way?  That would have help me.
> >
> > Kenneth Brotman
> >
> > *From:* Kenneth Brotman [mailto:kenbrot...@yahoo.com]
> > *Sent:* Monday, February 19, 2018 10:43 AM
> > *To:* 'u...@cassandra.apache.org'
> > *Cc:* 'dev@cassandra.apache.org'
> > *Subject:* RE: Cassandra Needs to Grow Up by Version Five!
> >
> > Well said.  Very fair.  I wouldn’t mind hearing from others still
> > You’re a good guy!
> >
> > Kenneth Brotman
> >
> > *From:* Jeff Jirsa [mailto:jji...@gmail.com ]
> > *Sent:* Monday, February 19, 2018 9:10 AM
> > *To:* cassandra
> > *Cc:* Cassandra DEV
> > *Subject:* Re: Cassandra Needs to Grow Up by Version Five!
> >
> > There's a lot of things below I disagree with, but it's ok. I
> > convinced myself not to nit-pick every point.
> >
> > https://issues.apache.org/jira/browse/CASSANDRA-13971 has some of
> > Stefan's work with cert management
> >
> > Beyond that, I encourage you to do what Michael suggested: open JIRAs
> > for things you care strongly about,

Re: Proprietary Replication Strategies: Cassandra Driver Support

2016-10-07 Thread Prasenjit Sarkar
Thanks, Jemeriah.

I'm aware of the change, we will use JIRAs to contribute back to the
community.

Prasenjit

On Fri, Oct 7, 2016 at 2:31 PM, J. D. Jordan 
wrote:

> The Python driver does support it, it is supported as a custom strategy. I
> was the one to implement it in
>
> https://datastax-oss.atlassian.net/browse/PYTHON-191
>
> It makes the class for it on the fly.
>
> Not sure what else you want it to do, but if you have a suggestion for an
> improvement to a specific driver you should open up a ticket on that
> drivers JIRA.
>
> -Jeremiah
>
> > On Oct 7, 2016, at 4:06 PM, Prasenjit Sarkar 
> wrote:
> >
> > Thanks Vlad and Jeremiah.
> >
> > There were questions about support, so let me address that in more
> detail.
> >
> > If I look at the latest Cassandra python driver, the support for
> > LocalStrategy is very limited (code snippet shown below) and the support
> > for EverywhereStrategy is non-existent. By limited I mean that the
> > Cassandra python driver only provides the name of the strategy for
> > LocalStrategy and not much else.
> >
> > What I would like (and happy to help) is for the Cassandra python driver
> to
> > provide support for Local and Everywhere to the same extent it is
> provided
> > for Simple and NetworkTopology. I understand that token aware routing is
> > not applicable to either strategy but I would like to get the replication
> > factors of the key-spaces using the strategies in the same way we get the
> > replication factors for Simple and NetworkTopology.
> >
> > Hope this helps,
> > Prasenjit
> >
> >
> > class LocalStrategy(ReplicationStrategy):
> > def __init__(self, options_map):
> > pass
> > def make_token_replica_map(self, token_to_host_owner, ring):
> > return {}
> > def export_for_schema(self):
> > """
> > Returns a string version of these replication options which are
> > suitable for use in a CREATE KEYSPACE statement.
> > """
> > return "{'class': 'LocalStrategy'}"
> > def __eq__(self, other):
> > return isinstance(other, LocalStrategy)
> >
> > On Fri, Oct 7, 2016 at 11:56 AM, Jeremiah D Jordan <
> > jeremiah.jor...@gmail.com> wrote:
> >
> >> What kind of support are you thinking of?  All drivers should support
> them
> >> already, drivers shouldn’t care about replication strategy except when
> >> trying to do token aware routing.
> >> But since anyone can make a custom replication strategy, drivers that do
> >> token aware routing just need to handle falling back to not doing token
> >> aware routing if a replication strategy they don’t know about is in use.
> >> All the open sources drivers I know of do this, so they should all
> >> “support” those strategies already.
> >>
> >> -Jeremiah
> >>
> >>> On Oct 7, 2016, at 1:02 PM, Prasenjit Sarkar <
> prasenjit.sar...@datos.io>
> >> wrote:
> >>>
> >>> Hi everyone,
> >>>
> >>> To the best of my understanding that Datastax has proprietary
> replication
> >>> strategies: Local and Everywhere which are not part of the open source
> >>> Apache Cassandra project.
> >>>
> >>> Do we know of any plans in the open source Cassandra driver community
> to
> >>> support these two replication strategies? Would Datastax have a
> licensing
> >>> concern if the open source driver community supported these strategies?
> >> I'm
> >>> fairly new here and would like to understand the dynamics.
> >>>
> >>> Thanks,
> >>> Prasenjit
> >>
> >>
>


Re: Proprietary Replication Strategies: Cassandra Driver Support

2016-10-07 Thread Prasenjit Sarkar
Thanks Vlad and Jeremiah.

There were questions about support, so let me address that in more detail.

If I look at the latest Cassandra python driver, the support for
LocalStrategy is very limited (code snippet shown below) and the support
for EverywhereStrategy is non-existent. By limited I mean that the
Cassandra python driver only provides the name of the strategy for
LocalStrategy and not much else.

What I would like (and happy to help) is for the Cassandra python driver to
provide support for Local and Everywhere to the same extent it is provided
for Simple and NetworkTopology. I understand that token aware routing is
not applicable to either strategy but I would like to get the replication
factors of the key-spaces using the strategies in the same way we get the
replication factors for Simple and NetworkTopology.

Hope this helps,
Prasenjit


class LocalStrategy(ReplicationStrategy):
def __init__(self, options_map):
pass
def make_token_replica_map(self, token_to_host_owner, ring):
return {}
def export_for_schema(self):
"""
Returns a string version of these replication options which are
suitable for use in a CREATE KEYSPACE statement.
"""
return "{'class': 'LocalStrategy'}"
def __eq__(self, other):
return isinstance(other, LocalStrategy)

On Fri, Oct 7, 2016 at 11:56 AM, Jeremiah D Jordan <
jeremiah.jor...@gmail.com> wrote:

> What kind of support are you thinking of?  All drivers should support them
> already, drivers shouldn’t care about replication strategy except when
> trying to do token aware routing.
> But since anyone can make a custom replication strategy, drivers that do
> token aware routing just need to handle falling back to not doing token
> aware routing if a replication strategy they don’t know about is in use.
> All the open sources drivers I know of do this, so they should all
> “support” those strategies already.
>
> -Jeremiah
>
> > On Oct 7, 2016, at 1:02 PM, Prasenjit Sarkar 
> wrote:
> >
> > Hi everyone,
> >
> > To the best of my understanding that Datastax has proprietary replication
> > strategies: Local and Everywhere which are not part of the open source
> > Apache Cassandra project.
> >
> > Do we know of any plans in the open source Cassandra driver community to
> > support these two replication strategies? Would Datastax have a licensing
> > concern if the open source driver community supported these strategies?
> I'm
> > fairly new here and would like to understand the dynamics.
> >
> > Thanks,
> > Prasenjit
>
>


Proprietary Replication Strategies: Cassandra Driver Support

2016-10-07 Thread Prasenjit Sarkar
Hi everyone,

To the best of my understanding that Datastax has proprietary replication
strategies: Local and Everywhere which are not part of the open source
Apache Cassandra project.

Do we know of any plans in the open source Cassandra driver community to
support these two replication strategies? Would Datastax have a licensing
concern if the open source driver community supported these strategies? I'm
fairly new here and would like to understand the dynamics.

Thanks,
Prasenjit