I'm making a system with some features of a social network. And I want to know what your thoughts on the persistence technologies that best apply to certain features.
Let's take three basic features of the system:
- User Stream - All user activity in the application will be recorded, and then displayed on the user profile, it would be something like the Facebook wall. This will be one of the major focus of the application, and it need to have the best performance possible.
- Application and security logs - Here is where the application errors were stored, and other user-related data such as: IP, geo-spatial location, history log, etc. This part would be used as an additional layer of security.
- Statistics of the application, users and ads displayed on it.
What would be the ideal persistence technology for each one of the above characteristics? If some of the answers is a relational database, why would be best to choose a relational database over a NoSQL? And if the answer is a NoSQL, what would be the most recommended NoSQL?
Sorry for many questions, but I'm studying the choices that I can take, and would like to hear from those who already understand the subject so I do not take precipitated decisions.
Note: If you can improve the title of the question, please feel free to do so.