1) Thats the general approach http://wiki.apache.org/cassandra/FAQ#iter_world for Not sure why you think it will run into an infinite looop.
2) Not sure what your question is here. You either need to maintain the indexes yourself (by using a CF where the cols are the keys for another CF) or use the secondary indexes coming in v 0.7. *But* you should experiment with different ways to donormalise your data to remove the need for indexes. The best design is where you make a single request to a single CF.
There is a lot of information in the Wiki.
On 29 Sep, 2010,at 04:32 AM, sekhar kosuru <email@example.com> wrote:
I am involving in migrating our database Mysql to Cassandra. After Google about Cassandra database i feel following are some issues we need to find the solutions.
Suggest me if my analysis is wrong or for my doubts.
1) Projecting all the rows
- If we fixed KeyRange count to N records and initially start key & end key = "", then after first iteration of values last key as next start key and end key = "" it is going infinite loop.
2) Getting rows based on some condition ( created date b/n date1 to date2) -
For one column other than actual key in ColumnFamily i found some solution in the following link. http://maxgrinev.com/2010/07/12/do-you-really-need-sql-to-do-it-all-in-cassandra/
- select section, so we will have 2 ColumnFamilies. In our scenario we have to get records more than one column ( some times it will change periodically).
So how many ColumnFamilies need to design, if requirements need to change in middle of the devlopment/ production means how to handle.
3) Deleted keys are available in ColumnFamilies - How to remove these keys.
4) If we delete a record in clustered environment (In a single node), after that before sync with remaining nodes the node got failure means we wont have the data consistency - how to handle it. This database wont follow ACID properties, how to handle this one for a huge ERP kind of application.
5) Suggest me some GUI clients for Cassandra Database - to cross check the records in backend.