Janusgraph connect with MySQL Storage Backend


liu molong <1854...@...>
 

Hello,

I request your help regardding the janusgraph connect with Mysql or other  Relational DBMS. Because I'm trying to code a module which can connects to Mysql.
And current this module can connect with Mysql Server and do some simple operations like add/delete/query and so on.
But There‘’s some different when do query, I see that sliceStart/sliceEnd when do getSlice。

question 1:
Is it necessary to use sliceStart/sliceEnd when query?Beacuse I just try to  replace the Storage with MySQL,I am not sure whether the slice is necessary for JanusGraph.

question 2:
why don't you plan to support Mysql? Is it for some special reason? 

I will be very appreciate that if you can give some suggestion for the Mysql plan.

Thanks


BO XUAN LI <libo...@...>
 

Hi Molong,

Did you have a chance to read https://docs.janusgraph.org/advanced-topics/data-model/ yet? JanusGraph needs a column-family type database which can efficiently sort the cells by column. For example, the extensive usage of “sliceStart” and “sliceEnd” in CQLKeyColumnValueStore is based on the assumption that Cassandra can store entries sorted by Clustering Column (https://docs.datastax.com/en/dse/5.1/cql/cql/cql_using/whereClustering.html).

As far as I know Mysql cannot store data in a user-specified sorting order. That being said, Mysql allows using index to accelerate ORDER BY operations. So I guess you can make use of ORDER BY to achieve the sorting order, but I am not sure how efficient that would be.

Some resources on creating a storage backend:


Best regards,
Boxuan


On Dec 22, 2020, at 11:39 AM, liu molong <1854...@...> wrote:

Hello,

I request your help regardding the janusgraph connect with Mysql or other  Relational DBMS. Because I'm trying to code a module which can connects to Mysql.
And current this module can connect with Mysql Server and do some simple operations like add/delete/query and so on.
But There‘’s some different when do query, I see that sliceStart/sliceEnd when do getSlice。

question 1:
Is it necessary to use sliceStart/sliceEnd when query?Beacuse I just try to  replace the Storage with MySQL,I am not sure whether the slice is necessary for JanusGraph.

question 2:
why don't you plan to support Mysql? Is it for some special reason? 

I will be very appreciate that if you can give some suggestion for the Mysql plan.

Thanks

--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgra...@....
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/219c2de9-207b-45fa-b7a8-0639783a560fn%40googlegroups.com.


Liu <1854...@...>
 

Thank you so much~ And I will read them to get some useful infomation.

在2020年12月23日星期三 UTC+8 下午9:51:02...@...> 写道:

Hi Molong,

Did you have a chance to read https://docs.janusgraph.org/advanced-topics/data-model/ yet? JanusGraph needs a column-family type database which can efficiently sort the cells by column. For example, the extensive usage of “sliceStart” and “sliceEnd” in CQLKeyColumnValueStore is based on the assumption that Cassandra can store entries sorted by Clustering Column (https://docs.datastax.com/en/dse/5.1/cql/cql/cql_using/whereClustering.html).

As far as I know Mysql cannot store data in a user-specified sorting order. That being said, Mysql allows using index to accelerate ORDER BY operations. So I guess you can make use of ORDER BY to achieve the sorting order, but I am not sure how efficient that would be.

Some resources on creating a storage backend:


Best regards,
Boxuan


On Dec 22, 2020, at 11:39 AM, liu molong <18...@...> wrote:

Hello,

I request your help regardding the janusgraph connect with Mysql or other  Relational DBMS. Because I'm trying to code a module which can connects to Mysql.
And current this module can connect with Mysql Server and do some simple operations like add/delete/query and so on.
But There‘’s some different when do query, I see that sliceStart/sliceEnd when do getSlice。

question 1:
Is it necessary to use sliceStart/sliceEnd when query?Beacuse I just try to  replace the Storage with MySQL,I am not sure whether the slice is necessary for JanusGraph.

question 2:
why don't you plan to support Mysql? Is it for some special reason? 

I will be very appreciate that if you can give some suggestion for the Mysql plan.

Thanks

--
You received this message because you are subscribed to the Google Groups "JanusGraph users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgr...@....
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/219c2de9-207b-45fa-b7a8-0639783a560fn%40googlegroups.com.


Madhan Neethiraj
 

Hi Molong,

 

An implementation of JanusGraph backend storage for RDBMS is available at https://github.com/mneethiraj/janusgraph/tree/rdbms_backend. The implementation uses EclipseLink JPA to access RDBMS, which enables support for large number of database flavors – including Postgres, MySQL, Oracle, MS-SQL. A brief document on RDBMS storage backend configuration is available here. I tested with Postgres, it works well; and should work with other RDBMS flavors supported by EclipseLink as well.

 

Hope you find this useful.

 

Madhan

 


hadoopmarc@...
 

Hi Madhan

It is exciting news that you have just made available this work under the APL2.0 license!!! Standard RDBMS, though not as scalable as the NoSQL storage backends, might provide an easy start for many future JanusGraph projects because any devops team can have one available in the blink of an eye. Of course, this announcement deserves a more prominent spot than just this outpost of the JanusGraph community. Do you have any plans to announce this in more detail in a future blog post or conference contribution? In particular, it would be interesting to hear about the tuning of postgresql for the JanusGraph workloads (many small requests with a need for small round trip delays).

Best wishes,     Marc


Madhan Neethiraj
 

Hi Marc,

 

Thanks! This is a work-in-progress implementation, and will need to go through more testing - especially to understand the performance and tuning aspects. Once these are done, this feature can be announced via a blog and/or other channels.

 

Are there JanusGraph tests available to cover performance aspects of backend storage implementations? It will be of big help.

 

Thanks,

Madhan

 

From: <janusgraph-users@...> on behalf of <hadoopmarc@...>
Reply-To: <janusgraph-users@...>
Date: Sunday, February 7, 2021 at 3:10 AM
To: <janusgraph-users@...>
Subject: Re: [janusgraph-users] Janusgraph connect with MySQL Storage Backend

 

Hi Madhan

It is exciting news that you have just made available this work under the APL2.0 license!!! Standard RDBMS, though not as scalable as the NoSQL storage backends, might provide an easy start for many future JanusGraph projects because any devops team can have one available in the blink of an eye. Of course, this announcement deserves a more prominent spot than just this outpost of the JanusGraph community. Do you have any plans to announce this in more detail in a future blog post or conference contribution? In particular, it would be interesting to hear about the tuning of postgresql for the JanusGraph workloads (many small requests with a need for small round trip delays).

Best wishes,     Marc


Boxuan Li
 

Hi Madhan,

Have you checked out https://github.com/rngcntr/janusbench ? I never used it personally but it looks interesting and might be helpful.

Best regards,
Boxuan

On Feb 8, 2021, at 4:04 PM, Madhan Neethiraj <madhan@...> wrote:

Hi Marc,
 
Thanks! This is a work-in-progress implementation, and will need to go through more testing - especially to understand the performance and tuning aspects. Once these are done, this feature can be announced via a blog and/or other channels.
 
Are there JanusGraph tests available to cover performance aspects of backend storage implementations? It will be of big help.
 
Thanks,
Madhan
 
From: <janusgraph-users@...> on behalf of <hadoopmarc@...>
Reply-To: <janusgraph-users@...>
Date: Sunday, February 7, 2021 at 3:10 AM
To: <janusgraph-users@...>
Subject: Re: [janusgraph-users] Janusgraph connect with MySQL Storage Backend
 
Hi Madhan

It is exciting news that you have just made available this work under the APL2.0 license!!! Standard RDBMS, though not as scalable as the NoSQL storage backends, might provide an easy start for many future JanusGraph projects because any devops team can have one available in the blink of an eye. Of course, this announcement deserves a more prominent spot than just this outpost of the JanusGraph community. Do you have any plans to announce this in more detail in a future blog post or conference contribution? In particular, it would be interesting to hear about the tuning of postgresql for the JanusGraph workloads (many small requests with a need for small round trip delays).

Best wishes,     Marc 



Madhan Neethiraj
 

Boxuan,

 

Thanks for the pointer to janusbench. I will try this and update this thread in few days.

 

Madhan

 

 

From: <janusgraph-users@...> on behalf of BO XUAN LI <liboxuan@...>
Reply-To: <janusgraph-users@...>
Date: Monday, February 8, 2021 at 2:46 AM
To: <janusgraph-users@...>
Subject: Re: [janusgraph-users] Janusgraph connect with MySQL Storage Backend

 

Hi Madhan,

 

Have you checked out https://github.com/rngcntr/janusbench ? I never used it personally but it looks interesting and might be helpful.

 

Best regards,

Boxuan



On Feb 8, 2021, at 4:04 PM, Madhan Neethiraj <madhan@...> wrote:

 

Hi Marc,

 

Thanks! This is a work-in-progress implementation, and will need to go through more testing - especially to understand the performance and tuning aspects. Once these are done, this feature can be announced via a blog and/or other channels.

 

Are there JanusGraph tests available to cover performance aspects of backend storage implementations? It will be of big help.

 

Thanks,

Madhan

 

From: <janusgraph-users@...> on behalf of <hadoopmarc@...>
Reply-To: <janusgraph-users@...>
Date: Sunday, February 7, 2021 at 3:10 AM
To: <janusgraph-users@...>
Subject: Re: [janusgraph-users] Janusgraph connect with MySQL Storage Backend

 

Hi Madhan

It is exciting news that you have just made available this work under the APL2.0 license!!! Standard RDBMS, though not as scalable as the NoSQL storage backends, might provide an easy start for many future JanusGraph projects because any devops team can have one available in the blink of an eye. Of course, this announcement deserves a more prominent spot than just this outpost of the JanusGraph community. Do you have any plans to announce this in more detail in a future blog post or conference contribution? In particular, it would be interesting to hear about the tuning of postgresql for the JanusGraph workloads (many small requests with a need for small round trip delays).

Best wishes,     Marc 

 


rngcntr
 

Oh nice, I wrote the janusbench tool for myself and didn't expect anyone discover it or even use it. Great to see and thanks for advertising it @Boxuan! ;)