Constance Eustace created CASSANDRA-16326:
---------------------------------------------

             Summary: Cloud/AWS - use local instance stores for reads and 
mirror sstables to EBS
                 Key: CASSANDRA-16326
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16326
             Project: Cassandra
          Issue Type: New Feature
            Reporter: Constance Eustace


Using instance stores for cassandra in AWS is difficult because instance 
restart involves a node reconstruction.

EBS has gotten better, but still suffers from restrictions in IOPS and more 
importantly, overall network bandwidth to the EBS subsystem.

If we could view the instance store as an actively managed sstable cache that 
is replicated to a mirrored ebs volume, we could utilize it for improved read 
performance. 

Flushing: a flush would flush to both the instance local ssd and to the ebs 
volume. Commitlogs are only removed once the flush to the ebs volume is 
completed.

Compaction: compaction would perform the sstable merge work on the instance 
local store with its vastly higher throughput. Once calculated, the sstables 
are only switched over once we have the compacted table mirrored. 

Read path: redirect all reads to instance local store sstables for servicing.

Write path is normal to the commitlog, and is impacted with the additional 
flush mechanics.

On instance restart, cassandra has to know that the instance store is cleared 
and needs to be warmed. This would trigger either a throttled copy and/or as 
sstables are read they are mirrored to the instance local store. 

I'm thinking this may become particularly important as extremely high 
performance SSDs like Intel's XPoint develops. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to