There is, of course, also cassandra_object on the ruby side. I assume this thread has the implicit requirement of Java, though. -- Jeff
On Mon, Apr 26, 2010 at 10:26 AM, Isaac Arias <ikes...@gmail.com> wrote: > On Apr 26, 2010, at 12:13 PM, Geoffry Roberts wrote: > >> Clearly Cassandra is not an RDBMS. The intent of my Hibernate >> reference was to be more lyrical. Sorry if that didn't come through. > >> Nonetheless, the need remains to relieve ourselves from excessive >> boilerplate coding. > > I agree with eliminating boilerplate code. Chris Shorrock wrote a > simple object mapper in Scala for his Cascal Cassandra client. You may > want to check out the wiki on GitHub > (http://wiki.github.com/shorrockin/cascal/). > > In my opinion, a mapping solution for Cassandra should be more like a > Template. Something that helps map (back and forth) rows to objects, > columns to properties, etc. Since the data model can vary so much > depending on data access patters, any overly structured approach that > prescribes a particular schema will be of limited use. > > If you're from the Java world, think of iBATIS vs. Hibernate. > > >> >> On Mon, Apr 26, 2010 at 9:00 AM, Ned Wolpert = > <ned.wolp...@imemories.com> wrote: >> I don't think you are trying to convert Cassandra to a RDBMS with what = > you want. The issue is that finding a way to map these objects to = > Cassandra in a meaningful way is hard. Its not as easy as saying 'do = > what hibernate does' simply because its not an RDBMS...but it is a = > reasonable and useful goal. I'm trying to accomplish this myself with = > the grails Cassandra plugin. >>=20 >>=20 >> On Fri, Apr 23, 2010 at 8:00 PM, aXqd <axqd...@gmail.com> wrote: >> On Sat, Apr 24, 2010 at 1:36 AM, Ned Wolpert = > <ned.wolp...@imemories.com> wrote: >> > There is nothing wrong with what you are asking. Some work has been = > done to >> > get an ORM layer ontop of cassandra, for example, with a RubyOnRails >> > project. I'm trying to simplify cassandra integration with grails = > with the >> > plugin I'm writing. >> > The problem is ORM solutions to date are wrapping a relational = > database. >> > (The 'R' in ORM) Cassandra isn't a relational database so it does = > not map >> > cleanly. >>=20 >> Thanks. I noticed this problem before. I just want to know, in the >> first place, what exactly is the right way to model relations in >> Cassandra(a no-relational database). >> So far, I still have those entities, and, without foreign keys, I use >> relational entities, which contains the IDs of both sides of >> relations. >> In some other cases, I just duplicate data, and maintain the relations >> manually by updating all the data in the same time. >>=20 >> Is this the right way to go? Or what I am doing is still trying to >> convert Cassandra to a RDBMS? >>=20 >> > >> > On Fri, Apr 23, 2010 at 1:29 AM, aXqd <axqd...@gmail.com> wrote: >> >> >> >> On Fri, Apr 23, 2010 at 3:03 PM, Benoit Perroud = > <ben...@noisette.ch> >> >> wrote: >> >> > I understand the question more like : Is there already a lib = > which >> >> > help to get rid of writing hardcoded and hard to maintain lines = > like : >> >> > >> >> > MyClass data; >> >> > String[] myFields =3D {"name", "label", ...} >> >> > List<Column> columns; >> >> > for (String field : myFields) { >> >> > if (field =3D=3D "name") { >> >> > columns.add(new Column(field, data.getName())) >> >> > } else if (field =3D=3D "label") { >> >> > columns.add(new Column(field, data.getLabel())) >> >> > } else ... >> >> > } >> >> > (same for loading (instanciating) automagically the object). >> >> >> >> Yes, I am talking about this question. >> >> >> >> > >> >> > Kind regards, >> >> > >> >> > Benoit. >> >> > >> >> > 2010/4/23 dir dir <sikerasa...@gmail.com>: >> >> >>>So maybe it's weird to combine ORM and Cassandra, right? Is = > there >> >> >>>anything we can take from ORM? >> >> >> >> >> >> Honestly I do not understand what is your question. It is clear = > that >> >> >> you can not combine ORM such as Hibernate or iBATIS with = > Cassandra. >> >> >> Cassandra it self is not a RDBMS, so you will not map the table = > into >> >> >> the object. >> >> >> >> >> >> Dir. >> >> >> >> Sorry, English is not my mother tongue. >> >> >> >> I do understand I cannot combine ORM with Cassandra, because they = > are >> >> totally different ways for building our data model. But I think = > there >> >> are still something can be learnt from ORM to make Cassandra easier = > to >> >> use, just as what ORM did to RDBMS before. >> >> >> >> IMHO, domain model is still intact when we design our software, = > hence >> >> we need another way to map them to Cassandra's entity model. = > Relation >> >> does not just go away in this case, hence we need another way to >> >> express those relations and have a tool to set up Keyspace / >> >> ColumnFamily automatically as what django's SYNCDB does. >> >> >> >> According to my limited experience with Cassandra, now, we do more >> >> when we write, and less when we read/query. Hence I think the = > problem >> >> lies exactly in how we duplicate our data to do queries. >> >> >> >> Please correct me if I got these all wrong. >> >> >> >> >> >> >> >> On Fri, Apr 23, 2010 at 12:12 PM, aXqd <axqd...@gmail.com> = > wrote: >> >> >>> >> >> >>> Hi, all: >> >> >>> >> >> >>> I know many people regard O/R Mapping as rubbish. However it is >> >> >>> undeniable that ORM is quite easy to use in most simple cases, >> >> >>> Meanwhile Cassandra is well known as No-SQL solution, a.k.a. >> >> >>> No-Relational solution. >> >> >>> So maybe it's weird to combine ORM and Cassandra, right? Is = > there >> >> >>> anything we can take from ORM? >> >> >>> I just hate to write CRUD functions/Data layer for each object = > in even >> >> >>> a disposable prototype program. >> >> >>> >> >> >>> Regards. >> >> >>> -Tian >> >> >> >> >> >> >> >> > >> > >> > >> > >> > -- >> > Virtually, Ned Wolpert >> > >> > "Settle thy studies, Faustus, and begin..." --Marlowe >> > >>=20 >>=20 >>=20 >> --=20 >> Virtually, Ned Wolpert >>=20 >> "Settle thy studies, Faustus, and begin..." --Marlowe >>=20 >