I'm developing an app that requires to save data that is not consistent across all rows. These database entries represent different kind of sport activities. Let's take an example: In football the final result is an important field. However, in cycling there's no such field. So it wouldn't be a good idea to create a table that has a score column, would it? This kind of data would be easy to store in a NoSQL database.
All these have some things in common, though: date, time, duration and location, at least.
The app also has functionality that would greatly benefit from typical relational database. Users table, messages etc.
How should I implement a database for such an application? All data is relational in a way that connects everything to a specific user. However, not all data can be organized in a traditional row/column based database.
Should I use MySQL, and for these activities have a data field that contains the relevant data in JSON? What are my options?
Also keep in mind that the database might be holding millions of entries.