[ https://issues.apache.org/jira/browse/CASSANDRA-2995?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13089557#comment-13089557 ]
Shunsuke Nakamura edited comment on CASSANDRA-2995 at 8/23/11 4:17 PM: ----------------------------------------------------------------------- I am a developer of MyCassandra, that provides storage engine pluggability. It supports MySQL, Redis, Kyoto Cabinet, MongoDB and the others in addition to the original storage engine of Cassandra. A storage engine is a performance bottleneck in most applications. The pluggability provides rapid improvement of performance and adaptability to various applications in a very straightforward way though caching techniques started working well these days. * Data model MyCassandra supports the same schemaless multi-dimensional map as Cassandra. It maps the data model to tables in RDB and key-value pairs in key-value stores using object serialization and labeling keys and columns. The mapping does not make a sparse RDB table because a record is mapped to a key-value pair. * Open problems Data model mapping requires more elaboration. ・ Secondary indices They require a raw column though usually a row is object-serialized. It is also difficult to add a secondary index later for today's MyCassandra because it requires traversal of all rows a schema change. ・ Row capacity The size of a column in RDB is fixed when a schema is defined. It is static. ・ Lookup efficiency in a row MyCassandra serializes a row to store it into a table or a KVS. A lookup in a row requires deserialization. A research paper about MyCassandra become available soon. It has design performance and results of MyCassandra. http://www.slideshare.net/sunsuk7tp/mycassandra-8499189 was (Author: sunsuk7tp): I am a developer of MyCassandra, that provides storage engine pluggability. It supports MySQL, Redis, Kyoto Cabinet, MongoDB and the others in addition to the original storage engine of Cassandra. A storage engine is a performance bottleneck in most applications. The pluggability provides rapid improvement of performance and adaptability to various applications in a very straightforward way though caching techniques started working well these days. - Data model MyCassandra supports the same schemaless multi-dimensional map as Cassandra. It maps the data model to tables in RDB and key-value pairs in key-value stores using object serialization and labeling keys and columns. The mapping does not make a sparse RDB table because a record is mapped to a key-value pair. - Open problems Data model mapping requires more elaboration. -- Secondary indices They require a raw column though usually a row is object-serialized. It is also difficult to add a secondary index later for today's MyCassandra because it requires traversal of all rows a schema change. -- Row capacity The size of a column in RDB is fixed when a schema is defined. It is static. -- Lookup efficiency in a row MyCassandra serializes a row to store it into a table or a KVS. A lookup in a row requires deserialization. A research paper about MyCassandra become available soon. It has design performance results of MyCassandra. http://www.slideshare.net/sunsuk7tp/mycassandra-8499189 > Making Storage Engine Pluggable > ------------------------------- > > Key: CASSANDRA-2995 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2995 > Project: Cassandra > Issue Type: New Feature > Components: Core > Affects Versions: 0.8.2 > Reporter: Muga Nishizawa > > Will you design and implement Cassandra's storage engine API like MyCassandra? > MyCassandra provides extensible architecture for pluging other storage > engines to Cassandra like MySQL. > https://github.com/sunsuk7tp/MyCassandra/ > > It could be advantageous for Cassandra to make the storage engine pluggable. > This could allow Cassandra to > - deal with potential use cases where maybe the current sstables are not the > best fit > - allow several types of internal storage formats (at the same time) > optimized for different data types > - allow easier experiments and research on new storage formats (encourage > research institutions to do strange things with Cassandra) > - there could also be potential advantages from better isolation of the data > engine in terms of less risk for data corruptions if other parts of Cassandra > change -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira