Hi all,

I'm not trying to discourage you on your exploration to NoSQL databases. I
have the following concern.

Your database schema is moderately complex - even for a RDBMS it seems
complex and the data size is relatively small. I'm not sure about the
current tools available but I think you will need to write more code to
support all your requirements in a NoSQL database. So writing more code and
allow redundancy to support *relatively small* and *structured
data*doesn't seem right to me. May be I'm wrong and there are better
tools in
NoSQL than RDBMS, which I doubt.

Thanks,
Supun..



On Sun, Feb 23, 2014 at 5:20 PM, Suresh Marru <[email protected]> wrote:

> Hi All,
>
> Airavata is actively migrating to use Thrift API for the RESTless design
> and to facilitate various language bindings from client gateways. The
> programming language support in thrift has been so far very encouraging.
> The current architecture is looking like Figure 1 at [1].
>
> Language specific clients will be released as thrift SDK's (similar to
> evernote sdk's [1]). These clients will be integrated into gateway portals
> which connect to the API Server. The API operations brokers he simple calls
> into one or more backend CPI calls (Airavata internal component
> interfaces).  An example set of mappings are illustrated in Figure 2 at
> [1]. The current draft of thrift API for version 0.12 is at [3], please pay
> attention to experiment model at [4].
>
> For the persistent store, we had few iterations of Airavata Registry
> shifting from a legacy XRegistry to JackRabbit to now a OpenJPA based
> registry. To allow the API and the associated data models to evolve, it
> will be useful to explore object databases so we can store the serialized
> version of thrift objects directly. But it will be nice to have all (or
> most) of the fields queriable. This calls for a more column-family design
> of any NoSQL approaches.
>
> Any recommendations for a registry architecture?
>
> Quickly hacking through I find the following approach a viable one:
> ZombieDB[5] over astyanax[6] which talks to Cassandra. Airavata can benefit
> immediately from the replication and reliability of cassandra and
> scalability in near future. Some of the model objects like experiment
> creation will need to have strong consistency and most of the monitoring
> can live with eventual consistency.
>
> Critical comments please?
>
> Thanks for your time,
> Suresh
>
> [1] -
> https://cwiki.apache.org/confluence/display/AIRAVATA/2014/02/23/Brainstorming+Diagrams
> [2] - https://dev.evernote.com/doc/
> [3] -
> https://git-wip-us.apache.org/repos/asf?p=airavata.git;a=tree;f=airavata-api/thrift-interface-descriptions;hb=HEAD
> [4] -
> https://git-wip-us.apache.org/repos/asf?p=airavata.git;a=blob_plain;f=airavata-api/thrift-interface-descriptions/experimentModel.thrift;hb=HEAD
> [5] - https://github.com/MisterTea/ZombieDB
> [6] - https://github.com/Netflix/astyanax
>
>


-- 
Supun Kamburugamuva
Member, Apache Software Foundation; http://www.apache.org
E-mail: [email protected];  Mobile: +1 812 369 6762
Blog: http://supunk.blogspot.com

Reply via email to