On Sun, Nov 28, 2010 at 12:28 AM, David Boxenhorn <da...@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