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 <animesh.ku...@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:jbel...@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 > <sanjay.sha...@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