I'm writting key-value storage for milions of documents - for study and fun. I added default b-tree indexing on key but of course there is no way to load all indexes to memory.
For now storage have two types of files data (not ordered key-value records) and index (no efficient conception for search, adding and deleting). In b-tree object leaves are key-data_file_offset pairs.
What is the proper way (idea) to maintain indexes (especially in index file) on search, add, delete?