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

Dikang Gu edited comment on CASSANDRA-13475 at 10/30/17 11:34 PM:
------------------------------------------------------------------

[~bdeggleston] My major motivation is that we probably don't really need the 
CFS reference inside the StorageEngine, at least in our RocksDB based 
implementation. In most case, I just need an identify to the column family I'm 
current working on, could be table name or table uuid (maybe uuid is better 
than table name), not necessary to be the CFS. That's why I address 
[~spo...@gmail.com] 's comments on the CFS.

Can you explain more about `main hooks for a pluggable storage layer should be 
a CFS implementation`? Current in my proposal, write requests will be 
implemented under the `applyMutate` API and read requests will be handled by 
implementing the Partition interface. For Keyspace and CFS, most of the 
coordinating logic should be remain unchanged.


was (Author: dikanggu):
My major motivation is that we probably don't really need the CFS reference 
inside the StorageEngine, at least in our RocksDB based implementation. In most 
case, I just need an identify to the column family I'm current working on, 
could be table name or table uuid (maybe uuid is better than table name), not 
necessary to be the CFS. That's why I address [~spo...@gmail.com] 's comments 
on the CFS.

Can you explain more about `main hooks for a pluggable storage layer should be 
a CFS implementation`? Current in my proposal, write requests will be 
implemented under the `applyMutate` API and read requests will be handled by 
implementing the Partition interface. For Keyspace and CFS, most of the 
coordinating logic should be remain unchanged.

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

Reply via email to