Files
scylladb/replica/CMakeLists.txt
Michael Litvak 0b1343747f logstor: initial commit
initial implementation of the logstor storage engine for key-value
tables that supports writes, reads and basic compaction.

main components:
* logstor: this is the main interface to users that supports writing and
  reading back mutations, and manages the internal components.
* index: the primary index in-memory that maps a key to a location on
  disk.
* write buffer: writes go initially to a write buffer. it accumulates
  multiple records in a buffer and writes them to the segment manager in
  4k sized blocks.
* segment manager: manages the storage - files, segments, compaction. it
  manages file and segment allocation, and writes 4k aligned buffers to
  the active segment sequentially. it tracks the used space in each
  segment. the compaction finds segment with low space usage and writes
  them to new segments, and frees the old segments.
2026-03-18 19:24:26 +01:00

37 lines
828 B
CMake

add_library(replica STATIC)
target_sources(replica
PRIVATE
distributed_loader.cc
database.cc
table.cc
tablets.cc
distributed_loader.cc
memtable.cc
exceptions.cc
dirty_memory_manager.cc
logstor/segment_manager.cc
logstor/logstor.cc
logstor/write_buffer.cc
multishard_query.cc
mutation_dump.cc
schema_describe_helper.cc
querier.cc)
target_include_directories(replica
PUBLIC
${CMAKE_SOURCE_DIR})
target_link_libraries(replica
PUBLIC
db
absl::headers
wasmtime_bindings
Seastar::seastar
xxHash::xxhash
PRIVATE
absl::raw_hash_set)
if (Scylla_USE_PRECOMPILED_HEADER_USE)
target_precompile_headers(replica REUSE_FROM scylla-precompiled-header)
endif()
check_headers(check-headers replica
GLOB_RECURSE ${CMAKE_CURRENT_SOURCE_DIR}/*.hh)