Kasun Weranga-2 wrote
> On Thu, May 2, 2013 at 11:50 AM, Tharindu Mathew <

> tharindu@

> > wrote:
> 
>> If we store event definitions in mongoDB or HBase, will this work? I
>> believe that is our future todos, so we shouldn't get bound to Cassandra
>> specific ways of doing it...
> 
> 
> We can use eventStoreSpecificParameters section to send the event store
> specific things and relevant data-bridge persistence layer should do the
> relevant task based on the event store and the parameters.

+1.

For MongoDB, eventStoreSpecificParameters section would have to support
several different options of indexing available in MangoDB:
http://docs.mongodb.org/manual/core/indexes/
 
For HBase, it seems (Secondary) Indexes are not supported out of the box.
http://hbase.apache.org/book/secondary.indexes.html

      *From here on the comments are about index-support in general, not
about 'eventStoreSpecificParameters'. Apologies, if they are out of place on
this thread.

So HBase indexes seem equivalent to 'Custom Indexes' in Cassandra; required
to support 'filtering/sorting' on columns with high-cardinality e.g.
time-range. Since Big data ought to be time-bound, 'time-range' becomes de
facto requirement for filtering and sorting.
So with Cassandra, we are required to write Hive scripts (and purge task) to
maintain (Create and Purge) these Custom Indexes. 

I believe, BAM should also support such 'custom indexes' out of the box as
it would be a great help to the end user and huge value proposition in
general. This is going to be my next feature request :)

Thanks,
Dipesh


Kasun Weranga-2 wrote
> ...
> ...
> ...
> 
>>>>>>>> We can achieve this by using following format in the stream
>>>>>>>> definition.
>>>>>>>>
>>>>>>>>   {
>>>>>>>>                    'name':'org.wso2.bam.phone.retail.store.kpi',
>>>>>>>>                    'version':'1.0.0',
>>>>>>>>                    'nickName': 'Phone_Retail_Shop',
>>>>>>>>                    'description': 'Phone Sales',
>>>>>>>>    'eventStoreSpecificParameters' :[
>>>>>>>> {'indexes':'payload_user,payload_brand'} ],
>>>>>>>>                    'metaData':[
>>>>>>>>                            {'name':'clientType','type':'STRING'}
>>>>>>>>                    ],
>>>>>>>>                    'payloadData':[
>>>>>>>>                            {'name':'brand','type':'STRING'},
>>>>>>>>                            {'name':'quantity','type':'INT'},
>>>>>>>>                            {'name':'total','type':'INT'},
>>>>>>>>                            {'name':'user','type':'STRING'}
>>>>>>>>                    ]
>>>>>>>>                  }
>>>>>>>>
>>>>>>>>
>>>>>>>> In the eventStoreSpecificParameters we can define the parameters
>>>>>>>> which are specific for that particular event store, so relevant
>>>>>>>> event
>>>>>>>> persistence implementation can use these parameters to achieve the
>>>>>>>> required
>>>>>>>> functionalities. Also we can make this as and optional parameter,
>>>>>>>> so
>>>>>>>> everyone don't need to define this.
>>>>>>>>
>>>>>>>> Since we are planing to support different event stores in future, I
>>>>>>>> hope this will be useful feature for other event stores too.





--
View this message in context: 
http://wso2-oxygen-tank.10903.n7.nabble.com/Defining-event-store-specific-parameters-via-stream-definition-tp75961p77875.html
Sent from the WSO2 Architecture mailing list archive at Nabble.com.
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to