【 Implementing a Key-Value Store】Table of Contents
Table of Contents
1 – What are key-value stores, and why implement one?
1.1 – A quick overview of key-value stores
1.2 – Key-value stores versus relational databases
1.3 – Why implement a key-value store
1.4 – The plan
2 – Using existing key-value stores as models
2.1 – Not reinventing the wheel
2.2 – Model candidates and selection criteria
2.3 – Overview of the selected key-value stores
3 – Comparative Analysis of the Architectures of Kyoto Cabinet and LevelDB
3.1 – Intent and methodology of this architecture analysis
3.2 – Overview of the Components of a Key-Value Store
3.3 – Structural and conceptual analysis of Kyoto Cabinet and LevelDB
3.4 – Code review
4.1 – General principles for API design
4.2 – Defining the functionalities for the public API of KingDB
4.3 – Comparing the APIs of existing databases
5 – Hash table implementations
5.1 – Hash tables
5.2 – Implementations
6 – Open-Addressing Hash Tables
6.1 – Open-addressing hash tables
6.2 – Metrics
6.3 – Experimental Protocol
6.4 – Results and Discussion
7 – Optimizing Data Structures for SSDs
7.1 – Fast data structures on SSDs
7.2 – File I/O optimizations
7.3 – Done is better than perfect
9 – Data Format and Memory Management in KingDB
10 – High-Performance Networking: KingServer vs. Nginx
Coming next, the final article:
11 – Mistakes and learnings
http://xiongduo.cn/posts/ikvs-of-contents.html
http://codecapsule.com/2012/11/07/ikvs-implementing-a-key-value-store-table-of-contents/