> On Nov 15, 2025, at 9:47 PM, Alex Miller <[email protected]> wrote:
> 
> To lead with the summary, there's two main points in the below.
>  … 

> The above is mostly just the chunks I've worked on/around before, but
> all of that left the impression that competing on OLTP performance seems
> intractable when your competition gets to break abstraction layers and
> you don't. Cassandra does seem to let one register custom code
> plugin-style for other features already (e.g. Triggers), and how much of
> that can be used/extended to permit the abstraction breaking necessary
> for performance is what I'd be staring at closely if someone told me to
> go implement SQL for Cassandra. ;)


Thanks for taking the time to reply, Alex. I THINK you and I first chatted 
about this probably 6 years ago (give or take), and I know you spend a lot of 
time in this space, so always nice to hear from you (I wanted to spark a 
conversation, and nudging you about distributed sql is always an easy way to do 
that).

In general, I don’t disagree with almost anything you've written (including 
that Claude’s implementation of the transaction protocol is not great, which 
should surprise nobody), with perhaps one or two caveats: I don’t think any of 
the current extension points are going to get you much closer than CQL - 
pushing mvcc down into cassandra would give you a chance, but none of the 
current extension points get you anywhere near that in any rational way. If one 
was willing to live in the same JVM, extending some of the classes definitely 
opens up a few options. Would obviously make things much easier / more 
performant, though. Similarly, the accord protocol should make some of the 
optimizations you mentioned viable, I don’t know if the accord grammar as 
implemented today in CQL actually allows that (again, I didnt try very hard, 
but the nature of both the let/select read and the conditional block is fairly 
rigid in the current implementation). Both of those mostly reinforce your real 
point, though (“if you want this to be fast, you probably don’t want to do it 
via CQL”), which, now that I’ve tried it, isn’t something I’m going to disagree 
with at all.  



Reply via email to