Flash Talk Ive been waiting for. Kafka confluent is best. Thnx andy
@ramzidaswani13 күн бұрын
The main reason to use Shadow Paging over copying pages to disk directly is atomicity. When copying pages to disk in the Steal + Force approach if a crash happens while pages are being flushed to disk then the transaction is not atomic. Shadow Paging ensures that changes are only considered committed when the root pointer (or page table) is atomically switched from the old version (master) to the new version (shadow) and this change is done in a single instruction. This guarantees that either all changes are applied or none are, even in the event of a crash. Shadow Paging also does not necessarily have to be single-threaded. This depends on the implementation but multiple transactions can each have their own Shadow Table. This comes at the cost of using up memory but allows for more concurrency.