[ 
https://issues.apache.org/jira/browse/CASSANDRA-13475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16227235#comment-16227235
 ] 

Dikang Gu commented on CASSANDRA-13475:
---------------------------------------

[~iamaleksey], thanks for commenting on it, I agree with most of what you said, 
like the metadata, metrics, etc. And I totally understand that it's a huge 
effort to refactor current storage engine, that's why I want to do it 
gradually, so that we can have better test coverage for each stage. I still 
think StorageEngine API is a better approach than clean up the Keyspace/CFS as 
the first step. But at the meanwhile, I understand your concern that the 
storage engine api I proposed only shows how I will implement a new engine but 
probably does not demonstrate how I will refactor existing storage engine. 

So next step, I will try to abstract the keyspace and CFS classes, as you 
suggested, and have a list of steps of how I will refactor existing engine. As 
in the storage engine API, I think streaming will be the biggest challenge.

Take one step back, I'm very sold on the pluggable storage engine idea, given 
all the gains we have been seen. I will continue to try to push it forward. 

> 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. 
> 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]

Reply via email to