Skip to content

Commit

Permalink
Mention limitations
Browse files Browse the repository at this point in the history
  • Loading branch information
akrylysov committed Jan 1, 2024
1 parent 7d3796d commit 794a326
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 0 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,3 +111,7 @@ on DigitalOcean 8 CPUs / 16 GB RAM / 160 GB SSD + Ubuntu 16.04.3 (higher is bett
## Internals

[Design document](/docs/design.md).

## Limitations

The design choices made to optimize for point lookups bring limitations for other potential use-cases. For example, using a hash table for indexing makes range scans impossible. Additionally, having a single hash table shared across all WAL segments makes the recovery process require rebuilding the entire index, which may be impractical for large databases.
4 changes: 4 additions & 0 deletions docs/design.md
Original file line number Diff line number Diff line change
Expand Up @@ -186,3 +186,7 @@ After the compaction is successfully finished, the compacted segment files are r
In the event of a crash caused by a power loss or an operating system failure, Pogreb discards the index and replays the
WAL building a new index from scratch.
Segments are iterated from the oldest to the newest and items are inserted into the index.

# Limitations

The design choices made to optimize for point lookups bring limitations for other potential use-cases. For example, using a hash table for indexing makes range scans impossible. Additionally, having a single hash table shared across all WAL segments makes the recovery process require rebuilding the entire index, which may be impractical for large databases.

0 comments on commit 794a326

Please sign in to comment.