Live data from Hacker News

Apache AGE, a PostgreSQL extension with graph database functionality

github.com

51–60 of 77 posts

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

#51
post #40

This is a great project, but last time I checked it was lacking a lot of CYPHER features and wasn’t moving very fast forward. But I’m hoping it will catch up to the point it will become useful.

Cypher as in the Neo4J query language?

There is now an OpenCypher specification and AGE seems to strive towards supporting most of it.

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

#52
post #2

What subset of the openCypher dialect specification will Apache Age support? Every implementation is all over the place and completely non-portable. And neo4j performance leaves much to be desired. My personal go-to is RedisGraph paired with RedisInsight for the instant visualizations. It just feels "right" and, while not perfect, is overall intuitive.

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.

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

#53
Always bet on PostgreSQL!

I hope AGE matures a bit in the future. There are lots of use cases for Graph Databases. One I'm interested in is bitemporality. It's easy to use ltree or CTE for tree-like structures. But what if you want to move nodes in the graph at certain times? Like a device being scheduled to be in different rooms across time. And also the history of those schedules. In a graph database you can label edges with temporal attributes and then query for a view of the graph at a certain point in time and in a certain history state by filtering the edges.

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

#54
post #21

Could it be efficient to use Apache AGE for e.g. retrieving all comments on an article? Currently I’m using materialized paths to efficiency return all commments but would be keen to know if AGE can help query comments for an article more powerfully.

The ltree extension ( https://www.postgresql.org/docs/current/ltree.html ) is perfect for this usecase.

How does ltree compare with jsonb?

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

#55
post #19

Interesting. What are some good extensions for pg? I have only used UUID and postgis.

> I have only used UUID and postgis. If you used "uuid-ossp" to get uuid_generate_v4(), then this is no longer necessary since Postgres 13 as there is now a built-in gen_random_uuid() https://www.postgresql.org/docs/current/functions-uuid.html

Oh wow TIL thank you

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

#56

Always bet on PostgreSQL! I hope AGE matures a bit in the future. There are lots of use cases for Graph Databases. One I'm interested in is bitemporality. It's easy to use ltree or CTE for tree-like structures. But what if you want to move nodes in the graph at certain times? Like a device being scheduled to be in different rooms across time. And also the history of those schedules. In a graph database you can label…

That's a really interesting idea.

Can you recommend any good references for bitemporality in graph dbs?

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

#59
post #5

Anyone tried this? How does the performance compare to neo4j and RedisGraph? I’m about to give RedisGraph a try and I guess I will try this one a go as well.

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

We’ve been using Dgraph in production for a few years now.

The project is fine for hobby projects but it is NOT production ready.

Don’t take my word for it, though… I invite you read through some of the issues reported in their discussion forums and to take a look at their Github contributions over the past year.

There was major turmoil in Dgraph Labs (the project’s maintainers) last year which resulted in the CEO and 95% of the engineers exiting the company. They are currently in a rebuilding phase, with limited staff and runway.

There are several critical bugs, which lead to either data loss, data corruption or cluster instability, which the current maintainers have failed to fix. Additionally, their customer support is often either unresponsive or unhelpful (even for paying customers).

Running a Dgraph cluster is expensive, with heavy memory utilization and favoring vertical scaling. If you need scale, then be prepared to spend big.

The documentation is not great and because very few people use this project in production, help is extremely limited.

Best of luck to you should you choose Dgraph and to anyone currently using it already.

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

#60
I might try running this with Docker just to try it out, but probably this is the type of project to watch and wait for maturity.

I am a big fan of graph databases. Professionally I have used RDF data stores with SPARQL queries and Google’s Knowledge Graph with a pattern matching query mode. I play around with Neo4J, but no one has paid me to use it yet.

I think it very likely that in a year or two AGE will get better Cypher query language support and other changes, and should be a wonderful platform for combining relational and graph data stores.

Post reply on HN