You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Title/Summary: Develop a 'NoSQL' Datastore component for Apache Cassandra, CouchDB, Hadoop/Hbase

Student: Eranda Sooriyabandara

Student e-mail: 070468d AT gmail DOT com

Student Major: Computer Science

Student Degree: Undergraduate

Student Graduation: October 2011

Organization: Apache Software Foundation

Assigned Mentor: Jean-Sebastien Delfino

Abstract: 

Apache Tuscany provides a comprehensive infrastructure to simplify the task of developing and managing Service Oriented Architecture (SOA) solutions based on Service Component Architecture (SCA) standard. SCA abstracts business functions as components and motivate the business people/solution providers to use them as building blocks to create a business solution without knowing much about the underlying infrastructure.

'NoSQL' (Not Only SQL) databases are modern concept of databases which differ from classic relational database management systems in many ways like, they may not require fixed table schemas, avoid join operations and scale horizontally. Also in these databases they do not use Structured Query Language (SQL) to manipulate the database instead use an API. We can list down Apache Cassandra, CouchDB, Hadoop/Hbase and AppEngine Datastore as some of 'NoSQL' databases.

In this project my ultimate goal is to create a SCA portable data store component/s over number of 'NoSQL' databases like Apache Cassandra, CouchDB, Hadoop/Hbase and AppEngine Datastore databases using java. The main idea of creating this component is to hide the database APIs of each 'NoSQL' database and create a REST data store interface which can be used by different people without worriying about the underneith database.

Deliverables:

NoSQL Datastore components for Apache Cassandra, CouchDB and Hadoop/Hbase databases and a composit Datastore component.
A documentation and a tutorial for the new components.

  1. NoSQL Datastore components for Apache Cassandra, CouchDB and Hadoop/Hbase databases and a composit Datastore component.
  2. A documentation and a tutorial for the new components.
Time-line:

April 25 - May 23

  • Continue studying on 
    • How Tuscany works 
    • How to create a SCA components by reading and implementing sample SCA components.
  • Discuss the problems, ideas and the conflicts with the mentor and other Tuscany community members.
  • Understand the APIs of the NoSQL DBMSs.
  • Contact the Apache Cassandra, CouchDB and Hadoop/Hbase communities if there is a problem of understanding.

May 24 - July 10

  • Decide the API for access and manipulate data in the NoSQL datastore component.
  • Starting implementation of the Datastore components
    • Stage 1 : Implementing component for Apache Cassandra
    • Do functional tests for the component
    • Stage 2 : Implementing component for CouchDB
    • Do functional tests for the component
      July 11
  • Mid-term evaluation of the project.

July 12 - August 15

  • Stage 3 : Component Hadoop/Hbase
  • Do functional tests for the component
  • Create a SCA Composite out of all the components
  • Do functional tests for the component
  • Write a documentation and a tutorial for the new components using a well known use-case scenario.

August 16 - August 22

  • Make the final adjustments to all the deliverables for the submission.

August 26

  • Final evaluation deadline.
Biography:

I am Eranda Sooriyabandara a final year student of Department of Computer Science and Engineering, University of Moratuwa, Sri Lanka. As I am very much interested in databses I have experienced in working with databases like Apache Derby, MySQL, PostgreSQL, Oracle and Apache Cassandra as a 'NoSQL'. Also I have knowledge on Service Oriented Architecure and related topics like web services, SOAP since I had 6 month internship in a SOA middleware company.

The reason I invove in this project is because this is a great chance to learn about 'NoSQL' databases like Apache Cassandra, CouchDB, Hadoop/Hbase and AppEngine datastore and I can experience the Service Component Architecture, which is bit new technology to me but I like to learn the further while doing my contribution to Apache Tuscany. Also working with a experienced community is a big opportunity to me to learn new technologies from a the best.

  • No labels