Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

  1. Implementing cassandra module to support CQL

  2. Writing Integration tests to cover basic scenarios

  3. 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
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyGORA-498


 

References

 

[1] http://www.datastax.com/dev/blog/cassandra-2-1-now-over-50-faster

...