Hi,
Currently I am looking how the bacup/restore be done in Cassandra, based the
document from DataStax:
http://www.datastax.com/docs/1.1/backup_restore
Here is one way to do it:
1) Do a full snapshot every week2) Enable incremental backup every day
So with last snapshot + the incremental backups after that snapshot, you can
restore the cluster to the stage before it is lost.
Here are my understanding how Cassandra will flush from Memtable to SSTable
files in snapshot or incremental backups:
1) Full snapshot will force Cassandra flush all memtables to SSTable files, but
incremental backup won't.2) Incremental backup just hard-link all the SSTables
after the last snapshot.
Here is my question:
If the my above understanding is correct, let's say there is a data change
happened after the last snapshot, then recorded into commit log, and stored in
memtable, but never flush to the SSTables yet, at this time, we lost our
cluster. Will that change be lost just based on last snapshot plus incremental
backups? Or besides the last snapshot plus incremental backups, we also need
all commit log for a restore?
Thanks
Yong