Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Evaluate Apache AGE vs Neo4J for graph db. #26

Open
dhirenmathur opened this issue Jul 3, 2024 · 0 comments
Open

Evaluate Apache AGE vs Neo4J for graph db. #26

dhirenmathur opened this issue Jul 3, 2024 · 0 comments

Comments

@dhirenmathur
Copy link
Collaborator

dhirenmathur commented Jul 3, 2024

Reevaluate graph database choice: Neo4j vs Apache AGE

This issue aims to discuss whether we should stick with Neo4j or switch to Apache AGE.

Current Situation

  1. Initially used SQLite wrapper as a graph database
    • Worked reliably, easy to debug, no learning curve
    • Limitation: Not distributed
  2. Switched to Neo4j for distribution capabilities
    • Experiencing random connection errors in logs

Project Requirements

  • Track relationships
  • Fetch immediate neighbors recursively
  • Distributed system
  • No expectation of significantly more complex graph use cases

Options to Consider

  1. Continue with Neo4j
    Pros:

    • Already implemented, fully featured
    • Mature graph database with extensive ecosystem
      Cons:
    • Ongoing connection issues
    • Unfamiliarity
  2. Migrate to Apache AGE
    Pros:

    • Postgres-based (leverages familiar SQL environment)
    • Supports both Cypher and SQL queries
    • Allows integration of existing Postgres data with graph data
      Cons:
    • Requires migration
    • Less mature than Neo4j as a graph db (but backed by Apache)

Questions to Address

  • Can we resolve Neo4j connection issues with reasonable effort?
  • Is Apache AGE capable of handling our current and foreseeable needs?
  • How much would we benefit from AGE's SQL integration capabilities?
  • What's the estimated effort and risk for migrating to AGE?
  • I don't want to migrate yet another database, can we use our existing Postgres installation with AGE? That would be a big factor.

Next Steps

  • Investigate root cause of Neo4j connection issues
  • Set up a test environment for Apache AGE and explore migration from Neo4j
  • Evaluate performance of both systems with our specific use cases
  • Assess team familiarity with Postgres and potential learning curve for AGE

Please share your thoughts, experiences, and concerns regarding these options. Consider how our existing Postgres knowledge might influence this decision.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant