One of the things about computing that hasn't changed much over the decades is that it is often best to learn by doing. Many of the original computing pioneers were hobbyists, who built their own computers for themselves, programmed them for fun and for mental stimulation, and who traded notes about what they were doing, what worked and what didn't, and what they had learned along the way.
So along comes Edward Capriolo, who has entertained himself over the winter writing his own NoSQL data store, and has entertained and educated us, along the way, with his series of blog posts:
- Building a Column Family store for fun and enjoyment
- Index Files - Building a column store - Part 2
- Key Cache - Building a column family store - Part 3
- Memtable, Flushing, and SSTables - Building a column family store - Part 4
- SSTables and Compaction - Building a column family store - Part 5
- Commitlog - Building a Column Family store - Part 6
- Bloom Filters - Building a Column Family store - Part 7
- Auto Clustering and gossip - Building a Column Family store - Part 8
- Request Routing - Building a NoSQL Store - Part 9
- Request coordination, eventual consistency, and CAP - Building a NoSQL store - Part 10
- Battling entropy with Hinted Handoff - Building a NoSQL store - Part 11
- Elastic node scale up - Building a NoSQL store - Part 12
- Cleanup compaction - Building a NoSQL store - Part 13
Thank you, Edward, for the time and energy you spent helping us all get smarter, it is much appreciated.