I am prototyping a social network as part of a project I am working on and want to learn the right way to do it as if it were for an industry leading company.
I've decided on implementing the social network in a graph database like Neptune or titan db.
I also intend to do full text search on posts using a full-text engine like elastic search.
Here is the meat of my question.
The network has Profiles, Groups, and Posts as nodes in a graph as vertices and Friendships, Memberships, and Authorship as edges between these vertices.
I've already recognized the need to store my posts in a full text search database, so should my Post vertices contain nothing but a property "key" to reference the full-text database or also have a copy of the data?
Similarly should I really store the schema data for profiles and groups in a graph database either or should I simply store key's that point to either a document database or key-value database?
You obviously can store full schema information in a graph database and search it for pretty much anything but it seems like its the wrong utilization of the tool.