This is a good read on how LSM-tree storage engines work. The ones you see in systems like Cassandra, RocksDB and LevelDB.
I highly recommend a book called "Designing Data-Intensive Applications". That covered a lot of these topics.
What I liked about this piece is that it makes the moving parts concrete: WALs, MemTables, SSTables and tombstones. Building these ideas from scratch is one of the best ways to really understand why modern databases are designed the way they are.