XBSTREAM(1)
π¦ XBSTREAM(1) β okay bestie, it's xbstream from Percona XtraBackup π
Hiii so this is the manual page for xbstream, aka the little streaming icon of Percona XtraBackup. Buckle up, it's giving archive-format-glow-up β¨
πΈ NAME πΈ
xbstream β Percona xbstream Documentation
So here's the tea β bestie: to support simultaneous compression and streaming, a whole new custom streaming format called xbstream got introduced to Percona XtraBackup, on top of the TAR format. Why, you ask? Because traditional archive formats like tar, cpio and their little friends literally could not do the thing β they did not allow streaming dynamically generated files, for example dynamically compressed files π. Rude of them, honestly.
The other advantages xbstream has over traditional streaming/archive formats? Say it with me π
- ability to stream multiple files concurrently β so yeah, you can totally use streaming in the xbstream format together with the
--paralleloption π₯ - more compact data storage β¨
This utility has a tar-like interface, so if you already vibe with tar you're gonna eat this up:
- with the
-xoption it extracts files from the stream read from its standard input to the current directory β unless you specified otherwise with the-coption. Support for parallel extraction with the--paralleloption has been implemented in Percona XtraBackup 2.4.7. - with the
-coption it streams files specified on the command line to its standard output. - with the
--decrypt=ALGOoption specified, xbstream will automatically decrypt encrypted files when extracting input stream. The supported values for this option are:AES128,AES192, andAES256. Either--encrypt-keyor--encrypt-key-fileoptions must be specified to provide the encryption key, but not both π¨. This option has been implemented in Percona XtraBackup 2.4.7. - with the
--encrypt-threadsoption you can specify the number of threads for parallel data encryption. The default value is1. This option has been implemented in Percona XtraBackup 2.4.7. - the
--encrypt-keyoption is used to specify the encryption key that will be used. It can't be used with the--encrypt-key-fileoption because they are mutually exclusive π ββοΈ. This option has been implemented in Percona XtraBackup 2.4.7. - the
--encrypt-key-fileoption is used to specify the file that contains the encryption key. It can't be used with the--encrypt-keyoption because they are mutually exclusive π ββοΈ. This option has been implemented in Percona XtraBackup 2.4.7.
The utility also tries to minimize its impact on the OS page cache by using the appropriate posix_fadvise() calls when available. Considerate king behavior, honestly π
When compression is enabled with xtrabackup, all data is being compressed β including the transaction log file and meta data files β using the specified compression algorithm. The only currently supported algorithm is quicklz. That's it, that's the list, no cap.
The resulting files have the qpress archive format, i.e., every *.qp file produced by xtrabackup is essentially a one-file qpress archive and can be extracted and uncompressed by the qpress file archiver π. This means that there is no need to decompress the entire backup to restore a single table like you'd have to with tar.gz. Obsessed with the efficiency, fr fr.
To decompress individual files, run xbstream with the --decompress option. You may control the number of threads used for decompressing by passing the --decompress-threads option π§΅β¨
Also, files can be decompressed using the qpress tool that can be downloaded from here. Qpress supports multi-threaded decompression. Slay.
π AUTHOR π
Percona LLC and/or its affiliates
π COPYRIGHT π
2009-2022, Percona LLC and/or its affiliates
okay that's the whole page, you read it, you understood it, you're basically a streaming format expert now π
And that's a wrap on xbstream bestie!! π«Ά This was pulled from manual version 8.0, dated Jul 06, 2026 β mwah, go stream something πππ¦
π¦ where this page comes from
- arch rolling: xtrabackup 9.7.1_rc1-1 Β· GPL-2.0-only
- ubuntu stonking: percona-xtrabackup 9.7.1~rc1-0ubuntu2 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms