On Monday, December 23, 2013 7:18:05 PM UTC+5:30, Sourabh Kapoor wrote: > > Hi All, > > What is the best design for social sharing network based on phonebook? > What should be the architecture of the server? > > Background: > > App sync the phonebook of a contact and social network of a user and build > a graph and give recommendations. > > I read earlier usually developers make a mistake by thinking graph DB as a > relational DB and considering everything as a property of a single relation. > > Thats why i thought its better to ask questions to more senior people out > here.I am also putting some use cases as it helps to think of a long term > > design of graph DB. Note: Also read relations are much better than > properties.Always use that if possible. > > > Data involved : > > 1. Estimated data in an yr: 500 million to 1 billion (Currently we have > only 1 relation friends and on weekend server is choking up) > > 2. 5-6 different sharing networks(BBM , FB, LinkedIn and others) > > 3. on Avg, every phone number (a node) is connected to 300 nodes with > friends relation. > > > Use case: > > 1. Recommendation of friends, mutual friends to people in your phonebook. > > 2. Initially not many nodes user connects to has social linkage therefore > it may be the case you have lot of friends but very few of them are social > friends. > > Does it make sense to have new relationship for every social ID (be > bbm, FB, linkedin) > > 3. We will build the network through which old user gets notification when > new user joins any of social network and register to our app. > > 4. Pick of the day - based on mutual friends (degree and social interest > and country), user can search country wise social IDs. > > 5. User always search people from 1 country or its connected node (upto 4 > degree) based on male/female and age filter. > > 6. Status update would be notified to other connected nodes with social > IDs. > > Current Structure(Failing on bigger data set and creating lot of memory > issues) > > Neo4j Data: > > Relation - Friend > > Node has social ID as property,Country as indexed key and phone number as > indexed keys > > Mysql Data: > > All other second level data is in mysql. > > > > This is what i am thinking to try it out. Please let me know if i am > moving in right direction or not. > > We need scalable and performance oriented approach where we can scale > similar solutions to other social > > networking companies with 1 engine behind it. (It can scale to 10 social > networking companies) > > > Country (1 relation or bucket per country) > > Social (1 relation or bucket per social networking company) > > 1 relation for male, 1 relation for female > > Finally Node person with phonenumber as index key. > > > Your answers are highly appreciated!! >
-- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
