Proceedings of the 5th Annual International Systems and Storage Conference on - SYSTOR '12
A cloud storage with persistence shows solid performance only with a read heavy or write heavy workload. There is a trade-off between the read-optimized and write-optimized design of a cloud storage. This is dominated by its storage engine, which is a software component for managing data stored on memory and disk. A storage engine can be pluggable with an adequate software design though today's cloud storages are not always modular. We developed a modular cloud storage called MyCassandra to
... nstrate that such a cloud storage can be read-optimized and writeoptimized with a modular design. Various storage engines can be introduced into MyCassandra and they determine with what workload the cloud storage can perform well. With MyCassandra we proved that such a modular design enables a cloud storage to adapt to workloads. We propose a method to build a cloud storage that performs well with both read heavy and write heavy workloads. A heterogeneous cluster is built from MyCassandra nodes with different storage engines, read-optimized, write-optimized, and on-memory (read-andwrite-optimized). A query is routed to nodes that efficiently process it while the cluster maintains consistency between data replicas with a quorum protocol. The cluster showed comparable performance with the original Cassandra for write heavy workloads, and it showed considerably better performance for read heavy workloads. With read-only workload, read latency was 90.4% lower than and throughput was 11.00 times as high as Cassandra.