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

About performance #81

Closed
3ks opened this issue Oct 10, 2019 · 4 comments
Closed

About performance #81

3ks opened this issue Oct 10, 2019 · 4 comments

Comments

@3ks
Copy link

3ks commented Oct 10, 2019

Hey guys:

I learned from the documentation that ent supports both SQL and Germlin.

Because of their structural differences, I want to know how their performance is when performing graph traversal.And the applicable scene of ent?

Thanks.

@alexsn
Copy link
Collaborator

alexsn commented Oct 10, 2019

Hi @gorda, tl;dr is you should go with a SQL DB.

We initially developed Gremlin support as we assumed it would be a better fit for the ORM however after running with AWS Neptune we decided to switch to MySQL for the following reasons:

  • No tenancy support: We needed a separate graph per tanant which in MySQL translates to a logical DB.
  • No support for transactions.
  • Poor performance compared to RDS: We saw a much better performance in MySQL even though you need to do join for edge traversals.
  • People are normally familiar with SQL while gremlin query language is alien to most.

Note that we didn't test other gremlin implementations (i.e neo4j, janus, titan ...) as we wanted something managed from AWS.

@3ks
Copy link
Author

3ks commented Oct 10, 2019

Hi @alexsn, thank you for your reply, and the last question, are you planning to update the documentation? I noticed that the current documentation contains some of the unique nouns for the graphics database, and now ent is mainly used for SQL DB. It may be a little hard to understand for users who are misunderstood with unfamiliar graphics databases, such as me.

@alexsn
Copy link
Collaborator

alexsn commented Oct 10, 2019

The use of graph terminology is intentional as ent models data as a graph. The fact that this graph is stored in SQL is implementation details as we expect users to interact with their data via generated code.

@3ks
Copy link
Author

3ks commented Oct 11, 2019

It’s time to learn about the graphics database.Thank you!

@3ks 3ks closed this as completed Oct 11, 2019
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

2 participants