Since there are no answers to my previous [question](https://stackoverflow.com/questions/3996748/looking-for-distributed-in-memory-graph-db). I'm really thinking to implement a custom DB which will satisfy my requirements. 

Yes I know, sounds crazy. 

But what books, articles and etc. would you recommend to read? 

If it does matter the requirements for my DB are following

1. Graph oriented - optimized for storing graphs and traversal(e.g HyperGraphDB, Neo4j)
2. Running in memory, but having a persisted storage (e.g. Redis)
3. Distributed (e.g. membase)
4. Had .NET adapter (TCP/IP, not HTTP REST)

I don't look for technical details, just want to find some source of theoretical information on how things usually done and what choices do I have.