I was looking to persist a massive amount of simple string key values pairs in an application. CoreData seemed like an overkill; property list is not memory efficient enough. I ran into this project and find it really interesting and almost exactly fit the bill in terms of what I'm looking to do. I got a few suggestions to make to improve the performance though.
In memory cached based on NSMutableDictionary and then periodically flush to disk with user definable interval (0 would mean synchronous).
Tightly related to 1), make it possible to bulk insert / modification for maximum efficiency.
3 Add database index for the key, kind, UUID, and timestamp column.
Use GCD to synchronize access from multiple threads.
I plan to use this project and might be able to implement these four suggestions myself and then submit a pull request. But in case you are interested in these improvements as well, I thought I'd bring them up.