Return-Path: X-Original-To: apmail-cassandra-user-archive@www.apache.org Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A07E018497 for ; Tue, 16 Jun 2015 14:11:08 +0000 (UTC) Received: (qmail 98392 invoked by uid 500); 16 Jun 2015 14:11:05 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 98349 invoked by uid 500); 16 Jun 2015 14:11:05 -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 98339 invoked by uid 99); 16 Jun 2015 14:11:05 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Jun 2015 14:11:05 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of sebastian.estevez@datastax.com designates 74.125.82.45 as permitted sender) Received: from [74.125.82.45] (HELO mail-wg0-f45.google.com) (74.125.82.45) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Jun 2015 14:08:49 +0000 Received: by wgbhy7 with SMTP id hy7so13253252wgb.2 for ; Tue, 16 Jun 2015 07:10:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=datastax.com; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=/THd7BQ1Psk01ZLnR8G6EYFkvkWSLjqNKWG0WnUvtD0=; b=ra48OMsWrGEWZMOEByUbVhfpYHhpOb1+t6uRTkj4fzALknsCdUmHYHyhCJ5MEilLaS 9DB6mnGFr5oS8F8glraof/b86T7m+U/hZqoVD6+W/Zq+vGNmCuQcXrl/YX0M41PkpWZK j8N8AiO1+sEJBz3mlkN9nZ9kFBqoONoO1s5jY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=/THd7BQ1Psk01ZLnR8G6EYFkvkWSLjqNKWG0WnUvtD0=; b=k1ouvSLNDfvHWFNIjCA7gPI6Dd7aZmftsqhDXWGuVmYuXH5Xu2f1mgdWPaTHM+3hw4 5RCbRK2fexQ18sonRKL0Fi/3PfkTyY71nIgWMlLdC/FHIUtvkXNWLajzVlPxyu5ABX79 WlFbyLrJHTY6bxLe0Z+1IR5imgOMP+XakBOC1oJiYHWPG+shltz4XR1eShTMz+XvuuG6 RjOdVFq5ZLe75ICSM7+69J3g0/5tFoUW096xLnLzCvzR/ah+oylicgRAAP0oUUO+LMmC ULWocMGXBBk22qf8IVw3BwZRIcjE0/AygY6G1uypJ0yp7RTR6ABoyFQkV6GINrIBilBQ o2hQ== X-Gm-Message-State: ALoCoQmAhQ/S1HsFBH94mjJBtUw7/bfohD5EPEwMQVSOC3L32QxY7/shyKV40cWB1tnBIIFWWFSl MIME-Version: 1.0 X-Received: by 10.180.97.7 with SMTP id dw7mr44153998wib.74.1434463837688; Tue, 16 Jun 2015 07:10:37 -0700 (PDT) Received: by 10.194.33.38 with HTTP; Tue, 16 Jun 2015 07:10:37 -0700 (PDT) Received: by 10.194.33.38 with HTTP; Tue, 16 Jun 2015 07:10:37 -0700 (PDT) In-Reply-To: References: Date: Tue, 16 Jun 2015 10:10:37 -0400 Message-ID: Subject: Re: Tuning Cassandra 2.1 for High Writes and Immediate Reads From: Sebastian Estevez To: user@cassandra.apache.org Content-Type: multipart/alternative; boundary=f46d044304407d300c0518a323c3 X-Virus-Checked: Checked by ClamAV on apache.org --f46d044304407d300c0518a323c3 Content-Type: text/plain; charset=UTF-8 If you use clustering order by and need to keep the top rows in cache, look at the row cache in 2.1. http://www.datastax.com/dev/blog/row-caching-in-cassandra-2-1 On Jun 16, 2015 5:39 AM, "Pracheer Agarwal" wrote: > Hi, > > We are evaluating Cassandra 2.1 for our new production system. The > following are the requirements: > > 1. 15K writes/sec with 5 KB blob in a single column of a column family, > 2. This is followed by immediate Reads by multiple consumer threads, the > read requires us to return entire Row and not only the recently updated > column. > 3. Around 1B unique keys. > > So I am assuming for the reads the data can be fetched from both Memtable > (if it is not flushed) and Key-cache. (Row-cache is disabled) > > How can we optimize for higher Read throughput at the cost of Writes? > > Machine configuration, 10 Node cluster. > > - 24 core/machine > - 64 GB RAM > - 2TB*5 HDD per machine > - 10G NIC > > > Till now, for optimization we have done the following: > 1. We have provided 4G keycache. > 2. Created parition-key and clustering key in such a way that, for every > new event a new cell is created, we never update a record. > 3. No light-weight transactions > 4. ReplicationFactor 3 > 5. Write quorum 2, Read quorum 2 > > How can we further optimize for the write/read patterns explained above? > > Thanks, > Pracheer > --f46d044304407d300c0518a323c3 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

If you use clustering order by and need to keep the top rows= in cache, look at the row cache in 2.1.

http://www.datastax.com/dev/blog/row-caching-in-cassandra-2-1=

On Jun 16, 2015 5:39 AM, "Pracheer Agarwal&= quot; <pracheeragarwal@gmai= l.com> wrote:
Hi,

We are evaluating Cassandra 2.1 fo= r our new production system. The following are the requirements:
=
1. 15K writes/sec with 5 KB blob in a single column of a col= umn family,=C2=A0
2. This is followed by immediate Reads by multi= ple consumer threads, the read requires us to return entire Row and not onl= y the recently updated column.
3. Around 1B unique keys.

So I am assuming for the reads the data can be fetched fro= m both Memtable (if it is not flushed) and Key-cache. (Row-cache is disable= d)=C2=A0

How can we optimize for higher Read throu= ghput at the cost of Writes?

Machine configuration= , 10 Node cluster.
  • 24 core/machine
  • 64 GB RAM
  • =
  • 2TB*5 HDD per machine
  • 10G NIC=C2=A0

Till now, for optimization we have done the following:
1.= We have provided 4G keycache.
2. Created parition-key and cluste= ring key in such a way that, for every new event a new cell is created, we = never update a record.
3. No light-weight transactions
= 4. ReplicationFactor 3
5. Write quorum 2, Read quorum 2

How can we further optimize for the write/read patterns exp= lained above?

Thanks,
Pracheer
--f46d044304407d300c0518a323c3--