Live data from Hacker News

Apache AGE, a PostgreSQL extension with graph database functionality

github.com

71–77 of 77 posts

Re: Apache AGE, a PostgreSQL extension with graph database functionality

#71

Earlier quoted context omitted.

Did you try dgraph? For our use cases it won over neo4j. Didn’t try redisgraph.

There is also a graph layer for Cassandra. It was based on Titan ... JanusGraph. I also played around with a graph-document database hybrid when I had downtime, but never got it close to anything usable. A json document database with relations between documents is basically a property graph. I've seen a lot of the document databases (rethinkdb, orientdb, elasticsearch, etc) that seem close to realizing this too, but…

> There is also a graph layer for Cassandra. It was based on Titan ... JanusGraph.

It also was monstrously hard to reason about the components in that thing, and our experience was that it didn't take any efforts to delineate which parts run "locally" versus which parts are evaluated on the Janus server

At the very least, our experience was that the (Janus/Gremlin/Tinkerpop) client library who just wished to run some Gremlin needed to be aware of all the nuances of the backing Cassandra store, and not (as a reasonable person would presume) queries sent to Janus and Janus talks to Cassandra using its own auth

0/10 I would quit over someone trying to make me use this again

Re: Apache AGE, a PostgreSQL extension with graph database functionality

#72
post #34

Earlier quoted context omitted.

You subsample. One package I used made N 'random walks' for each node. The random walks are written out as 'sentences', where the node id's are words. That results in a huge text file, that you then embed as if it were a normal text. The result is a normal 'word embedding' where the words are in reality the node id's. Works like a charm. Highly scalable. https://github.com/dwslab/jRDF2Vec

really ? so u keep subsampling as the data becomes larger and larger. instead of ...well...throwing more hardware that seems to be easier and easier these days. P.S. not trolling. im genuinely wondering if there is a better way to split the problem heuristically

All I'm saying is that you don't take into account all paths for each node. Just for ex 100 random walks starting at each node. And that results in an embedding that is 'good enough'.

Of course it is better to throw more hardware at the issue. But at a certain point the added value of being more precise or adding more hardware becomes moot, because you gain 0.1%

That is what I meant by 'it scales'. You can solve 'reasonably complex issues' with 'reasonably cheap hardware'

Re: Apache AGE, a PostgreSQL extension with graph database functionality

#73
post #30

This is written in C. I wonder how common it is to write PG extensions in safer langugaes and what would be the most suitable. I'm somewhat wary of using nontrivial C extensions, having seen so many of them sometimes seg fault the backend (eg PostGIS). There seem to be PG backend crashes described in this projects issues as well.

Timescale wrote their Promscale extension for Postgres in Rust. So it exists.

Re: Apache AGE, a PostgreSQL extension with graph database functionality

#74

Earlier quoted context omitted.

The Apache AGE is inspired by AgensGraph, a multimodel database fork of PostgreSQL. So it uses AgensGraph dialect.

AGE is an extension, not a fork. You can have relational tables and graphs in the same database, probably you can also use both in the same query.

That's right, AGE is designed to use both queries either separately or together. SQL (PostgreSQL), openCypher (AGE)

Re: Apache AGE, a PostgreSQL extension with graph database functionality

#75

Earlier quoted context omitted.

We benchmarked all 3; redisgraph was fastest by far.

Downside is it's harder to keep all data in memory and Redis has less sophisticated query facilities. Not sure how AGE stacks up in that regard, especially interesting would be joining graph data and non-graph data.

Regarding query facilities RedisGraph supports Cypher

Re: Apache AGE, a PostgreSQL extension with graph database functionality

#76

Earlier quoted context omitted.

That's a really interesting idea. Can you recommend any good references for bitemporality in graph dbs?

Theres XTDB

Thank you!

XTDB Core2 looks very interesting. I've worked a lot with Arrow, which makes it extra appealing.

Re: Apache AGE, a PostgreSQL extension with graph database functionality

#77

Earlier quoted context omitted.

Theres XTDB

Thank you! XTDB Core2 looks very interesting. I've worked a lot with Arrow, which makes it extra appealing.

I'm hesitant with databases like these because they are less battle-proven. I normally want my database to be as boring as possible.
Post reply on HN