You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Chaker NAKHLI <Ch...@javageneration.com> on 2010/07/31 12:39:07 UTC

Chirper: Open source .NET webapp with Cassandra backend

Hi,

Chirper is the first open source non trivial webapp example of 
.NET/Cassandra integration.

The code source is available under the Apache 2.0 license in github: 
http://github.com/nakhli/Chirper

Introduction blog post: http://www.javageneration.com/?p=318

Hope you'll find it useful!
Cheers

-- 
Chaker Nakhli
http://www.javageneration.com


RE: kundera: Open source JPA 1.0 compliant ORM for Cassandra

Posted by Animesh Kumar <an...@impetus.co.in>.
Hi Chen,

Kundera uses Lucandra for reverse index processing. Lucandra is an extension of Lucene with custom IndexWriter and InderReader implementation.

When you submit a document,

1.       Lucene processes it and prepares the reverse-indexes, and then

2.       Lucandra take over from here and stores these indexes to Cassandra.

When you query,

1.       Lucandra's IndexReader class is used to look for reverse indexes in Cassandra, and then

2.       Lucene processes over these indexes.

Read more about Lucandra here: http://anismiles.wordpress.com/2010/05/27/lucandra-an-inside-story/

-Animesh
iLabs, Impetus


From: Chen Xinli [mailto:chen.daqi@gmail.com]
Sent: Thursday, August 19, 2010 8:02 PM
To: user@cassandra.apache.org
Subject: Re: kundera: Open source JPA 1.0 compliant ORM for Cassandra

I have a question about lucandra: the row-ids from reversed-index is computed in cassandra , or using a client to get reversed index first and computed in client machine?
2010/8/19 Animesh Kumar <an...@impetus.co.in>>
Hi Jonathan,

Glad that you liked the effort. Kundera team is constantly watching Cassandra developments to pick features up as soon as they become available, for example, secondary indexes, schema generator support etc.

I would like to highlight few important stuffs about Kundera:

1. Kundera has been architected so as to be able to use any existing Cassandra client library, Hector, Pelops whatever, in simple adaptor design format. Kundera though supports Pelops only, however should anyone want to write a custom adaptor for any of his favorite client libraries he can easily do it.

2. Kundera - for now - uses Lucandra to store reverse-indexes into Cassandra itself. Support for Solr will be introduced very soon.

3. Kundera supports JPA defined relationships like, OneToOne, OneToMany, ManyToOne and ManyToMany between concrete entity objects with full Cascade support and Lazy/Eager loading strategies. This is achieved by storing foreign row-ids into holding entity's CF row. Kundera doesn't support entity embedding or entity inheritance yet, but they are in pipeline.

4. Kundera converts JPA queries to Lucene queries which run on Lucene indexes to fetch row-ids which are used to look-up data from Cassandra CFs. You can also directly execute Lucene queries.

This might have given you a better picture of Kundera, should you need more information you can visit: http://kundera.googlecode.com

Thanks,
Animesh
iLabs, Impetus



-----Original Message-----
From: Jonathan Ellis [mailto:jbellis@gmail.com<ma...@gmail.com>]
Sent: Sunday, August 01, 2010 11:01 PM
To: user@cassandra.apache.org<ma...@cassandra.apache.org>
Subject: Re: kundera: Open source JPA 1.0 compliant ORM for Cassandra
Glad to see this, and I hope you'll be able to take advantage of the
secondary index features coming in 0.7.

Supporting different lower-level "drivers" seems like wasted effort to me, fwiw.

On Sat, Jul 31, 2010 at 8:54 AM, Sanjay Sharma
<sa...@impetus.co.in>> wrote:
> Hi All,
>
> We are happy to announce and share a new ORM over Cassandra - kundera
>
> The project is Apache licensed and hosted at http://kundera.googlecode.com
>
>
>
> The project uses custom Cassandra Annotations and is fully JPA 1.0
> compliant. @ColumnFamily and @SuperColumnFamily are the main Cassandra
> specific annotations.
>
>
>
> Search/Indexing is automatically included by using "Lucandra" and drives the
> JPA-QL query support. Use of Lucandra also enables users to write Lucene
> queries along with JPA-QL queries.
>
>
>
> As per the main author of kundera - Animesh -" The idea behind Kundera is to
> make working with Cassandra drop-dead simple and fun. Kundera does not
> reinvent the wheel by making another client library; rather it leverages the
> existing libraries and builds - on top of them - a wrap-around API to help
> developers do away with unnecessary boiler plate codes, and program a
> neater-and-cleaner code that reduces code-complexity and improves quality.
> And above all, improves productivity."
>
>
>
> The current implementation uses the versatile "Pelops" library as the
> underlying client API and plans are to add support for Hector and Thrift
> clients as well.
>
>
>
> Here is a sample kundera Entity bean -
>
> @Entity
>
> @ColumnFamily(keyspace = "Keyspace1", family = "SimpleComment")
>
> public class SimpleComment {
>
>     @Id
>
>     private String id;
>
>     @Column(name = "userId")
>
>     private String userId;
>
>     @Column(name = "comment")
>
>     private String commentText;
>
>
>
>     ......
>
> }
>
> JPA queries are as simple as-
>
>         Query query = entityManager.createQuery("SELECT c from SimpleComment
> c where userId='me'");
>
>         List<SimpleComment> list = query.getResultList();
>
>
>
> There is already support for Spring based persistence integration like the
> good old Spring+Hibernate integration and is as simple as this-
>
>     <bean id="entityManagerFactory"
> class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
>
>         <property name="persistenceUnitName" value="myPersistenceUnit"/>
>
>                 </bean>
>
> More examples are available in kundera's wiki and Animesh's blogs. The
> spring integration example is here
>
>
>
> Regards,
>
> Sanjay Sharma
>
> iLabs, Impetus
>
> ________________________________
> Impetus is sponsoring 'Hadoop India User Group Meet Up'- a technology
> un-conference on July 31, 2010 at Impetus Office, Noida. The event will shed
> light on Hadoop technology and channelized efforts to develop an active
> Hadoop community.
>
> Click http://www.impetus.com/ to know more. Follow our updates on
> www.twitter.com/impetuscalling<http://www.twitter.com/impetuscalling> .
>
>
> NOTE: This message may contain information that is confidential,
> proprietary, privileged or otherwise protected by law. The message is
> intended solely for the named addressee. If received in error, please
> destroy and notify the sender. Any use of this email is prohibited when
> received in error. Impetus does not represent, warrant and/or guarantee,
> that the integrity of this communication has been maintained nor that the
> communication is free of errors, virus, interception or interference.
>



--
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of Riptano, the source for professional Cassandra support
http://riptano.com

Impetus is sponsoring 'Hadoop India User Group Meet Up'- a technology un-conference on July 31, 2010 at Impetus Office, Noida. The event will shed light on Hadoop technology and channelized efforts to develop an active Hadoop community.

Click http://www.impetus.com/ to know more. Follow our updates on www.twitter.com/impetuscalling<http://www.twitter.com/impetuscalling> .


NOTE: This message may contain information that is confidential, proprietary, privileged or otherwise protected by law. The message is intended solely for the named addressee. If received in error, please destroy and notify the sender. Any use of this email is prohibited when received in error. Impetus does not represent, warrant and/or guarantee, that the integrity of this communication has been maintained nor that the communication is free of errors, virus, interception or interference.



--
Best Regards,
Chen Xinli

________________________________
Impetus is sponsoring 'Hadoop India User Group Meet Up'- a technology un-conference on July 31, 2010 at Impetus Office, Noida. The event will shed light on Hadoop technology and channelized efforts to develop an active Hadoop community.

Click http://www.impetus.com/ to know more. Follow our updates on www.twitter.com/impetuscalling .


NOTE: This message may contain information that is confidential, proprietary, privileged or otherwise protected by law. The message is intended solely for the named addressee. If received in error, please destroy and notify the sender. Any use of this email is prohibited when received in error. Impetus does not represent, warrant and/or guarantee, that the integrity of this communication has been maintained nor that the communication is free of errors, virus, interception or interference.

Re: kundera: Open source JPA 1.0 compliant ORM for Cassandra

Posted by Chen Xinli <ch...@gmail.com>.
I have a question about lucandra: the row-ids from reversed-index is
computed in cassandra , or using a client to get reversed index first and
computed in client machine?

2010/8/19 Animesh Kumar <an...@impetus.co.in>

> Hi Jonathan,
>
> Glad that you liked the effort. Kundera team is constantly watching
> Cassandra developments to pick features up as soon as they become available,
> for example, secondary indexes, schema generator support etc.
>
> I would like to highlight few important stuffs about Kundera:
>
> 1. Kundera has been architected so as to be able to use any existing
> Cassandra client library, Hector, Pelops whatever, in simple adaptor design
> format. Kundera though supports Pelops only, however should anyone want to
> write a custom adaptor for any of his favorite client libraries he can
> easily do it.
>
> 2. Kundera - for now - uses Lucandra to store reverse-indexes into
> Cassandra itself. Support for Solr will be introduced very soon.
>
> 3. Kundera supports JPA defined relationships like, OneToOne, OneToMany,
> ManyToOne and ManyToMany between concrete entity objects with full Cascade
> support and Lazy/Eager loading strategies. This is achieved by storing
> foreign row-ids into holding entity's CF row. Kundera doesn't support entity
> embedding or entity inheritance yet, but they are in pipeline.
>
> 4. Kundera converts JPA queries to Lucene queries which run on Lucene
> indexes to fetch row-ids which are used to look-up data from Cassandra CFs.
> You can also directly execute Lucene queries.
>
> This might have given you a better picture of Kundera, should you need more
> information you can visit: http://kundera.googlecode.com
>
> Thanks,
> Animesh
> iLabs, Impetus
>
>
>
> -----Original Message-----
> From: Jonathan Ellis [mailto:jbellis@gmail.com]
> Sent: Sunday, August 01, 2010 11:01 PM
> To: user@cassandra.apache.org
> Subject: Re: kundera: Open source JPA 1.0 compliant ORM for Cassandra
>
> Glad to see this, and I hope you'll be able to take advantage of the
> secondary index features coming in 0.7.
>
> Supporting different lower-level "drivers" seems like wasted effort to me,
> fwiw.
>
> On Sat, Jul 31, 2010 at 8:54 AM, Sanjay Sharma
> <sa...@impetus.co.in> wrote:
> > Hi All,
> >
> > We are happy to announce and share a new ORM over Cassandra - kundera
> >
> > The project is Apache licensed and hosted at
> http://kundera.googlecode.com
> >
> >
> >
> > The project uses custom Cassandra Annotations and is fully JPA 1.0
> > compliant. @ColumnFamily and @SuperColumnFamily are the main Cassandra
> > specific annotations.
> >
> >
> >
> > Search/Indexing is automatically included by using "Lucandra" and drives
> the
> > JPA-QL query support. Use of Lucandra also enables users to write Lucene
> > queries along with JPA-QL queries.
> >
> >
> >
> > As per the main author of kundera - Animesh -" The idea behind Kundera is
> to
> > make working with Cassandra drop-dead simple and fun. Kundera does not
> > reinvent the wheel by making another client library; rather it leverages
> the
> > existing libraries and builds - on top of them - a wrap-around API to
> help
> > developers do away with unnecessary boiler plate codes, and program a
> > neater-and-cleaner code that reduces code-complexity and improves
> quality.
> > And above all, improves productivity."
> >
> >
> >
> > The current implementation uses the versatile "Pelops" library as the
> > underlying client API and plans are to add support for Hector and Thrift
> > clients as well.
> >
> >
> >
> > Here is a sample kundera Entity bean -
> >
> > @Entity
> >
> > @ColumnFamily(keyspace = "Keyspace1", family = "SimpleComment")
> >
> > public class SimpleComment {
> >
> >     @Id
> >
> >     private String id;
> >
> >     @Column(name = "userId")
> >
> >     private String userId;
> >
> >     @Column(name = "comment")
> >
> >     private String commentText;
> >
> >
> >
> >     ......
> >
> > }
> >
> > JPA queries are as simple as-
> >
> >         Query query = entityManager.createQuery("SELECT c from
> SimpleComment
> > c where userId='me'");
> >
> >         List<SimpleComment> list = query.getResultList();
> >
> >
> >
> > There is already support for Spring based persistence integration like
> the
> > good old Spring+Hibernate integration and is as simple as this-
> >
> >     <bean id="entityManagerFactory"
> >
> class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
> >
> >         <property name="persistenceUnitName" value="myPersistenceUnit"/>
> >
> >                 </bean>
> >
> > More examples are available in kundera's wiki and Animesh's blogs. The
> > spring integration example is here
> >
> >
> >
> > Regards,
> >
> > Sanjay Sharma
> >
> > iLabs, Impetus
> >
> > ________________________________
> > Impetus is sponsoring 'Hadoop India User Group Meet Up'- a technology
> > un-conference on July 31, 2010 at Impetus Office, Noida. The event will
> shed
> > light on Hadoop technology and channelized efforts to develop an active
> > Hadoop community.
> >
> > Click http://www.impetus.com/ to know more. Follow our updates on
> > www.twitter.com/impetuscalling .
> >
> >
> > NOTE: This message may contain information that is confidential,
> > proprietary, privileged or otherwise protected by law. The message is
> > intended solely for the named addressee. If received in error, please
> > destroy and notify the sender. Any use of this email is prohibited when
> > received in error. Impetus does not represent, warrant and/or guarantee,
> > that the integrity of this communication has been maintained nor that the
> > communication is free of errors, virus, interception or interference.
> >
>
>
>
> --
> Jonathan Ellis
> Project Chair, Apache Cassandra
> co-founder of Riptano, the source for professional Cassandra support
> http://riptano.com
>
> Impetus is sponsoring 'Hadoop India User Group Meet Up'- a technology
> un-conference on July 31, 2010 at Impetus Office, Noida. The event will shed
> light on Hadoop technology and channelized efforts to develop an active
> Hadoop community.
>
> Click http://www.impetus.com/ to know more. Follow our updates on
> www.twitter.com/impetuscalling .
>
>
> NOTE: This message may contain information that is confidential,
> proprietary, privileged or otherwise protected by law. The message is
> intended solely for the named addressee. If received in error, please
> destroy and notify the sender. Any use of this email is prohibited when
> received in error. Impetus does not represent, warrant and/or guarantee,
> that the integrity of this communication has been maintained nor that the
> communication is free of errors, virus, interception or interference.
>



-- 
Best Regards,
Chen Xinli

RE: kundera: Open source JPA 1.0 compliant ORM for Cassandra

Posted by Animesh Kumar <an...@impetus.co.in>.
Hi Jonathan,

Glad that you liked the effort. Kundera team is constantly watching Cassandra developments to pick features up as soon as they become available, for example, secondary indexes, schema generator support etc.

I would like to highlight few important stuffs about Kundera:

1. Kundera has been architected so as to be able to use any existing Cassandra client library, Hector, Pelops whatever, in simple adaptor design format. Kundera though supports Pelops only, however should anyone want to write a custom adaptor for any of his favorite client libraries he can easily do it.

2. Kundera - for now - uses Lucandra to store reverse-indexes into Cassandra itself. Support for Solr will be introduced very soon.

3. Kundera supports JPA defined relationships like, OneToOne, OneToMany, ManyToOne and ManyToMany between concrete entity objects with full Cascade support and Lazy/Eager loading strategies. This is achieved by storing foreign row-ids into holding entity's CF row. Kundera doesn't support entity embedding or entity inheritance yet, but they are in pipeline.

4. Kundera converts JPA queries to Lucene queries which run on Lucene indexes to fetch row-ids which are used to look-up data from Cassandra CFs. You can also directly execute Lucene queries.

This might have given you a better picture of Kundera, should you need more information you can visit: http://kundera.googlecode.com

Thanks,
Animesh
iLabs, Impetus



-----Original Message-----
From: Jonathan Ellis [mailto:jbellis@gmail.com]
Sent: Sunday, August 01, 2010 11:01 PM
To: user@cassandra.apache.org
Subject: Re: kundera: Open source JPA 1.0 compliant ORM for Cassandra

Glad to see this, and I hope you'll be able to take advantage of the
secondary index features coming in 0.7.

Supporting different lower-level "drivers" seems like wasted effort to me, fwiw.

On Sat, Jul 31, 2010 at 8:54 AM, Sanjay Sharma
<sa...@impetus.co.in> wrote:
> Hi All,
>
> We are happy to announce and share a new ORM over Cassandra - kundera
>
> The project is Apache licensed and hosted at http://kundera.googlecode.com
>
>
>
> The project uses custom Cassandra Annotations and is fully JPA 1.0
> compliant. @ColumnFamily and @SuperColumnFamily are the main Cassandra
> specific annotations.
>
>
>
> Search/Indexing is automatically included by using "Lucandra" and drives the
> JPA-QL query support. Use of Lucandra also enables users to write Lucene
> queries along with JPA-QL queries.
>
>
>
> As per the main author of kundera - Animesh -" The idea behind Kundera is to
> make working with Cassandra drop-dead simple and fun. Kundera does not
> reinvent the wheel by making another client library; rather it leverages the
> existing libraries and builds - on top of them - a wrap-around API to help
> developers do away with unnecessary boiler plate codes, and program a
> neater-and-cleaner code that reduces code-complexity and improves quality.
> And above all, improves productivity."
>
>
>
> The current implementation uses the versatile "Pelops" library as the
> underlying client API and plans are to add support for Hector and Thrift
> clients as well.
>
>
>
> Here is a sample kundera Entity bean -
>
> @Entity
>
> @ColumnFamily(keyspace = "Keyspace1", family = "SimpleComment")
>
> public class SimpleComment {
>
>     @Id
>
>     private String id;
>
>     @Column(name = "userId")
>
>     private String userId;
>
>     @Column(name = "comment")
>
>     private String commentText;
>
>
>
>     ......
>
> }
>
> JPA queries are as simple as-
>
>         Query query = entityManager.createQuery("SELECT c from SimpleComment
> c where userId='me'");
>
>         List<SimpleComment> list = query.getResultList();
>
>
>
> There is already support for Spring based persistence integration like the
> good old Spring+Hibernate integration and is as simple as this-
>
>     <bean id="entityManagerFactory"
> class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
>
>         <property name="persistenceUnitName" value="myPersistenceUnit"/>
>
>                 </bean>
>
> More examples are available in kundera's wiki and Animesh's blogs. The
> spring integration example is here
>
>
>
> Regards,
>
> Sanjay Sharma
>
> iLabs, Impetus
>
> ________________________________
> Impetus is sponsoring 'Hadoop India User Group Meet Up'- a technology
> un-conference on July 31, 2010 at Impetus Office, Noida. The event will shed
> light on Hadoop technology and channelized efforts to develop an active
> Hadoop community.
>
> Click http://www.impetus.com/ to know more. Follow our updates on
> www.twitter.com/impetuscalling .
>
>
> NOTE: This message may contain information that is confidential,
> proprietary, privileged or otherwise protected by law. The message is
> intended solely for the named addressee. If received in error, please
> destroy and notify the sender. Any use of this email is prohibited when
> received in error. Impetus does not represent, warrant and/or guarantee,
> that the integrity of this communication has been maintained nor that the
> communication is free of errors, virus, interception or interference.
>



--
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of Riptano, the source for professional Cassandra support
http://riptano.com

Impetus is sponsoring 'Hadoop India User Group Meet Up'- a technology un-conference on July 31, 2010 at Impetus Office, Noida. The event will shed light on Hadoop technology and channelized efforts to develop an active Hadoop community.

Click http://www.impetus.com/ to know more. Follow our updates on www.twitter.com/impetuscalling .


NOTE: This message may contain information that is confidential, proprietary, privileged or otherwise protected by law. The message is intended solely for the named addressee. If received in error, please destroy and notify the sender. Any use of this email is prohibited when received in error. Impetus does not represent, warrant and/or guarantee, that the integrity of this communication has been maintained nor that the communication is free of errors, virus, interception or interference.

Re: kundera: Open source JPA 1.0 compliant ORM for Cassandra

Posted by Jonathan Ellis <jb...@gmail.com>.
Glad to see this, and I hope you'll be able to take advantage of the
secondary index features coming in 0.7.

Supporting different lower-level "drivers" seems like wasted effort to me, fwiw.

On Sat, Jul 31, 2010 at 8:54 AM, Sanjay Sharma
<sa...@impetus.co.in> wrote:
> Hi All,
>
> We are happy to announce and share a new ORM over Cassandra – kundera
>
> The project is Apache licensed and hosted at http://kundera.googlecode.com
>
>
>
> The project uses custom Cassandra Annotations and is fully JPA 1.0
> compliant. @ColumnFamily and @SuperColumnFamily are the main Cassandra
> specific annotations.
>
>
>
> Search/Indexing is automatically included by using “Lucandra” and drives the
> JPA-QL query support. Use of Lucandra also enables users to write Lucene
> queries along with JPA-QL queries.
>
>
>
> As per the main author of kundera – Animesh -“ The idea behind Kundera is to
> make working with Cassandra drop-dead simple and fun. Kundera does not
> reinvent the wheel by making another client library; rather it leverages the
> existing libraries and builds - on top of them - a wrap-around API to help
> developers do away with unnecessary boiler plate codes, and program a
> neater-and-cleaner code that reduces code-complexity and improves quality.
> And above all, improves productivity.”
>
>
>
> The current implementation uses the versatile “Pelops” library as the
> underlying client API and plans are to add support for Hector and Thrift
> clients as well.
>
>
>
> Here is a sample kundera Entity bean -
>
> @Entity
>
> @ColumnFamily(keyspace = "Keyspace1", family = "SimpleComment")
>
> public class SimpleComment {
>
>     @Id
>
>     private String id;
>
>     @Column(name = "userId")
>
>     private String userId;
>
>     @Column(name = "comment")
>
>     private String commentText;
>
>
>
>     ......
>
> }
>
> JPA queries are as simple as-
>
>         Query query = entityManager.createQuery("SELECT c from SimpleComment
> c where userId=’me’");
>
>         List<SimpleComment> list = query.getResultList();
>
>
>
> There is already support for Spring based persistence integration like the
> good old Spring+Hibernate integration and is as simple as this-
>
>     <bean id="entityManagerFactory"
> class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
>
>         <property name="persistenceUnitName" value="myPersistenceUnit"/>
>
>                 </bean>
>
> More examples are available in kundera’s wiki and Animesh’s blogs. The
> spring integration example is here
>
>
>
> Regards,
>
> Sanjay Sharma
>
> iLabs, Impetus
>
> ________________________________
> Impetus is sponsoring 'Hadoop India User Group Meet Up'- a technology
> un-conference on July 31, 2010 at Impetus Office, Noida. The event will shed
> light on Hadoop technology and channelized efforts to develop an active
> Hadoop community.
>
> Click http://www.impetus.com/ to know more. Follow our updates on
> www.twitter.com/impetuscalling .
>
>
> NOTE: This message may contain information that is confidential,
> proprietary, privileged or otherwise protected by law. The message is
> intended solely for the named addressee. If received in error, please
> destroy and notify the sender. Any use of this email is prohibited when
> received in error. Impetus does not represent, warrant and/or guarantee,
> that the integrity of this communication has been maintained nor that the
> communication is free of errors, virus, interception or interference.
>



-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of Riptano, the source for professional Cassandra support
http://riptano.com

RE: kundera: Open source JPA 1.0 compliant ORM for Cassandra

Posted by Ashwin Jayaprakash <as...@gmail.com>.
Something like  http://carbonado.sourceforge.net/index.html Carbonado  would
also be cool. I'm not sure how JPA's relations would work on a de-normalized
form like Cassandra.
-- 
View this message in context: http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Chirper-Open-source-NET-webapp-with-Cassandra-backend-tp5358052p5369309.html
Sent from the cassandra-user@incubator.apache.org mailing list archive at Nabble.com.

RE: kundera: Open source JPA 1.0 compliant ORM for Cassandra

Posted by Ashwin Jayaprakash <as...@gmail.com>.
Does the JPA adapter affect performance? It would be nice to see what
overhead (if any) it adds.

Looks cool though!
-- 
View this message in context: http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Chirper-Open-source-NET-webapp-with-Cassandra-backend-tp5358052p5369266.html
Sent from the cassandra-user@incubator.apache.org mailing list archive at Nabble.com.

RE: kundera: Open source JPA 1.0 compliant ORM for Cassandra

Posted by Animesh Kumar <an...@impetus.co.in>.
HI Michael,

We haven't tried Kundera with 0.7 beta yet. However, Kundera runs fine with 0.6.3

-Animesh

From: Michael Widmann [mailto:michael.widmann@gmail.com]
Sent: Saturday, July 31, 2010 9:02 PM
To: user@cassandra.apache.org
Subject: Re: kundera: Open source JPA 1.0 compliant ORM for Cassandra

Hi

could we run kundera on 0.7beta Version?

Thanks for answer

Michael
2010/7/31 Sanjay Sharma <sa...@impetus.co.in>>
Hi All,
We are happy to announce and share a new ORM over Cassandra - kundera
The project is Apache licensed and hosted at http://kundera.googlecode.com

The project uses custom Cassandra Annotations and is fully JPA 1.0 compliant. @ColumnFamily and @SuperColumnFamily are the main Cassandra specific annotations.

Search/Indexing is automatically included by using "Lucandra" and drives the JPA-QL query support. Use of Lucandra also enables users to write Lucene queries along with JPA-QL queries.

As per the main author of kundera - Animesh -" The idea behind Kundera is to make working with Cassandra drop-dead simple and fun. Kundera does not reinvent the wheel by making another client library; rather it leverages the existing libraries and builds - on top of them - a wrap-around API to help developers do away with unnecessary boiler plate codes, and program a neater-and-cleaner code that reduces code-complexity and improves quality. And above all, improves productivity."

The current implementation uses the versatile "Pelops" library as the underlying client API and plans are to add support for Hector and Thrift clients as well.

Here is a sample kundera Entity bean -
@Entity
@ColumnFamily(keyspace = "Keyspace1", family = "SimpleComment")
public class SimpleComment {
    @Id
    private String id;
    @Column(name = "userId")
    private String userId;
    @Column(name = "comment")
    private String commentText;

    ......
}
JPA queries are as simple as-

        Query query = entityManager.createQuery("SELECT c from SimpleComment c where userId='me'");

        List<SimpleComment> list = query.getResultList();

There is already support for Spring based persistence integration like the good old Spring+Hibernate integration and is as simple as this-
    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="persistenceUnitName" value="myPersistenceUnit"/>
                </bean>
More examples are available in kundera's wiki<http://code.google.com/p/kundera/wiki> and Animesh's blog<http://anismiles.wordpress.com/2010/07/14/kundera-now-jpa-1-0-compatible/>s. The spring integration example is here<http://code.google.com/p/kundera/wiki/HowToUseKunderaWithSpring>

Regards,
Sanjay Sharma
iLabs, Impetus

________________________________
Impetus is sponsoring 'Hadoop India User Group Meet Up'- a technology un-conference on July 31, 2010 at Impetus Office, Noida. The event will shed light on Hadoop technology and channelized efforts to develop an active Hadoop community.

Click http://www.impetus.com/ to know more. Follow our updates on www.twitter.com/impetuscalling<http://www.twitter.com/impetuscalling> .


NOTE: This message may contain information that is confidential, proprietary, privileged or otherwise protected by law. The message is intended solely for the named addressee. If received in error, please destroy and notify the sender. Any use of this email is prohibited when received in error. Impetus does not represent, warrant and/or guarantee, that the integrity of this communication has been maintained nor that the communication is free of errors, virus, interception or interference.



--
bayoda.com<http://bayoda.com> - Professional Online Backup Solutions for Small and Medium Sized Companies

________________________________
Impetus is sponsoring 'Hadoop India User Group Meet Up'- a technology un-conference on July 31, 2010 at Impetus Office, Noida. The event will shed light on Hadoop technology and channelized efforts to develop an active Hadoop community.

Click http://www.impetus.com/ to know more. Follow our updates on www.twitter.com/impetuscalling .


NOTE: This message may contain information that is confidential, proprietary, privileged or otherwise protected by law. The message is intended solely for the named addressee. If received in error, please destroy and notify the sender. Any use of this email is prohibited when received in error. Impetus does not represent, warrant and/or guarantee, that the integrity of this communication has been maintained nor that the communication is free of errors, virus, interception or interference.

Re: kundera: Open source JPA 1.0 compliant ORM for Cassandra

Posted by Michael Widmann <mi...@gmail.com>.
Hi

could we run kundera on 0.7beta Version?

Thanks for answer

Michael

2010/7/31 Sanjay Sharma <sa...@impetus.co.in>

>  Hi All,
>
> We are happy to announce and share a new ORM over Cassandra – kundera
>
> The project is Apache licensed and hosted at http://kundera.googlecode.com
>
>
>
> The project uses custom Cassandra Annotations and is fully JPA 1.0
> compliant. @ColumnFamily and @SuperColumnFamily are the main Cassandra
> specific annotations.
>
>
>
> Search/Indexing is automatically included by using “Lucandra” and drives
> the JPA-QL query support. Use of Lucandra also enables users to write Lucene
> queries along with JPA-QL queries.
>
>
>
> As per the main author of kundera – Animesh -“ The idea behind Kundera is
> to make working with Cassandra drop-dead simple and fun. Kundera does not
> reinvent the wheel by making another client library; rather it leverages the
> existing libraries and builds - on top of them - a wrap-around API to help
> developers do away with unnecessary boiler plate codes, and program a
> neater-and-cleaner code that reduces code-complexity and improves quality.
> And above all, improves productivity.”
>
>
>
> The current implementation uses the versatile “Pelops” library as the
> underlying client API and plans are to add support for Hector and Thrift
> clients as well.
>
>
>
> Here is a sample kundera Entity bean -
>
> @Entity
>
> @ColumnFamily(keyspace = "Keyspace1", family = "SimpleComment")
>
> public class SimpleComment {
>
>     @Id
>
>     private String id;
>
>     @Column(name = "userId")
>
>     private String userId;
>
>     @Column(name = "comment")
>
>     private String commentText;
>
>
>
>     ......
>
> }
>
> JPA queries are as simple as-
>
>         Query query = entityManager.createQuery("SELECT c from
> SimpleComment c where userId=’me’");
>
>         List<SimpleComment> list = query.getResultList();
>
>
>
> There is already support for Spring based persistence integration like the
> good old Spring+Hibernate integration and is as simple as this-
>
>     <bean id="entityManagerFactory" class=
> "org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
>
>         <property name="persistenceUnitName" value="myPersistenceUnit"/>
>
>                 </bean>
>
> More examples are available in kundera’s wiki<http://code.google.com/p/kundera/wiki>and Animesh’s
> blog<http://anismiles.wordpress.com/2010/07/14/kundera-now-jpa-1-0-compatible/>s.
> The spring integration example is here<http://code.google.com/p/kundera/wiki/HowToUseKunderaWithSpring>
>
>
>
> Regards,
>
> Sanjay Sharma
>
> iLabs, Impetus
>
> ------------------------------
> Impetus is sponsoring 'Hadoop India User Group Meet Up'- a technology
> un-conference on July 31, 2010 at Impetus Office, Noida. The event will shed
> light on Hadoop technology and channelized efforts to develop an active
> Hadoop community.
>
> Click http://www.impetus.com/ to know more. Follow our updates on
> www.twitter.com/impetuscalling .
>
>
> NOTE: This message may contain information that is confidential,
> proprietary, privileged or otherwise protected by law. The message is
> intended solely for the named addressee. If received in error, please
> destroy and notify the sender. Any use of this email is prohibited when
> received in error. Impetus does not represent, warrant and/or guarantee,
> that the integrity of this communication has been maintained nor that the
> communication is free of errors, virus, interception or interference.
>



-- 
bayoda.com - Professional Online Backup Solutions for Small and Medium Sized
Companies

kundera: Open source JPA 1.0 compliant ORM for Cassandra

Posted by Sanjay Sharma <sa...@impetus.co.in>.
Hi All,
We are happy to announce and share a new ORM over Cassandra - kundera
The project is Apache licensed and hosted at http://kundera.googlecode.com

The project uses custom Cassandra Annotations and is fully JPA 1.0 compliant. @ColumnFamily and @SuperColumnFamily are the main Cassandra specific annotations.

Search/Indexing is automatically included by using "Lucandra" and drives the JPA-QL query support. Use of Lucandra also enables users to write Lucene queries along with JPA-QL queries.

As per the main author of kundera - Animesh -" The idea behind Kundera is to make working with Cassandra drop-dead simple and fun. Kundera does not reinvent the wheel by making another client library; rather it leverages the existing libraries and builds - on top of them - a wrap-around API to help developers do away with unnecessary boiler plate codes, and program a neater-and-cleaner code that reduces code-complexity and improves quality. And above all, improves productivity."

The current implementation uses the versatile "Pelops" library as the underlying client API and plans are to add support for Hector and Thrift clients as well.

Here is a sample kundera Entity bean -
@Entity
@ColumnFamily(keyspace = "Keyspace1", family = "SimpleComment")
public class SimpleComment {
    @Id
    private String id;
    @Column(name = "userId")
    private String userId;
    @Column(name = "comment")
    private String commentText;

    ......
}
JPA queries are as simple as-

        Query query = entityManager.createQuery("SELECT c from SimpleComment c where userId='me'");

        List<SimpleComment> list = query.getResultList();

There is already support for Spring based persistence integration like the good old Spring+Hibernate integration and is as simple as this-
    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="persistenceUnitName" value="myPersistenceUnit"/>
                </bean>
More examples are available in kundera's wiki<http://code.google.com/p/kundera/wiki> and Animesh's blog<http://anismiles.wordpress.com/2010/07/14/kundera-now-jpa-1-0-compatible/>s. The spring integration example is here<http://code.google.com/p/kundera/wiki/HowToUseKunderaWithSpring>

Regards,
Sanjay Sharma
iLabs, Impetus

________________________________
Impetus is sponsoring 'Hadoop India User Group Meet Up'- a technology un-conference on July 31, 2010 at Impetus Office, Noida. The event will shed light on Hadoop technology and channelized efforts to develop an active Hadoop community.

Click http://www.impetus.com/ to know more. Follow our updates on www.twitter.com/impetuscalling .


NOTE: This message may contain information that is confidential, proprietary, privileged or otherwise protected by law. The message is intended solely for the named addressee. If received in error, please destroy and notify the sender. Any use of this email is prohibited when received in error. Impetus does not represent, warrant and/or guarantee, that the integrity of this communication has been maintained nor that the communication is free of errors, virus, interception or interference.