Kyoto Cabinet
Database types
Kyotocabinet supports two types of data storage models, Hash (HDB) and B+ Tree. Every type has pros and cons and can be used in certain situations. The core of the database is the same but those two different algorithms define the storage and retrieval algorithms.
The extension of the database filename is very important, in fact, the whole name is very important, you control the database type (BDB or HDB) using the filename and extension kch is Kyotocabinet Hash, if you changed it to kct Kyotocabinet Tree, then you will be using B+ tree database. Also tricks like using '-' or '+' as database name will result in memory-based database, '-' means that it will be hash-based and '+' means B+ Tree-based.
import kyotocabinet as kc
db = kc.DB()
db.open('/tmp/soliman.kch', kc.DB.OWRITER | kc.DB.OCREATE)
db.set('FirstName', 'Ahmed')
db.set('LastName', 'Soliman')
print db.get('FirstName')