Skip to content

Commit 015fe2c

Browse files
committed
Added a split cache
1 parent 31fd56b commit 015fe2c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+1916
-166
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
**/flamegraph.svg
77
local/**
88
quickwit/quickwit-ui/package-lock.json
9+
**/.DS_Store
910

1011

1112
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
2+
# Searcher split cache
3+
4+
Quickwit includes a split cache. It can be useful for specific workloads:
5+
- to improve performance
6+
- to reduce the cost associated with GET requests.
7+
8+
The split cache stores entire split files on disk.
9+
It works under the following configurable constraints:
10+
- number of concurrent download
11+
- amount of disk space
12+
- number of on-disk files.
13+
14+
Searcher get tipped by indexers about the existence of splits (for which they have the best affinity).
15+
They also might learn about split existence, upon read requests.
16+
17+
The searcher is then in charge of maintaining an in-memory datastructure with a bounded list of splits it knows about and their score.
18+
The current strategy for admission/evicton is a simple LRU logic.
19+
20+
If the most recently accessed splits not already in cache has been accessed, we consider downloading it.
21+
If the limits have been reached, we only proceed to eviction if one of the split currently
22+
in cache has been less recently accessed.
23+
24+

0 commit comments

Comments
 (0)