SQL or a graph database to build a social network with recommender?
graph databases
- fit the use case of a social network
- databases like neo4j have real-time recommendation capability
- but a lot of them are not open source and I don't wanna get locked in
SQL - even meta uses mysql as their primary DB (but I know they have a custom graph DB built on top) - ACID compliance - have more resources - but if I use a SQL database I may need to build a recommendation system separately
2 comments
[ 3.5 ms ] story [ 15.3 ms ] threadChances are ~0% that you'll ever have enough users to care which one you chose, and if you get to that point, you'll be able to raise money to switch.
Your main problem building a social network is acquiring usere, not technology.
JanusGraph is a TinkerPop provider meaning that the graph can be queried with Gremlin, a powerful graph traversal language combined with a choice of scalable, distibuted backends/persistence stores (as mentioned, Apache Cassandra or Apache HBase).
Take a closer look at both the semantic web ecosystem (i.e., RDF/SPARQL/OWL) and the labeled property graph ecosystem (Neo4J, TinkerPop, etcetera) for both open and closed source alternatives.
You could even go down the route of multi-model stacks like ArcadeDB.
Just trying to provide a quick overview of some of your options :)
Links:
- https://tinkerpop.apache.org/ - https://cassandra.apache.org/_/index.html - https://hbase.apache.org/ - https://tinkerpop.apache.org/docs/3.5.3/reference/ - https://arcadedb.com/