Thanks Paul,

If we make a CF Name_Address(name, address) rather than an index, we have to
maintain it, once any change happens in ID_Address(*Id*, address) ,
Name_ID(*name*, id). Besides, it also occupies some space.

In contrast, if Name_Address(name, address) is just an index, we can
redirect the query to ID_Address(*Id*, address) ,  Name_ID(*name*, id)
without the cost of maintenance.
Does it make sense?

Alvin


2010/9/16 Rock, Paul <paul.r...@teamaol.com>

> Alvin - assuming I understand what you're after correctly, why not make a
> CF Name_Address(name, address). Modifying the Cassandra methods to do the
> "join" you describe seems like overkill to me...
>
> -Paul
>
> On Sep 15, 2010, at 7:34 PM, Alvin UW wrote:
>
> Hello,
>
> I am going to build an index to join two CFs.
> First, we see this index as a CF/SCF. The difference is I don't materialise
> it.
> Assume we have two tables:
> ID_Address(*Id*, address) ,  Name_ID(*name*, id)
> Then,the index is: Name_Address(*name*, address)
>
> When the application tries to query on Name_Address, the value of "name" is
> given by the application.
> I want to direct the read operation  to Name_ID to get "Id" value, then go
> to ID_Address to
> get the "address" value by the "Id" value. So far, I consider only the read
> operation.
> By this way, the join query is transparent to the user.
>
> So I think I should find out which methods or classes are in charge of the
> read operation in the above operation.
> For example, the operation in cassandra CLI "get
> Keyspace1.Standard2['jsmith']" calls exactly which methods
> in the server side?
>
> I noted CassandraServer is used to listen to clients, and there are some
> methods such as get(), get_slice().
> Is it the right place I can modify to implement my idea?
>
> Thanks.
>
> Alvin
>
>
>

Reply via email to