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