cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tom Melendez <...@supertom.com>
Subject Re: Using mySQL to emulate Cassandra
Date Sun, 28 Nov 2010 16:35:01 GMT
On Sun, Nov 28, 2010 at 12:28 AM, David Boxenhorn <david@lookin2.com> wrote:
> As our launch date approaches, I am getting increasingly nervous about
> Cassandra tuning. It is a mysterious black art that I haven't mastered even
> at the low usages that we have now. I know of a few more things I can do to
> improve things, but how will I know if it is enough? All this is
> particularly ironic since - as we are just starting out - we don't have
> scalability problems yet, though we hope to!
>
How are your load tests looking?  Of course, there's nothing like
going live, but I expect you'll be able to simulate 2x-3x your initial
launch traffic.

> Luckily, I have completely wrapped Cassandra in an entity mapper, so that I
> can easily trade in something else, perhaps temporarily, until we really
> need Cassandra's scalability.
>
> So, I'm thinking of emulating Cassandra with mySQL. I would use mySQL either
> as a simple key-value store, without joins, or map Cassandra supercolumns to
> mySQL columns, probably of type CLOB.
>
> Does anyone want to talk me out of this?
>

As you said, I think you just have some cold feet.

My feeling is that you did some original research and decided on
Cassandra for various reasons.  I think if you put the MySQL solution
in now, you won't go back to the Cassandra solution, because once its
live, it will be much riskier to switch.  And if you feel you made a
mistake in your original assessment, then great, at least you found
out before launch.

Whatever you choose, I would flesh out my my fears with as much detail
as possible.  Invest in load tests and develop contingency plans.  I
talked about this in 2009 a little bit here - see slide 22, we call
these "Defcon Levels".

http://www.slideshare.net/supertom/building-configurable-applications-for-the-web

The idea is prioritizing what REALLY is important if the shit hits the
fan (watch out, biz folks think everything is always important) and
having processes to implemen and knobs to turn and levers to pull
should you get slashdotted (or "facebooked", "tweeted", "oprahed",
"techcrunched" or whatever we call it these days).

Good luck with your launch.

Thanks,

Tom

Mime
View raw message