ストレージエンジンを書くにあたって知っているといいかもな知識
ってどのあたりなんだろ。マインドマップ的に。
たとえば memcached のストレージ書くなら、
- I/O API
- p?(read|write)v, fsync
- async API?
- Memory Mapping API
- mmap, msync
- Multithreading
- pthread API
- various locks: mutex, rwlock, etc.
あたりかなぁ。耐障害性が必要になってくるなら、
あたりも必要? より本格的なストレージを書くなら
- MVCC
- Transaction
- Data Arrangement
- logging, indexing, cluster index, row-based vs. column-based
みたいな感じになってくるのかなぁ。なんかいろいろ抜けがありそう。