8 ms·
This is fairly interesting. Postgres has a lot of momentum going on. I guess there's not stopping someone from building a better neo4j on top of it.
by arthursilva 11y ago
This is fairly interesting. Postgres has a lot of momentum going on. I guess there's not stopping someone from building a better neo4j on top of it.
- espeed 11y agoInteresting paper indeed. On the last page of the paper, Table 8 includes Gremlin->SQL CET translations, i.e. Common Table Expressions: http://www.postgresql.org/docs/current/static/queries-with.html http://www.postgresql.org/docs/current/static/queries-with.h... , https://en.wikipedia.org/wiki/Hierarchical_and_recursive_queries_in_SQL https://en.wikipedia.org/wiki/Hierarchical_and_recursive_que... . Note the paper uses TinkerPop/Gremlin 2 step names, and since then TinkerPop/Gremlin 3 has been released (http://tinkerpop.apache.org http://tinkerpop.apache.org), which includes many enhancements so the current Gremlin 3 names may differ a little from the ones they reference in column one of the table. P.S. If you want to see some of the new crazy shit you can do in Gremlin 3, check out Marko's talk and paper from GraphDay a few weeks ago: Quantum Processes in Graph Computing (https://www.youtube.com/watch?v=qRoAInXxgtc https://www.youtube.com/watch?v=qRoAInXxgtc) "Quantum Walks with Gremlin" http://arxiv.org/pdf/1511.06278v1.pdf http://arxiv.org/pdf/1511.06278v1.pdf
- dspillett 11y agoCommon Table Expressions Be careful to watch how your chosen DB processes CTEs and what it means for performance in your queries. In postgres they are "optimisation fences", something which there is significant resistance to changing[1][2], where-as elsewhere (at least in SQL Server) the query planner and engine can optimise across CTE boundaries (pushing search predicates back into them where possible). This can make a massive difference to the performance of some queries, potentially turning a full index scan (or worse, multiple scans) into a small number of seeks. As always: test with realistic data sizes/patterns to make sure things work as you are expecting them to. [1] see http://blog.2ndquadrant.com/postgresql-ctes-are-optimization-fences/ http://blog.2ndquadrant.com/postgresql-ctes-are-optimization... [2] also https://news.ycombinator.com/item?id=7023907 https://news.ycombinator.com/item?id=7023907 for further discussion
- hessenwolf 11y agoHow does a specific software offerer like Neo4j diversify it's service offering? Should it?