cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sameer Farooqui <>
Subject Re: Snapshotting to a different volume?
Date Thu, 19 May 2011 01:17:33 GMT
Ahh.. yeah. And during a compaction a new SSTable is created with the merged

So, if I take a snapshot before compaction, the old SSTables won't be
deleted (b/c the snapshot hard links still have a reference to the files).

But if I hadn't taken a snapshot before compaction, does compaction also
automatically delete the old SSTables?

FYI - The O'Reilly Cassandra book has a really misleading definition of
snapshotting. It says that a snapshot makes a copy of the keyspace and saves
it to a separate database file.

Is there a way to do a read from a snapshot? So, using a client like Hector,
can I request a read from a snapshot that I took like 2 weeks ago?

It sounds like the main benefit of a snapshot is that it makes a bunch of
nicely organized hard links in a separate folder from a specific point in

So, taking snapshots to a different volume doesn't make sense since the hard
links can't span file systems. But it would be nice to have a feature where
the entire point-in-time copy of the SSTables can be copied to a different
volume. Currently if the data volume gets corrupted, the snapshots on it can
also get corrupted.

On Wed, May 18, 2011 at 5:44 PM, Watanabe Maki <>wrote:

> SSTables are immutable. Those won't changed once written to disk.
> From iPhone
> On 2011/05/19, at 9:37, Sameer Farooqui <> wrote:
> As of 0.8.0, is it possible to take a Cassandra snapshot to a different
> volume (like a EBS volume dedicated for backups)?
> About a year ago, Jonathan Ellis said that this won't be implemented b/c
> snapshots are basically hard links:
> <>
> But I don't fully understand that. If a snapshot is just a hardlink, won't
> the snapshot also change as new data is written to the SSTables?
> - Sameer

View raw message