You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Bill Au <bi...@gmail.com> on 2010/03/05 04:44:20 UTC

Memtable size and garbage collection in JVM

I am running on a machine with 16 GB of memory.  I am thinking that the
bigger MemtableSizeIbMB, the more data will be kept in memory so there will
be less disk I/O.  Can I eliminate disk I/O all together if all my data fits
inside Memtable?  My application is constantly inserting new data and remove
old ones.  Will keeping everything in Memtable generate so much garbage
collection activity that it would impact performance?

Bill

Re: Memtable size and garbage collection in JVM

Posted by Avinash Lakshman <av...@gmail.com>.
Also huge memtables will increase your recovery time. Which may not be
something you want.

Avinash

On Thu, Mar 4, 2010 at 8:50 PM, Jonathan Ellis <jb...@gmail.com> wrote:

> A lot of churn is hard on Cassandra because of
> http://wiki.apache.org/cassandra/DistributedDeletes, but Cassandra is
> so fast that it may make up for that depending on your needs.
>
> It's not designed to eliminate i/o entirely, no.  But if you set
> RowsCached=100% in 0.6 you'll get something pretty close to that.
> (That is a better approach than huge Memtables.)
>
> -Jonathan
>
> On Thu, Mar 4, 2010 at 9:44 PM, Bill Au <bi...@gmail.com> wrote:
> > I am running on a machine with 16 GB of memory.  I am thinking that the
> > bigger MemtableSizeIbMB, the more data will be kept in memory so there
> will
> > be less disk I/O.  Can I eliminate disk I/O all together if all my data
> fits
> > inside Memtable?  My application is constantly inserting new data and
> remove
> > old ones.  Will keeping everything in Memtable generate so much garbage
> > collection activity that it would impact performance?
> > Bill
> >
> >
>

Re: Memtable size and garbage collection in JVM

Posted by Jonathan Ellis <jb...@gmail.com>.
A lot of churn is hard on Cassandra because of
http://wiki.apache.org/cassandra/DistributedDeletes, but Cassandra is
so fast that it may make up for that depending on your needs.

It's not designed to eliminate i/o entirely, no.  But if you set
RowsCached=100% in 0.6 you'll get something pretty close to that.
(That is a better approach than huge Memtables.)

-Jonathan

On Thu, Mar 4, 2010 at 9:44 PM, Bill Au <bi...@gmail.com> wrote:
> I am running on a machine with 16 GB of memory.  I am thinking that the
> bigger MemtableSizeIbMB, the more data will be kept in memory so there will
> be less disk I/O.  Can I eliminate disk I/O all together if all my data fits
> inside Memtable?  My application is constantly inserting new data and remove
> old ones.  Will keeping everything in Memtable generate so much garbage
> collection activity that it would impact performance?
> Bill
>
>