![](https://secure.gravatar.com/avatar/c7422c379fec4aa4d99a8a137bf10594.jpg?s=120&d=mm&r=g)
On Wed, May 11, 2016 at 08:26:49PM +0300, Sergey Petrunia wrote:
On Wed, Apr 27, 2016 at 07:44:11AM +0100, Charles Muurmu wrote:
I am Charles Muurmu also known as laserlight on IRC and I was selected for GSoC 2016 to work on migrating MariaDB Cassandra storage engine from the Thrift API to Datastax driver. I will be mentored by Spetrunia. My goals for this community bonding period will be get myself ready by accomplishing the following tasks:
Fork and clone the server code.
Try to build the code.
Setup a blog on which I will post weekly reports on progress.
Study the Datastax C++ driver API and documentation.
When CassandraSE V1 was in development, I was unable to use CQL, because Thrift API was such that the entire CQL resultset had to be materialized before it could be sent to the client. That is, running "select * from column_family" would cause the cassandra node and/or MySQL to die from attempting to use too much memory.
I'm interested to learn how this is resolved in the Datastax driver.
Study the ha_cassandra.xx code and storage engines architecture.
Good plan.
Hopefully the last two items will give a better idea about how to structure the coding (what to do as the first, second, etc milestone).
Another question to think about is data models. Use of Thrift API calls in CassandraSE V1 meant that - secondary indexes could not be used - there were some other limitation on what datatypes could be used (I don't remember what they were exactly). Now, if we are using CQL, it should be possible to use those. Maybe there's also something else that I'm not aware of. BR Sergei -- Sergei Petrunia, Software Developer MariaDB Corporation | Skype: sergefp | Blog: http://s.petrunia.net/blog