Home » Developer Resources » Resources: Database Design for Social Network

Resources: Database Design for Social Network

Curious about how social network databases? In this resource guide, you’ll find helpful resources that will help you to:-

  • Understand the pros and cons of some of the most popular databases
  • Understand what makes a good database design in general
  • Social network database design example, discussion, tutorials

Helpful Resources for Social Network Database Design

Let’s jump right into it.

What Database to Use for Social Network

The short answer to what database you should use to build a social network is one that you’re most familiar with.

Unless you’re expecting millions of users immediately, you can worry about scaling and performance down the road.

With that said, if you’re interested in knowing how do different databases compare, here are some links that will provide a deeper understanding on this topic.

  • Quora: Which database is best for creating a social networking application? See it here.
  • IEEE Paper: Using MongoDB for Social Networking Website – Deciphering the Pros and Cons. Read it here.
  • Dzone: MySQL vs. MongoDB: The Pros and Cons When Building a Social Network. Read it here.
  • https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3282559
  • 8bitman: Facebook Database [Updated] – A Thorough Insight Into The Databases Used @Facebook. This article discusses the many databases that Facebook uses for different microservices. Read it here.

General Database Design Concepts

Next up we have some articles that will help you to refresh your memory on what is considered good database design practice in general. These guides don’t focus on social network databases, but the principles are transferrable to any kind of relational database design.

  • University of Baltimore > Files and Database concepts. See it here.
  • The Pennsylvania State University > Database Design Concepts. See it here.

If you’re using a relational database like MySQL or PostgreSQL, you might want to refresh your memory on normalization. Normalization helps prevent data duplication and things like “concatenation hell.” Here are some reference guides to help you out.

  • Microsoft: Description of the database normalization basics. See it here.
  • Guru99: What is Normalization in DBMS (SQL)? 1NF, 2NF, 3NF, BCNF Database with Example. See it here.

Social Network Database Design Tutorials

Now let’s take a look at some actual tutorials and code examples that are related to social network. Note that these resources mainly focus on SQL databases. Let me know if you know any good resource NoSQL that I should include in this list.

  • Tutorials24x7: Guide To Design Database For Social Network System In MySQL. See it here.
  • ITNEXT: Building a Social Network. Social network database design in PostgreSQL complete with code example. See it here.
  • Previous Code Dodle: Social Network Database Design. Article written by the previous owner of this domain. The ideas are rudimentary but excellent for beginners. See it here.
  • Stack Overflow: Implementing Comments and Likes in database. Not an article or tutorial, but there are things to be learned from the answers shared by the users. See it here.

Database Design Tools

Software Testing Help: Top 10 Database Design Tools To Build Complex Data Models. See it here.

  • Holistics: Top 5 Free Database Diagram Design Tools. See it here.
  • Chartio: 7 Free Database Diagramming Tools for Busy Data Folks. See it here.

Database Design Course

For online structured learning courses, Coursera and Khan Academy are my go-to providers. For database design in particular, Coursera offers dozens of online courses led by instructors from reputable universities.

Check out the list of Coursera classes related to database design here.