Versions Compared

Key

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

...

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.

Implementation Plan:

In the implementation of SCA datastore component need to consider about the following attributes,
Service
Reference
Property
Intent Policies
Implementation
So my task in this project to identify and have a clear idea of those attributes and implement them as a SCA component.
Service: 
Since this component's major functionality is to gives 'NoSQL' database access, the 'service' should describe the service interface to store and manipulate the data of the 'NoSQL' database.Before implementing the interface we need clarify the REST datastore interface services which we use in all the datastore components. This needs to be done carefully since some concepts are specialized to its database. For example SuperColumnFamily in Apache Cassandra.
Reference:
In the preference we need to create an interface which describes the dependancies. Currently I have an idea to put all the dependancies inside the datastore component. When creating composite component the co-ordinater component may use the reference interface which reference to different datastore component.
Property:
This define the configuration parameters of the components that can be used to describe the behavior of the datastore component. For example concurrency control in the datastore component. This parameters can be set in a configuration file which is a xml or a text file. This configuration file may change for different 'NoSQL' datastores. Need deep analysis of each DBMSs to find the configuration parameters.
Intent Policies:
Implementation policies:
This will be a transaction based implementation and need to have a log of each transaction. The logging function may included in the DBMS itself but here we need a seperate log to see whether each and every transaction which invoke the service interface endup as a successful transactions.
Interaction policies:
The datastore component need to have a user level authentication system to ensure the confidentiality of the data.
Implementation:
The components will be implemented using java. The logical task of this component is to do a mapping between the REST interface(service) and the database interface.
All the implementation I mentioned above based on my knowledge and need to discuss further to clear out the conflicts in the component.
In the implementation of SCA datastore component need to consider about the following attributes,

  • Service
  • Reference
  • Property
  • Intent Policies
  • Implementation

So my task in this project to identify and have a clear idea of those attributes and implement them as a SCA component.

Service: 

Since this component's major functionality is to gives 'NoSQL' database access, the 'service' should describe the service interface to store and manipulate the data of the 'NoSQL' database.Before implementing the interface we need clarify the REST datastore interface services which we use in all the datastore components. This needs to be done carefully since some concepts are specialized to its database. For example SuperColumnFamily in Apache Cassandra.

Reference:

In the preference we need to create an interface which describes the dependancies. Currently I have an idea to put all the dependancies inside the datastore component. When creating composite component the co-ordinater component may use the reference interface which reference to different datastore component.

Property:

This define the configuration parameters of the components that can be used to describe the behavior of the datastore component. For example concurrency control in the datastore component. This parameters can be set in a configuration file which is a xml or a text file. This configuration file may change for different 'NoSQL' datastores. Need deep analysis of each DBMSs to find the configuration parameters.

Intent Policies:

  • Implementation policies:

This will be a transaction based implementation and need to have a log of each transaction. The logging function may included in the DBMS itself but here we need a seperate log to see whether each and every transaction which invoke the service interface endup as a successful transactions.

  • Interaction policies:

The datastore component need to have a user level authentication system to ensure the confidentiality of the data.

Implementation:

The components will be implemented using java. The logical task of this component is to do a mapping between the REST interface(service) and the database interface.

All the implementation I mentioned above based on my knowledge and need to discuss further to clear out the conflicts in the component.

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.

...