cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Cassandra Wiki] Update of "LargeDataSetConsiderations" by PeterSchuller
Date Sun, 19 Dec 2010 14:44:33 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification.

The "LargeDataSetConsiderations" page has been changed by PeterSchuller.
http://wiki.apache.org/cassandra/LargeDataSetConsiderations?action=diff&rev1=13&rev2=14

--------------------------------------------------

   * Consider the choice of file system. Removal of large files is notoriously slow and seek
bound on e.g. ext2/ext3. Consider xfs or ext4fs. This affects background unlink():ing of sstables
that happens every now and then, and also affects start-up time (if there are sstables pending
removal when a node is starting up, they are removed as part of the start-up proceess; it
may thus be detrimental if removing a terrabyte of sstables takes an hour (numbers are ballparks,
not accurately measured and depends on circumstances)).
   * Adding nodes is a slow process if each node is responsible for a large amount of data.
Plan for this; do not try to throw additional hardware at a cluster at the last minute.
   * Cassandra will read through sstable index files on start-up, doing what is known as "index
sampling". This is used to keep a subset (currently and by default, 1 out of 100) of keys
and and their on-disk location in the index, in memory. See [[ArchitectureInternals]]. This
means that the larger the index files are, the longer it takes to perform this sampling. Thus,
for very large indexes (typically when you have a very large number of keys) the index sampling
on start-up may be a significant issue.
-  * A negative side-effect of a large row-cache is start-up time. The periodic saving of
the row cache information only saves the keys that are cached; the data has to be pre-fetched
on start-up. On a large data set, this is probably going to be seek-bound and the time it
takes to warm up the row cache will be linear with respect to the row cache size (assuming
sufficiently large amounts of data that the seek bound I/O is subject to optimization by disks).
+  * A negative side-effect of a large row-cache is start-up time. The periodic saving of
the row cache information only saves the keys that are cached; the data has to be pre-fetched
on start-up. On a large data set, this is probably going to be seek-bound and the time it
takes to warm up the row cache will be linear with respect to the row cache size (assuming
sufficiently large amounts of data that the seek bound I/O is not subject to optimization
by disks).
    * Potential future improvement: [[https://issues.apache.org/jira/browse/CASSANDRA-1625|CASSANDRA-1625]].
  

Mime
View raw message