Skip to content

first version of questdb internals #146

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 20 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions documentation/concept/interval-scan.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ that falls outside the relevant intervals. However, it's important to note that
**Interval Scan** does not apply to the results of sub-queries, as the data
returned from a sub-query is not guaranteed to be in timestamp order.

<!-- this image is used also at the questdb-internals page. Please keep in sync -->
<Screenshot
alt="Interval scan."
height={433}
Expand Down
1 change: 1 addition & 0 deletions documentation/concept/partitions.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ each interval is stored in separate sets of files.

import Screenshot from "@theme/Screenshot"

<!-- This image is used also at the questdb-internals page. Please keep in sync -->
<Screenshot
alt="Diagram of data column files and how they are partitioned to form a table"
height={373}
Expand Down
2 changes: 2 additions & 0 deletions documentation/concept/storage-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ read by translating the record number into a file offset by a simple bit shift.
The offset in the column file is then translated into an offset in a lazily
mapped memory page, where the required value is read from.

<!-- This image is used also at the questdb-internals page. Please keep in sync -->
<Screenshot
alt="Diagram showing how the data from a column file is mapped to the memory"
height={447}
Expand Down Expand Up @@ -95,6 +96,7 @@ Data committed by one process can be instantaneously read by another process,
either randomly (via queries) or incrementally (as a data queue). QuestDB
provides a variety of reader implementations.

<!-- This image is used also at the questdb-internals page. Please keep in sync -->
<Screenshot
alt="Architecture of the storage model with column files, readers/writers and the mapped memory"
height={596}
Expand Down
2 changes: 2 additions & 0 deletions documentation/concept/write-ahead-log.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ A WAL table uses the following components to manage concurrent commit requests:
- **TableWriter**: updates the database and resolves any out-of-order data
writes.

<!-- diagram used at the questb-internals page. Please keep in sync -->
<Screenshot
alt="Diagram showing the sequencer allocating txn numbers to events cronologically"
title="The sequencer allocates unique txn numbers to transactions from different WALs chronologically and serves as the single source of truth."
Expand All @@ -133,6 +134,7 @@ A WAL table uses the following components to manage concurrent commit requests:
width={745}
/>

<!-- diagram used at the questb-internals page. Please keep in sync -->
<Screenshot
alt="Diagram showing the WAL job application and WAL collect events and commit to QuestDB"
title="The WAL job application collects the transactions sequencially for the TableWriter to commit to QuestDB."
Expand Down
Loading