Designing a graph like DB
If your primary concern is with the graph of user connections, then use a graph database. There are many out there. Some are graph-processing engines are built on top of existing NoSQL or relational products.

These products are specifically optimized for the friend-of-friend type of queries typical for social networks. The schema definition and queries are typically much simpler than the same rules implemented on a relational engine.