book: more questions on multi-tenant systems (#87)

Signed-off-by: Alex Chi Z <chi@neon.tech>
This commit is contained in:
Alex Chi Z.
2024-07-19 15:26:26 -04:00
committed by GitHub
parent dd333ca5a7
commit 42b94bda92
6 changed files with 22 additions and 4 deletions

View File

@@ -94,6 +94,7 @@ At this point, you may change your table iterator to use `read_block_cached` ins
* Does the usage of a block cache guarantee that there will be at most a fixed number of blocks in memory? For example, if you have a `moka` block cache of 4GB and block size of 4KB, will there be more than 4GB/4KB number of blocks in memory at the same time?
* Is it possible to store columnar data (i.e., a table of 100 integer columns) in an LSM engine? Is the current SST format still a good choice?
* Consider the case that the LSM engine is built on object store services (i.e., S3). How would you optimize/change the SST format/parameters and the block cache to make it suitable for such services?
* For now, we load the index of all SSTs into the memory. Assume you have a 16GB memory reserved for the indexes, can you estimate the maximum size of the database your LSM system can support? (That's why you need an index cache!)
We do not provide reference answers to the questions, and feel free to discuss about them in the Discord community.