How would I structure database the best?

How to use database table or XML file to describe a social network graph structure?

  • As I know the social relation is a graph structure and used to build social network relation system(such as "follow relation", "2nd relation" in Quora or Linkedin. How can I use data table or XML base on simple graph structure to describe it?

  • Answer:

    The schema of a SN in the relational paradigm is very simple, you have a table for entity person and a many to many relation with the same entity. Apart from that you may have a significant number of attributes for the entity and other entities making the whole schema more or less complex depending on the needs of your use case. For instance, in a social network for a e-bookshop it would be necessary to add tables for items, providers, etc. so that the whole schema helps you manage the social network and the transactions of your company. However, I would say that in the SN area, you need high capacity/performance analytical characteristics for your system, no matter the business area you will decide to support. In this case, you either need to manage your transactional system in a relational DBMS, and integrate a Graph Database (GDB) to provide on-line recommendation and other off-line analytical characteristics; or integrate the transactional and analytical system in a single repository. My experience tells me that the first solution is best, providing the good characteristics from both words, the long experience of the relational world in transaction management and the great analytical characteristics of GDBs. In that case, using DEX as an analytical engine would be the best solution as explained in the Sparsity Technologies web page (http://www.sparsity-technologies.com/events#571) .

Josep Lluis Larriba Pey at Quora Visit the source

Was this solution helpful to you?

Related Q & A:

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.