You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cassandra.apache.org by Morten Wegelbye Nissen <mw...@monit.dk> on 2011/02/08 21:56:04 UTC

New feature / educational project

Hello mighty developers of Cassandra,

I have been thinking of creating a feature like stored procedures for 
Cassandra.
Concept is actually pretty simple add one of the javascript compilers. ( 
Mozilla Rhino or one alike ). Save js source in a CF in the system 
keyspace. Add feature to thrift to invoke the code. Return just like 
get_slice.
Needless to say that the execution environment needs access to the 
keyspaces and needs to be sandboxed. (ie. no access to filesystem etc. )

On the cli it would be something like; > invoke myProc param1, param2, 
param3

The alternative where the expansions, like the existing once, is done by 
implementing interfaces. Would require a rather complex distribution  of 
jars.

Now I might have the option to get this done as a educational project, 
where I after the project would like to release the code to freedom.

Would a feature like that ever make it to the core of Cassandra?

./Morten

Re: New feature / educational project

Posted by Tristan Tarrant <tr...@gmail.com>.
With Java 6 there is no need to add rhino as there already is the
javax.script package
Tristan
On Feb 8, 2011 9:56 PM, "Morten Wegelbye Nissen" <mw...@monit.dk> wrote:
> Hello mighty developers of Cassandra,
>
> I have been thinking of creating a feature like stored procedures for
> Cassandra.
> Concept is actually pretty simple add one of the javascript compilers. (
> Mozilla Rhino or one alike ). Save js source in a CF in the system
> keyspace. Add feature to thrift to invoke the code. Return just like
> get_slice.
> Needless to say that the execution environment needs access to the
> keyspaces and needs to be sandboxed. (ie. no access to filesystem etc. )
>
> On the cli it would be something like; > invoke myProc param1, param2,
> param3
>
> The alternative where the expansions, like the existing once, is done by
> implementing interfaces. Would require a rather complex distribution of
> jars.
>
> Now I might have the option to get this done as a educational project,
> where I after the project would like to release the code to freedom.
>
> Would a feature like that ever make it to the core of Cassandra?
>
> ./Morten

Re: New feature / educational project

Posted by "B. Todd Burruss" <bb...@real.com>.
i am interested in plugins/triggers.  it seems like a good way to solve 
the problem of streaming data out of cassandra into, say a hadoop 
cluster or some other BI backend

On 02/08/2011 02:25 PM, Jeremy Hanna wrote:
> I think the plugins/triggers/coprocessors is a great discussion to get going again if there is interest.  It's been on the to-do list for a long time and just from what I've heard anecdotally, there is a lot of interest.
>
> On Feb 8, 2011, at 3:57 PM, David G. Boney wrote:
>
>> Hi All,
>>
>> I am also interested a stored procedure feature. I spoke with Matthew Dennis at DataStax about a month ago about some of the issues involved with implementing a stored procedure feature. If anyone is in the Austin area and wants to get together for a cup of coffee to discuss this feature, drop me a line.
>> -------------
>> Sincerely,
>> David G. Boney
>> dboney1@semanticartifacts.com
>> http://www.semanticartifacts.com
>>
>>
>>
>>
>> On Feb 8, 2011, at 3:47 PM, Miguel Verde wrote:
>>
>>> See whatever preceded https://issues.apache.org/jira/browse/CASSANDRA-380 and
>>> the current https://issues.apache.org/jira/browse/CASSANDRA-1016 for
>>> potentially similar ideas, as well as
>>> https://issues.apache.org/jira/browse/CASSANDRA-1215 and
>>> https://issues.apache.org/jira/browse/CASSANDRA-1311 for related issues.
>>> On Tue, Feb 8, 2011 at 2:56 PM, Morten Wegelbye Nissen<mw...@monit.dk>  wrote:
>>>
>>>> Hello mighty developers of Cassandra,
>>>>
>>>> I have been thinking of creating a feature like stored procedures for
>>>> Cassandra.
>>>> Concept is actually pretty simple add one of the javascript compilers. (
>>>> Mozilla Rhino or one alike ). Save js source in a CF in the system keyspace.
>>>> Add feature to thrift to invoke the code. Return just like get_slice.
>>>> Needless to say that the execution environment needs access to the
>>>> keyspaces and needs to be sandboxed. (ie. no access to filesystem etc. )
>>>>
>>>> On the cli it would be something like;>  invoke myProc param1, param2,
>>>> param3
>>>>
>>>> The alternative where the expansions, like the existing once, is done by
>>>> implementing interfaces. Would require a rather complex distribution  of
>>>> jars.
>>>>
>>>> Now I might have the option to get this done as a educational project,
>>>> where I after the project would like to release the code to freedom.
>>>>
>>>> Would a feature like that ever make it to the core of Cassandra?
>>>>
>>>> ./Morten
>>>>

Re: New feature / educational project

Posted by Jeremy Hanna <je...@gmail.com>.
I think the plugins/triggers/coprocessors is a great discussion to get going again if there is interest.  It's been on the to-do list for a long time and just from what I've heard anecdotally, there is a lot of interest.
 
On Feb 8, 2011, at 3:57 PM, David G. Boney wrote:

> Hi All,
> 
> I am also interested a stored procedure feature. I spoke with Matthew Dennis at DataStax about a month ago about some of the issues involved with implementing a stored procedure feature. If anyone is in the Austin area and wants to get together for a cup of coffee to discuss this feature, drop me a line.
> -------------
> Sincerely,
> David G. Boney
> dboney1@semanticartifacts.com
> http://www.semanticartifacts.com
> 
> 
> 
> 
> On Feb 8, 2011, at 3:47 PM, Miguel Verde wrote:
> 
>> See whatever preceded https://issues.apache.org/jira/browse/CASSANDRA-380 and
>> the current https://issues.apache.org/jira/browse/CASSANDRA-1016 for
>> potentially similar ideas, as well as
>> https://issues.apache.org/jira/browse/CASSANDRA-1215 and
>> https://issues.apache.org/jira/browse/CASSANDRA-1311 for related issues.
>> On Tue, Feb 8, 2011 at 2:56 PM, Morten Wegelbye Nissen <mw...@monit.dk> wrote:
>> 
>>> Hello mighty developers of Cassandra,
>>> 
>>> I have been thinking of creating a feature like stored procedures for
>>> Cassandra.
>>> Concept is actually pretty simple add one of the javascript compilers. (
>>> Mozilla Rhino or one alike ). Save js source in a CF in the system keyspace.
>>> Add feature to thrift to invoke the code. Return just like get_slice.
>>> Needless to say that the execution environment needs access to the
>>> keyspaces and needs to be sandboxed. (ie. no access to filesystem etc. )
>>> 
>>> On the cli it would be something like; > invoke myProc param1, param2,
>>> param3
>>> 
>>> The alternative where the expansions, like the existing once, is done by
>>> implementing interfaces. Would require a rather complex distribution  of
>>> jars.
>>> 
>>> Now I might have the option to get this done as a educational project,
>>> where I after the project would like to release the code to freedom.
>>> 
>>> Would a feature like that ever make it to the core of Cassandra?
>>> 
>>> ./Morten
>>> 
> 


Re: New feature / educational project

Posted by "David G. Boney" <db...@semanticartifacts.com>.
Hi All,

I am also interested a stored procedure feature. I spoke with Matthew Dennis at DataStax about a month ago about some of the issues involved with implementing a stored procedure feature. If anyone is in the Austin area and wants to get together for a cup of coffee to discuss this feature, drop me a line.
-------------
Sincerely,
David G. Boney
dboney1@semanticartifacts.com
http://www.semanticartifacts.com




On Feb 8, 2011, at 3:47 PM, Miguel Verde wrote:

> See whatever preceded https://issues.apache.org/jira/browse/CASSANDRA-380 and
> the current https://issues.apache.org/jira/browse/CASSANDRA-1016 for
> potentially similar ideas, as well as
> https://issues.apache.org/jira/browse/CASSANDRA-1215 and
> https://issues.apache.org/jira/browse/CASSANDRA-1311 for related issues.
> On Tue, Feb 8, 2011 at 2:56 PM, Morten Wegelbye Nissen <mw...@monit.dk> wrote:
> 
>> Hello mighty developers of Cassandra,
>> 
>> I have been thinking of creating a feature like stored procedures for
>> Cassandra.
>> Concept is actually pretty simple add one of the javascript compilers. (
>> Mozilla Rhino or one alike ). Save js source in a CF in the system keyspace.
>> Add feature to thrift to invoke the code. Return just like get_slice.
>> Needless to say that the execution environment needs access to the
>> keyspaces and needs to be sandboxed. (ie. no access to filesystem etc. )
>> 
>> On the cli it would be something like; > invoke myProc param1, param2,
>> param3
>> 
>> The alternative where the expansions, like the existing once, is done by
>> implementing interfaces. Would require a rather complex distribution  of
>> jars.
>> 
>> Now I might have the option to get this done as a educational project,
>> where I after the project would like to release the code to freedom.
>> 
>> Would a feature like that ever make it to the core of Cassandra?
>> 
>> ./Morten
>> 


Re: New feature / educational project

Posted by Miguel Verde <mi...@gmail.com>.
See whatever preceded https://issues.apache.org/jira/browse/CASSANDRA-380 and
the current https://issues.apache.org/jira/browse/CASSANDRA-1016 for
potentially similar ideas, as well as
https://issues.apache.org/jira/browse/CASSANDRA-1215 and
https://issues.apache.org/jira/browse/CASSANDRA-1311 for related issues.
On Tue, Feb 8, 2011 at 2:56 PM, Morten Wegelbye Nissen <mw...@monit.dk> wrote:

> Hello mighty developers of Cassandra,
>
> I have been thinking of creating a feature like stored procedures for
> Cassandra.
> Concept is actually pretty simple add one of the javascript compilers. (
> Mozilla Rhino or one alike ). Save js source in a CF in the system keyspace.
> Add feature to thrift to invoke the code. Return just like get_slice.
> Needless to say that the execution environment needs access to the
> keyspaces and needs to be sandboxed. (ie. no access to filesystem etc. )
>
> On the cli it would be something like; > invoke myProc param1, param2,
> param3
>
> The alternative where the expansions, like the existing once, is done by
> implementing interfaces. Would require a rather complex distribution  of
> jars.
>
> Now I might have the option to get this done as a educational project,
> where I after the project would like to release the code to freedom.
>
> Would a feature like that ever make it to the core of Cassandra?
>
> ./Morten
>