An open letter to Vertica
By way of a blog post from Mike Stonebraker you recently endeavoured to lay down a mandate for the key criteria for what constitutes a true column store. This was a highly laudable effort. However, after the post generated more responses, interest and external commentary than any previous Vertica blog post, it disappeared.
I remember Ken Jacobs of Oracle once saying there are two things a database has to do: it must deliver accurate results, and it must not destroy what you put in it. Should a blog post about databases not be held to the same standard?
When a gauntlet is thrown down, shouldn’t it be allowed to persist long enough to be picked up? Imagine in days of yore if, in order to defend your honour, you challenged someone to a duel and threw down your gauntlet with a hearty cry of, “I challenge you, you bounder!” Then, when your competitor picks it up and accepts the challenge, you quickly snatch it back. “Sorry, I didn’t think you would actually accept, I mean, well… What gauntlet? YOU SAW NOTHING!”
There are many possible explanations for this curious case of now missing column-store criteria. One of Vertica’s rapidly changing marketing heads could have had it put up only for a replacement to pull it down. Mike could have decided he wanted to re-write it in iambic pentameter in celebration of Shakespear’s birthday. Or the debate might have simply become something Vertica and Mike were unprepared to handle.
Regardless the post should have stayed up. Without doubt, the tired old rag of legacy systems have had every last drop of performance wrung dry from them. Optimising hardware by constantly buying the next best, brightest and most expensive technology, tinkering with database tuning until tears fall from the DBA’s cheeks, or simply telling business users “no” in every permutation of language and gesture possible, isn’t working. It is clear we have to do something different if we expect a different result. Einstein defined insanity as repeating a task and expecting a different result. Few people outside of Oracle, IBM and Teradata, are continuing to say that the old way is the right way.
Given many accept there should be a new approach for analytic databases then let’s have that debate. Let’s have the real column stores please stand up. Let’s compare, contrast and let the analysts, enterprises, and users determine the requirements.
Mike’s blog focused on competing with vendors who weren’t competitive, who brought rows to a column fight. It was perhaps a rehash of an Oracle white paper from 1990 — find “Ingres” replace with “Vertica”. But it started the conversation.
SAND, Vertica, SAP, ParAccel, Asterdata and Infobright, these are the real column stores for whom criteria can be examined and defined. I welcome that debate. I would be delighted if these criteria are set forth as bit-vector encoding, infinite optimization, and generation based concurrency control — SAND could knock it out of the park. However, if they ended up including things SAND didn’t have, I wouldn’t whine about it. I wouldn’t pick up our ball and run crying from the playground. And I certainly wouldn’t take down my blog.
Let’s get Mike’s post back up on Vertica and let’s get the debate going. I’ve thrown down my gauntlet and I can guarantee it will stay down until it gets picked up.