educative.io

Educative

Missing Database Schema

I’ve uploaded a minimal database schema necessary to achieve the functional requirements.

I’m still new to DB stuff but my first decision for SQL vs NoSQL is to go for all SQL here because everything has at least 1 relationship.

However, in the spirit of performance, I would consider using NoSQL for the Entity Relationships such as VideoLike because this data could be stored as a Key-Value mapping where key is VideoID and Value is a list of UserID’s. I think Cassandra, being a wide-column datastore, would be a good choice for this type of data. However, I am wondering if the read performance would be negatively impacted by using Cassandra for these data rather than storing everything in SQL. Thoughts?

And, in the spirit of scaling, I would also consider my above suggestion because, as we all know, NoSQL is much easier for scaling. But is this a necessary consideration for the type of data we are storing in our NoSQL DB?

3 Likes