[ 
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: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to