Parquet and Iceberg: how a table format builds on a file format
Blog post from QuestDB
QuestDB uses Apache Parquet to store older time-series partitions cheaply in portable columnar files, while Apache Iceberg provides a separate metadata layer that turns collections of such files into versioned, transactional, interoperable tables. Parquet enables compression, column projection, and predicate pushdown but does not independently handle atomic multi-file commits, concurrent writes, snapshots, schema evolution, or updates, whereas Iceberg addresses these needs through catalogs, manifests, and immutable snapshots. QuestDB manages these capabilities for its own tables through internal metadata and write-ahead logging, but external engines such as Spark, Trino, Snowflake, and Databricks see raw cold-storage Parquet files rather than a shared table. Existing QuestDB Parquet partitions can be registered as Iceberg tables without copying or rewriting data, allowing QuestDB to remain the low-latency engine for hot and cross-tier queries while other tools access governed historical data. Until native Iceberg integration arrives, users must run a scheduled synchronization process to register newly added Parquet files and remove deleted ones, with particular attention to catalog and storage credentials as well as timestamp and UUID type compatibility.
| Trend | Post Mentions | Total Month Mentions | Posts | Companies | MoM |
|---|---|---|---|---|---|
| Real-time | 1 | 4,824 | 1,080 | 238 | +4% |
| Serverless | 1 | 1,220 | 277 | 100 | +43% |
Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.