Explain InfluxDB-to-QuestDB concept mapping, and merge sparse rows with a materialized view - #545
Open
PasinduOshada wants to merge 1 commit into
Conversation
PasinduOshada
force-pushed
the
docs/influxdb-migration-concept-mapping
branch
from
September 9, 2026 06:48
1243dc0 to
5360753
Compare
…th a materialized view The migration tutorial jumped straight to client code without saying what happens to the data model, and its fix for InfluxDB's sparse rows stopped at a one-off INSERT. Add a concept mapping table covering buckets, measurements, tags, fields, series, shards and retention policies, plus the two consequences that change how a deployment is sized: tags are ordinary SYMBOL columns, and there is no series object to track. Rework the sparse-row section to collapse rows continuously with a materialized view over SAMPLE BY, then age out the raw ILP table with TTL, noting that a view's retention is independent of its base table and that Enterprise uses storage policies for table retention. Closes questdb#149
PasinduOshada
force-pushed
the
docs/influxdb-migration-concept-mapping
branch
from
September 9, 2026 06:49
5360753 to
ddff217
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #149
The migration tutorial jumped straight to client code without saying what happens to the data model, and its fix for InfluxDB's sparse rows stopped at a one-off
INSERT. This addresses both points from the issue.Concept mapping
Adds a table mapping InfluxDB concepts to QuestDB ones — buckets, measurements, tags, fields, points, series, shards, retention policies and continuous queries — followed by the two consequences that actually change how a deployment is sized:
SYMBOLcolumns, not a separate kind of thing, so a value stored as a field in InfluxDB can be aSYMBOLhere without redesigning the schema;Sparse rows: materialized view + TTL
The existing section explained the problem and gave a
max()query, then stopped atINSERT ... SELECT. Reworked per the issue to:SAMPLE BY 1s, with a note on why that interval is what merges the fragments (every ILP line split out of one reading shares a timestamp) and when to widen it;ALTER TABLE ... SET TTL, noting a view's retention is independent of its base table;:::notethat on Enterprise, tableTTLis superseded by storage policies while materialized views continue to useTTL.Notes
query/sql/create-mat-view.md,concepts/ttl.mdandconcepts/symbol.mdrather than written from memory.onBrokenLinks: "throw"build should pass.Happy to adjust tone, table rows, or the
SAMPLE BYinterval if you'd rather it read differently.