Building a Key-Value Database