I am developing a website that will contain user profiles with significant amount of their data. Beyond the general user profile information, I will also need to store their settings, interaction history with other users, and actions they’ve taken on my website(i.e. purchased an item).
I am largely unfamiliar with web development on an enterprise level. Is there a more efficient way to store user profiles than using a relational database (oracle, mysql, ingres, etc)? Obviously within that realm there are multiple optimizations possible, but outside the scope of a relational database, is there a more modern and better solution?
You should use a relational database for storing user profile and user activity information.
The “more modern solution” would be a non-relational database. Such databases are good at storing large amounts of loosely structured information.
For well-structured transactional data like user profile and messages and purchases, relational database is the best choice. RDBMS is designed specifically to efficiently store and retrieve well structured transactional data.