CRDB SQL Layer as a standalone module/library

Following up on some posts here, I was wondering how hard it would be or if there are any plans to modularize the CRDB SQL layer so that it could be used on top of some other storage system.


1 Like

We (the crdb devs) certainly don’t have such plans at the moment - we have one storage engine and we’re rolling with it.

About how hard it would be - there’s not many interactions between our SQL layer and the underlying KV layer. There’s transaction-management stuff in the Executor that’d need to change - that module resolves the impedance mismatch between SQL session-bound transactions and the transactional capabilities of the lower levels. And then the few sql “nodes” that actually read and write data to the lower levels would need to be adapted - but these are a minority of the nodes. And then, of course, the query optimizer and index selection make various assumptions about the storage.

You may want to check Pivotal’s Orca as something branded as a modular SQL system. Perhaps that’s better suited for targeting different storage engines.