Skip to content

docs: add per-column Parquet encoding and compression documentation#384

Open
RaphDal wants to merge 5 commits intomainfrom
rd_parquet_encoders
Open

docs: add per-column Parquet encoding and compression documentation#384
RaphDal wants to merge 5 commits intomainfrom
rd_parquet_encoders

Conversation

@RaphDal
Copy link
Contributor

@RaphDal RaphDal commented Mar 6, 2026

Tandem PR for questdb/questdb#6843.

This pull request introduces comprehensive documentation and configuration support for per-column Parquet encoding and compression in QuestDB, along with a new server property to control Parquet page compression efficiency. The changes add detailed SQL syntax, configuration options, and usage examples for both table creation and schema alteration, and update relevant documentation and diagrams to reflect these enhancements.

Per-column Parquet encoding and compression support:

  • Added documentation for specifying per-column Parquet ENCODING and COMPRESSION in CREATE TABLE statements, including supported encodings/codecs, syntax diagrams, and usage examples. [1] [2]
  • Introduced a new SQL reference page for ALTER TABLE ALTER COLUMN SET/DROP PARQUET ENCODING/COMPRESSION, allowing users to modify or reset per-column Parquet settings on existing tables. [1] [2]
  • Updated the SHOW CREATE TABLE documentation to display per-column Parquet overrides in table definitions.

Parquet compression configuration:

  • Documented the new cairo.partition.encoder.parquet.min.compression.ratio property, which determines whether a compressed Parquet page is stored compressed or uncompressed based on its compression ratio. Provided usage guidance and default values. [1] [2]

These updates make it easier for users to fine-tune Parquet export behavior and understand the available configuration options.

@RaphDal RaphDal added documentation Improvements or additions to documentation enhancement New feature or request DO NOT MERGE labels Mar 6, 2026
@github-actions
Copy link

github-actions bot commented Mar 6, 2026

🚀 Build success!

Latest successful preview: https://preview-384--questdb-documentation.netlify.app/docs/

Commit SHA: 6c99710

📦 Build generates a preview & updates link on each commit.

the server-wide compression codec
(`cairo.partition.encoder.parquet.compression.codec`).

#### Supported encodings
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we explain what each encoding is good for? Even if just a link to an authoritative 3rd party docs. Without that, I have no idea why I would choose delta_binary_packed, as it is not used by default for numbers, so no idea when it can be convenient

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, definitely!
942dfc3 adds a reference to the official link and a small summary per encoding.

`rle_dictionary` for SYMBOL and VARCHAR, `delta_length_byte_array` for STRING
and BINARY, and `plain` for everything else.

#### Supported compression codecs
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same thing as above. We should probably tell the good/bad for each method, or link to somewhere where this is explained

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right, 942dfc3 adds this.
Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DO NOT MERGE documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants