[ 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