...
Apache Cassandra is widely used open-source distributed NoSQL database management system. Cassandra has been designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure. Cassandra is one of widely used databases in the industry. Apache Gora Cassandra module is written based on thrift connector (Hector connector) but currently, Cassandra developers has been removed the thrift connector and they have moved into CQL (Cassandra Query Language), which is very much similar to SQL. So the Cassandra community has been migrated to CQL, Therefore the latest Cassandra databases servers which use CQL 3,4 versions are not compatible with gora cassandra module. Therefore current gora cassandra module is little bit out dated.
CQL performance is much better than thrift (Hector) [1]
...
<gora-otd>
<keyspace name="Employee" host="localhost" placement_strategy="org.apache.cassandra.locator.SimpleStrategy" replication_factor="1" cluster="Gora Cassandra Test Cluster">
<family name="p" gc_grace_seconds="5" />
<family name="f" gc_grace_seconds="5" />
<family name="sc" type="super" />
</keyspace>
<class name="org.apache.gora.examples.generated.Employee" keyClass="java.lang.String" keyspace="Employee">
<field name="name" family="p" qualifier="info:nm" ttl="10" />
<field name="dateOfBirth" family="p" qualifier="info:db" ttl="10" />
<field name="ssn" family="p" qualifier="info:sn" ttl="10" />
<field name="salary" family="p" qualifier="info:sl" ttl="10" />
</class>
</gora-otd>
Deliverables
Implementing cassandra module to support CQL
Writing Integration tests to cover basic scenarios
Documenting the usage and the functionality of the module
Project Timeline
Activity | Start Time | End Time |
Community Bonding Period : familiar with gora project, Finalize the requirements and design |
04-05-2017 |
29-05-2017
|
Iteratively develop the prototype by adding functionality to connect with cassandra server with multiple serialization support |
30-05-2017 |
18-06-2016 |
Testing the functionality of the current implementation and improve the functionality |
19-06-2017 |
25-06-2017 |
Midterm Evaluations : Submit the work done so far and discuss. |
26-06-2017 | 30-06-2017 |
Complete the gora-cassandra module and test the functionality |
01-07-2017 |
20-07-2017
|
Documenting the usage of gora-cassandra module | 21-07-2017 | 28-07-2017 |
Final Evaluations : Submit the completed project with documentation | 29-07-2017 | 29-08-2017 |
Availability
I will be able to allocate more than 40 hours of work for this project in the coding period. In the weekdays I will be working in the evening and in weekends full time. Also it is worth to mention that within the community bonding period I can work full time implementation of this project. Currently I’m having some exams till April 22nd.
Additional information
I’m Madhawa Gunasekara, a final year student studying Engineering in Electronics, Telecommunication and Computing at IESL College Of Engineering, Sri Lanka. I’m an open source enthusiast and I use many of open source products for my personal use and for academic purposes. Research areas that I’m interested are SOA, Web services and Distributed systems.
...
My open source contributions can be found in github account[7]
Gora Contributions
Jira server ASF JIRA serverId 5aa69414-a9e9-3523-82ec-879b028fb15b key GORA-498
References
[1] http://www.datastax.com/dev/blog/cassandra-2-1-now-over-50-faster
...