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

Compare with Current View Page History

« Previous Version 6 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.

  • 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.
Time-line:

April 25 - May 23
Continue on 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
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. 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.

  • No labels