[
https://issues.apache.org/jira/browse/CASSANDRA-13475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16247780#comment-16247780
]
Joshua McKenzie commented on CASSANDRA-13475:
---------------------------------------------
bq. I'd say it's at the bare minimum a full-time one man-year project assuming
a solid engineer that is pretty familiar with the code base to start with
Given it took you, arguably one of the most knowledgeable engineers on the
project since the start, a year and a half just to _refactor the Storage
Engine_, refactoring even "just" the the inter-connected static state and
tracking down and plugging sufficient abstraction leaks, not to mention
invisible reliance on side effects / performance implications of the current
formats, for things that touch that Storage Engine to make it safe to have it
be pluggable...
Yeah, I'd be super impressed if a single person working full-time got to a
deliverable place in two years TBH. It takes a hell of a lot of work and
deliberation to unwind a decade's worth of code-base debt to where making a
change like this wouldn't be super high risk.
bq. Don't get me wrong, I'd be very happy to see someone start to tackle that
first step seriously, I think it's actually important for the project moving
forward, but we're imo a long long way from being in a state where we can start
to talk seriously about having pluggable storage engine in a clean way.
I second that. This is something we've talked about extensively for years but
nobody has ever really been able to start chewing on it in an incremental way.
> First version of pluggable storage engine API.
> ----------------------------------------------
>
> Key: CASSANDRA-13475
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13475
> Project: Cassandra
> Issue Type: Sub-task
> Reporter: Dikang Gu
> Assignee: Dikang Gu
>
> In order to support pluggable storage engine, we need to define a unified
> interface/API, which can allow us to plug in different storage engines for
> different requirements.
> Here is a design quip we are currently working on:
> https://quip.com/bhw5ABUCi3co
> In very high level, the storage engine interface should include APIs to:
> 1. Apply update into the engine.
> 2. Query data from the engine.
> 3. Stream data in/out to/from the engine.
> 4. Table operations, like create/drop/truncate a table, etc.
> 5. Various stats about the engine.
> I create this ticket to start the discussions about the interface.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]