Skip to main content

eXtensible Block Compression Format

Project description

**WARNING: Alpha code under development**

# XBCF: eXtensible Block Compression Format

XBCF is a container format designed for indexed block compression on Amazon S3 or similar distributed storage systems with high seek latencies. It supports the following features:
* Configurable compression codec
* Configurable block encryption codec
* Seeking support, with granularity equal to the compression block size (1MB by default)
* Recursive encapsulation of XBCF containers
* Multiple worker nodes can independently upload parts of the same multi-part upload, each formatted as XBCF
* At close time, a higher-level XBCF is concatenated from the parts

## Dependencies
This proof-of-concept implementation works in Python.
```
pip install snappy lz4 numpy boto
```

## Format specification
* Magic header (8 bytes) == "XBCF" (0-padded)
* Level (8 bytes) (unsigned int; if level is 0, blocks are raw data; otherwise, blocks are themselves XBCF-formatted)
* Compression method (8 bytes) == "LZ4" (0-padded)
* Reserved (8 bytes) (padding to 32 bytes)
* Cipher name (16 bytes) == "AES-CBC" or "null" (0-padded)
* IV (16 bytes)
(If cipher != "null", all subsequent data is encrypted.)
* Block size (uncompressed) (unsigned int; 8 bytes); if size is 0, block size is variable and block size table is present
* Number of blocks (unsigned int; 8 bytes)
* Reserved (16 bytes) (padding to 32 bytes)
* Block start offset table (8 bytes * (Number of blocks))
* If block size is 0:
* Block size table (uncompressed sizes) (8 bytes * (Number of blocks))
* Blocks

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xbcf-0.0.1.tar.gz (5.9 kB view details)

Uploaded Source

File details

Details for the file xbcf-0.0.1.tar.gz.

File metadata

  • Download URL: xbcf-0.0.1.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for xbcf-0.0.1.tar.gz
Algorithm Hash digest
SHA256 bcf5f197d9d55b18ab99bfbcbb9b8599e1e5485b9f1c0a77ab533de6e6f90f9b
MD5 aa01c55ea9c785761e4411923d367e38
BLAKE2b-256 38aa7c485ca205dfe0b2bbbb4f88ca3f204c2568b28c0325465b7977ce3028bb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page