Approach | On-disk | In-memory |
---|---|---|
Advantages | ✔ Support for larger than main memory databases ✔ Low CPU consumption during recovery using block-level write-ahead log (WAL) | ✔ Fast data access using direct memory pointers ✔ Efficient IO utilization: both checkpoints and WAL are written sequentially |
Shortcomings | ✘ High overhead to access data in main memory using buffer manager ✘ High volume of block-level WAL | ✘ Larger than main memory databases are not supported ✘ High CPU consumption during recovery using row-level WAL |