Return-Path: Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: (qmail 37619 invoked from network); 28 Sep 2010 20:52:30 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 28 Sep 2010 20:52:30 -0000 Received: (qmail 70339 invoked by uid 500); 28 Sep 2010 20:52:28 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 70296 invoked by uid 500); 28 Sep 2010 20:52:28 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 70288 invoked by uid 99); 28 Sep 2010 20:52:28 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Sep 2010 20:52:28 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=HTML_MESSAGE,MIME_QP_LONG_LINE,RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [208.113.200.5] (HELO homiemail-a47.g.dreamhost.com) (208.113.200.5) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Sep 2010 20:52:20 +0000 Received: from homiemail-a47.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a47.g.dreamhost.com (Postfix) with ESMTP id D2FF928406B for ; Tue, 28 Sep 2010 13:51:57 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=thelastpickle.com; h=to:from :subject:date:message-id:content-type:mime-version:in-reply-to; q=dns; s=thelastpickle.com; b=TNETugc172HM98NOlWWNm5rhmDipPlyfk 2rL7CfDeqKJq/s0TY3mtON4FW6LuruA/o4Cucuu+XOGeB2uF7B3KVNIFPEFb1LF7 HysIebJFH6/4wOMJvo5H4kfbSCD1K3aFPuPNKxVUN9gFFY5b+TzoXHhj2ywIZG87 41bwEEFtVU= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=thelastpickle.com; h=to :from:subject:date:message-id:content-type:mime-version: in-reply-to; s=thelastpickle.com; bh=A+TZLsloExoHo9ESaq6wTIO4kKM =; b=eTlFV/yZ94QtozeoUQaG/VahORew1+gFvEJxA0+VLXF/44TQj30uPyx+cmG 3leslU8iO3Ujj5aC8Be5lH02RqCO8KTNSdN9dKvXJQDqnsBsi/qnYzA3K8K9Er61 XBH5v2VNqyfksZ5GP/v1a/m2TYw9iQExLn1ILmi+F08NomTw= Received: from localhost (webms.mac.com [17.148.16.116]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: aaron@thelastpickle.com) by homiemail-a47.g.dreamhost.com (Postfix) with ESMTPSA id C63BC284065 for ; Tue, 28 Sep 2010 13:51:57 -0700 (PDT) To: user@cassandra.apache.org From: Aaron Morton Subject: Re: Migrating from Mysql to Cassandra Date: Tue, 28 Sep 2010 20:51:57 GMT X-Mailer: MobileMe Mail (1C3203) Message-id: Content-Type: multipart/alternative; boundary=Apple-Webmail-42--2dd7a391-1a45-c582-f2ce-e962016bb83a MIME-Version: 1.0 In-Reply-To: X-Virus-Checked: Checked by ClamAV on apache.org --Apple-Webmail-42--2dd7a391-1a45-c582-f2ce-e962016bb83a Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=ISO-8859-1; format=flowed 1) Thats the general approach http://wiki.apache.org/cassandra/FAQ#iter_wo= rld for Not sure why you think it will run into an=A0infinite=A0looop.=0A=0A= 2) Not sure what your question is here. You either need to maintain the in= dexes 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 indexe= s. The best design is where you make a single request to a single CF. =A0=0A= =0A3) See the FAQ=A0http://wiki.apache.org/cassandra/FAQ#range_ghosts=A0Wh= en doing a get_range_slices it's best to test the number of columns return= ed for each row to see if it has what you expected.=A0=0A=0A4) Not sure wh= at the question is, perhaps this section on Consistency will help=A0http:/= /wiki.apache.org/cassandra/ArchitectureOverview=0A=0A5) GUI clients=A0http= ://wiki.apache.org/cassandra/FAQ#gui=0A=0AThere is a lot of information in= the Wiki.=A0=0A=0AAaron=0A=0A=0AOn 29 Sep, 2010,at 04:32 AM, sekhar kosur= u wrote:=0A=0AHi =0A=0AI am involving in migratin= g our database Mysql to Cassandra. After Google about Cassandra database i= feel following are some issues we need to find the solutions.=0A=0ASugges= t me if my analysis is wrong or for my doubts.=0A=0A=A01) Projecting all t= he rows - If we fixed KeyRange count to N records and initially start key = & end key =3D "", then after first iteration of values last key as next st= art key and end key =3D "" it is going infinite loop.=0A=0A=A0 2) Getting = rows based on some condition ( created date b/n date1 to date2)=A0 - =0A=A0= =A0=A0=A0=A0=A0=A0=A0=A0 For one column other than actual key in ColumnFam= ily i found some solution in the following link. =0A=A0=A0=A0=A0=A0=A0 htt= p://maxgrinev.com/2010/07/12/do-you-really-need-sql-to-do-it-all-in-cassan= dra/ - select section, so we will have 2 ColumnFamilies. In our scenario w= e have to get records more than one column ( some times it will change per= iodically).=0ASo how many ColumnFamilies need to design, if requirements n= eed to change in middle of the devlopment/ production means how to handle.= =0A=0A=0A=A0 3) Deleted keys are available in ColumnFamilies - How to remo= ve these keys.=0A=0A=A0 4) If we delete a record in clustered environment = (In a single node), after that before sync with remaining nodes the node g= ot failure means we wont have the data consistency - how to handle it. Thi= s database wont follow ACID properties, how to handle this one for a huge = ERP kind of application.=0A=0A=A05) Suggest me some GUI clients for Cassan= dra Database - to cross check the records in backend.=A0=A0 =0A=0A=0A/Rega= rds=0ASekhar. =0A=0A=A0=0A=0A=0A=0A=0A --Apple-Webmail-42--2dd7a391-1a45-c582-f2ce-e962016bb83a Content-Type: multipart/related; type="text/html"; boundary=Apple-Webmail-86--2dd7a391-1a45-c582-f2ce-e962016bb83a --Apple-Webmail-86--2dd7a391-1a45-c582-f2ce-e962016bb83a Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=ISO-8859-1;
1) Thats the general approach http://wiki.apache.org/cassandra/FAQ#it= er_world for Not sure why you think it will run into an infinite = ;looop.

2) Not sure what your question is here. Y= ou either need to maintain the indexes yourself (by using a CF where the c= ols 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 d= ata to remove the need for indexes. The best design is where you make a si= ngle request to a single CF.  

3) See the FA= Q http:/= /wiki.apache.org/cassandra/FAQ#range_ghosts When doing a get_rang= e_slices it's best to test the number of columns returned for each row to = see if it has what you expected. 

4) Not sur= e what the question is, perhaps this section on Consistency will help = ;= http://w= iki.apache.org/cassandra/ArchitectureOverview

5) = GUI clients http:= //wiki.apache.org/cassandra/FAQ#gui

There is a lot of informati= on in the Wiki. 

Aaron


On = 29 Sep, 2010,at 04:32 AM, sekhar kosuru <kosurusekhar@gmail.com> wro= te:

Hi

I am invol= ving in migrating our database Mysql to Cassandra. After Google about Cass= andra database i feel following are some issues we need to find the soluti= ons.

Suggest me if my analysis is wrong or for my doubts.
=0A 1) Projecting all the rows - If we fixed KeyRange count to N= records and initially start key & end key =3D "", then after first it= eration of values last key as next start key and end key =3D "" it is goin= g infinite loop.
=0A
  2) Getting rows based on some conditi= on ( 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 pe= riodically).
=0ASo how many ColumnFamilies need to design, if requireme= nts need to change in middle of the devlopment/ production means how to ha= ndle.


  3) Deleted keys are avai= lable in ColumnFamilies - How to remove these keys.
=0A
  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 AC= ID properties, how to handle this one for a huge ERP kind of application.<= br>=0A
 5) Suggest me some GUI clients for Cassandra Database - to= cross check the records in backend.  


/Regards
S= ekhar.

 
=0A



=0A
--Apple-Webmail-86--2dd7a391-1a45-c582-f2ce-e962016bb83a-- --Apple-Webmail-42--2dd7a391-1a45-c582-f2ce-e962016bb83a--