Backup workflow and restoring single tables

I’ve just started playing with innobackupex as a replacement for mysqldump. I’m just trying to work out how to best use compression/xbstream in my backups.

If I run innobackupex and then do an --apply-log when do I use --compress and/or xbstream? I’m trying to work out a way that I could restore a single table from a backup without having to download the whole backup file (which is 30GB+ uncompressed)

Is it possible to extract a single table/database from xbstream or is it just easier to not use xbstream and backup all the individual table files instead?

xbstream + compress will encrypt and it speeds up your backup process. You can unpack the xbstream + compress backup and restore individual tables too. You can check for details with the process and examples in documentation here http://www.percona.com/doc/percona-xtrabackup/2.2/innobackupex/streaming_backups_innobackupex.html and http://www.percona.com/doc/percona-xtrabackup/2.2/innobackupex/restoring_individual_tables_ibk.html